diff --git a/GameScript/bots/bot_generic.lua b/GameScript/bots/bot_generic.lua new file mode 100644 index 0000000000000000000000000000000000000000..24effafe6524f8be3de8ca3d26d6b37a4755e1f8 --- /dev/null +++ b/GameScript/bots/bot_generic.lua @@ -0,0 +1,12 @@ +require(GetScriptDirectory().."/lua_modules/bot_actions") + +local botActionsObject = BotActions:new(nil) + +print("QWERTZUIOP") +print(GetBot():IsHero()) + +function Think() + local cBot = GetBot(); + --DebugDrawCircle(cBot:GetLocation(),100,255,0,0); + botActionsObject:Think(cBot) +end diff --git a/GameScript/bots/hero_selection.lua b/GameScript/bots/hero_selection.lua new file mode 100644 index 0000000000000000000000000000000000000000..d63e3778f98c5c24831fc0eb3afb0b4134571d1d --- /dev/null +++ b/GameScript/bots/hero_selection.lua @@ -0,0 +1,96 @@ +--json = require(GetScriptDirectory().."/lua_modules/json") +json = loadfile(GetScriptDirectory().."/lua_modules/json")() +local direAssigned = false + +local radiantHero = {"","","","",""} +local radiantHeroState = {false,false,false,false,false} + +local direHero = {"","","","",""} +local direHeroState = {false,false,false,false,false} + +local waitForResponseRadiant = true +local waitForResponseDire = true + + +function BuildJsonState() + local returnString = '{"radiant":['.. radiantHero[1] ..','..radiantHero[2]..','..radiantHero[3]..','..radiantHero[4]..','..radiantHero[5]..'],' + returnString = returnString .. '"dire":['.. direHero[1] ..','..direHero[2]..','..direHero[3]..','..direHero[4]..','..direHero[5]..']}' + return returnString +end + + +function Think() + + if ( GetTeam() == TEAM_RADIANT ) + then + + if (waitForResponseRadiant == true) then + waitForResponseRadiant = false + + for i = 1,5,1 do + if(radiantHeroState[i] == false)then + if(radiantHero[i]~="")then + SelectHero( i-1, radiantHero[i]); + print("Hero Radiant : " .. radiantHero[i] .. " assigned to id : " .. (i-1)) + radiantHeroState[i] = true + end + end + end + + local req = CreateHTTPRequest(":4001/selection_radiant") --for local request + req:SetHTTPRequestRawPostBody("application/json", '{"radiant":['.. radiantHero[1] ..','..radiantHero[2]..','..radiantHero[3]..','..radiantHero[4]..','..radiantHero[5]..']}') + req:Send(function(result) + + --Je sais pas pourquoi, mais un \ apparait au bout dun moment + local tmp_json = result['Body']:gsub('\\', '') -- Supprime les \ + local tmp_json = tmp_json:gsub('^"', '') -- Supprime les " generé par la ligne precedente + local tmp_json = tmp_json:gsub('"$', '') + --################################################################ + + local decoded_json = json.decode(tmp_json) + + --print("Radiant => : id " .. decoded_json.id .. " name : " .. decoded_json.name) + + radiantHero[decoded_json.id + 1] = decoded_json.name + + waitForResponseRadiant = true + end) + end + + elseif ( GetTeam() == TEAM_DIRE ) + then + + if (waitForResponseDire == true) then + waitForResponseDire = false + + for i = 1,5,1 do + if(direHeroState[i] == false)then + if(direHero[i]~="")then + SelectHero( i + 4, direHero[i]); + print("Hero Dire: " .. direHero[i] .. " assigned to id : " .. (i + 4)) + + direHeroState[i] = true + end + end + end + + local req = CreateHTTPRequest(":4001/selection_dire") --for local request + req:SetHTTPRequestRawPostBody("application/json", '{"dire":['.. direHero[1] ..','..direHero[2]..','..direHero[3]..','..direHero[4]..','..direHero[5]..']}') + req:Send(function(result) + + --Je sais pas pourquoi, mais un \ apparait au bout dun moment + local tmp_json = result['Body']:gsub('\\', '') -- Supprime les \ + local tmp_json = tmp_json:gsub('^"', '') -- Supprime les " generé par la ligne precedente + local tmp_json = tmp_json:gsub('"$', '') + --################################################################ + + local decoded_json = json.decode(tmp_json) + + direHero[decoded_json.id + 1] = decoded_json.name + waitForResponseDire = true + end) + end + + end + +end \ No newline at end of file diff --git a/GameScript/bots/lua_modules/Queue.lua b/GameScript/bots/lua_modules/Queue.lua new file mode 100644 index 0000000000000000000000000000000000000000..84582e151414cbf54f81bd499fce42ed9459d6b3 --- /dev/null +++ b/GameScript/bots/lua_modules/Queue.lua @@ -0,0 +1,31 @@ +Queue = {} +function Queue:new(0){ + o = o or {} -- create object if user does not provide one + setmetatable(o, self) + self.__index = self + self.first = 0 + self.last = -1 + return o +} + +function Queue:pushright(list,value) + local last = self.last + 1 + self.last = last + self.list[last] = value +end + +function Queue:popright(list) + local last = self.last + +end + + + +function List.popright (list) + local last = list.last + if list.first > last then error("list is empty") end + local value = list[last] + list[last] = nil -- to allow garbage collection + list.last = last - 1 + return value + end \ No newline at end of file diff --git a/GameScript/bots/lua_modules/bot_actions - old.lua b/GameScript/bots/lua_modules/bot_actions - old.lua new file mode 100644 index 0000000000000000000000000000000000000000..2673c507dadecba2e12f15ddf06681becf18aa69 --- /dev/null +++ b/GameScript/bots/lua_modules/bot_actions - old.lua @@ -0,0 +1,130 @@ +local M = {} + +--json = require "json" +json = require(GetScriptDirectory().."/lua_modules/json") + +--M.received_response = true +M.res = '{"action":"default","params":{}}' +M.cmd = nil +M.default_cmd = '{"action":"default","params":{}}' + +M.cmdList = {} + + +M.action = { + ['default'] = function(msg) + return "" + end, + ['debugTxt'] = function(msg) + DebugDrawText(10, 10, msg, 255, 0, 0) + end, + ['moveToLocation'] = function(bot, params) + local nextLocation = Vector(params.x, params.y, params.z); + + DebugDrawCircle(nextLocation,100,255,0,0); + + bot:Action_MoveDirectly(nextLocation); + + --print("MOVEDIRECTLY###########################") + + return "" + end, +} + +--[[ +function M.default_json_values(bot) + + local loc = bot:GetLocation(); + + -------------------------------------------------------------------------------------------------------------- + + local other_json = "{"; + + local unitTable = GetUnitList(UNIT_LIST_ALL); + for key,value in pairs(unitTable) do + local tmp_loc = unitTable[key]:GetLocation(); + + if(IsLocationVisible(tmp_loc)) then + other_json = other_json ..'"' .. unitTable[key]:GetUnitName() .. '": {"x":' .. tostring(tmp_loc.x) .. ',"y":' .. tostring(tmp_loc.y) .. '},'; + end + --print("name: " .. unitTable[key]:GetUnitName() .. " Pos: " .. loc.x .. " ; " .. loc.y) + end + other_json = other_json .. '}' + + + ---------------------------------------------------------------------------------------------------------------- + --print(other_json); + --print("##################################################################################") + --return '{ "loc": {"x":' .. tostring(loc.x) .. ',"y":' .. tostring(loc.y) .. ',"z":' .. tostring(loc.z) .. '}, "other":' .. other_json ..'}' + return '{ "loc": {"x":' .. tostring(loc.x) .. ',"y":' .. tostring(loc.y) .. ',"z":' .. tostring(loc.z) .. '}}' +end +--]] + +function M.BuildJson(bot, received_json) + + --Je sais pas pourquoi, mais un \ apparait au bout dun moment + local tmp_json = received_json:gsub('\\', '') -- Supprime les \ + local tmp_json = tmp_json:gsub('^"', '') -- Supprime les " generé par la ligne precedente + local tmp_json = tmp_json:gsub('"$', '') + --################################################################ + + local decoded_json = json.decode(tmp_json) + + + local ret = M.action[decoded_json.action](bot, decoded_json.params) + + return ret + +end + + + +function M.Think(bot,addr) + + if(M.cmd ~= nil)then + --print("##################################################################") + print(bot:GetPlayerID()) + print(M.cmd) + --print("##################################################################") + + M.res = M.BuildJson(bot,M.cmd) + M.cmd = nil + end + + + --local tmp = table.remove(M.cmdList,1); + --print("##################################################################") + --print(tmp) + --print("##################################################################") + --print(M.cmdList[1]) + + + --if(M.cmdList[1] == nil)then + -- M.res = M.BuildJson(bot,M.default_cmd) + --else + -- M.res = M.BuildJson(bot,table.remove(M.cmdList,1)) + --end + + --if(GetGameState() >= 4)then + -- local req = CreateHTTPRequest(":4001/" .. bot:GetPlayerID()) --for local request + -- req:SetHTTPRequestRawPostBody("application/json", M.res) + -- req:Send(function(result) + -- if(result['StatusCode'] ~= 500)then + -- M.cmd = result['Body'] + -- end + -- end) + + --else + local req = CreateHTTPRequest(":4001/".. bot:GetPlayerID()) --for local request + req:SetHTTPRequestRawPostBody("application/json", M.res) + req:Send(function(result) + if(result['StatusCode'] ~= 500)then + M.cmd = result['Body'] + end + end) + --end + + +end + +return M \ No newline at end of file diff --git a/GameScript/bots/lua_modules/bot_actions.lua b/GameScript/bots/lua_modules/bot_actions.lua new file mode 100644 index 0000000000000000000000000000000000000000..5f19b16f89f2d0a1239ef86923848346f1c5bce3 --- /dev/null +++ b/GameScript/bots/lua_modules/bot_actions.lua @@ -0,0 +1,159 @@ +json = require(GetScriptDirectory().."/lua_modules/json") + +--------------------------------------------------------------------------------- +List = {} +function List.new () + return {first = 0, last = -1, id=-1} +end + +function List.pushleft (list, value) + local first = list.first - 1 + list.first = first + list[first] = value +end + +function List.pushright (list, value) + local last = list.last + 1 + list.last = last + list[last] = value +end + +function List.popleft (list) + local first = list.first + if first > list.last then return nil end + local value = list[first] + list[first] = nil -- to allow garbage collection + list.first = first + 1 + return value +end + +function List.popright (list) + local last = list.last + if list.first > last then return nil end + local value = list[last] + list[last] = nil -- to allow garbage collection + list.last = last - 1 + return value +end +--------------------------------------------------------------------------------- + +BotActions = {} +function BotActions:new (o) + o = o or {} -- create object if user does not provide one + setmetatable(o, self) + self.__index = self + + --self.debug = "HEYYYY c'est du debug" + self.res = '{"action":"default","params":{}}' + self.cmd = nil + --self.cmd = '{"action":"default","params":{}}' + + --self.cmdQueue = List.new() + + + --self.default_cmd = '{"action":"default","params":{}}' + + self.tmpNbRequest = 0 + self.nbRequest = 0 + + self.startTime = 0 + + self.tmpCmd = nil + + self.action = {} + self.action['default'] = function(bot, params) + local nextLocation = Vector(params.x, params.y, params.z); + DebugDrawCircle(nextLocation,100,255,0,0); + --bot:Action_MoveDirectly(nextLocation); + + --self.nbRequest = self.nbRequest + 1 --debug + + return "" + end + + self.action['moveToLocation'] = function(bot, params) + --print("Move bot id : " .. bot:GetPlayerID()) + local nextLocation = Vector(params.x, params.y, params.z); + DebugDrawCircle(nextLocation,100,255,0,0); + bot:Action_MoveDirectly(nextLocation); + print(bot:GetPlayerID() .. " Move " .. params.x .. " " .. params.y .. " " .. params.z) + --self.nbRequest = self.nbRequest + 1 --debug + + return "" + end + + self.action['relativeMoveToLocation'] = function(bot, params) + local botLocation = bot:GetLocation() + local nextLocation = Vector(params.x + botLocation.x, params.y + botLocation.y, params.z); + DebugDrawCircle(nextLocation,100,255,0,0); + DebugDrawLine( botLocation, nextLocation,255,0,0) + bot:Action_MoveDirectly(nextLocation); + + --self.nbRequest = self.nbRequest + 1 --debug + + return "" + end + + return o +end + +function BotActions:buildJson(bot, received_json) + local ret = self.action[received_json.action](bot, received_json.params) + self.tmpNbRequest = self.tmpNbRequest + 1 --debug + return ret +end + + +function BotActions:DebugPrint(bot) + print("HEYYYYYYYYY " .. bot:GetPlayerID()) +end + + +-- This array contains the cmdQueue for each hero bot +cmdQueue = {} +cmdQueue[0] = {first = 0, last = -1, id=-1} +cmdQueue[1] = {first = 0, last = -1, id=-1} +cmdQueue[2] = {first = 0, last = -1, id=-1} +cmdQueue[3] = {first = 0, last = -1, id=-1} +cmdQueue[4] = {first = 0, last = -1, id=-1} +cmdQueue[5] = {first = 0, last = -1, id=-1} +cmdQueue[6] = {first = 0, last = -1, id=-1} +cmdQueue[7] = {first = 0, last = -1, id=-1} +cmdQueue[8] = {first = 0, last = -1, id=-1} +cmdQueue[9] = {first = 0, last = -1, id=-1} + + +function BotActions:Think(bot) + self.tmpCmd = List.popleft(cmdQueue[bot:GetPlayerID()]) + if(self.tmpCmd ~= nil)then + --print(bot:GetPlayerID() .. " : " .. self.tmpCmd) + self.res = self:buildJson(bot,self.tmpCmd) + end + + local req = CreateHTTPRequest(":4001/".. bot:GetPlayerID()) --for local request + req:SetHTTPRequestRawPostBody("application/json", self.res) + req:Send(function(result) + if(result['StatusCode'] ~= 500)then + + local tmp_rcvd_json = result['Body'] + + --Je sais pas pourquoi, mais un \ apparait au bout dun moment + local tmp_json = tmp_rcvd_json:gsub('\\', '') -- Supprime les \ + local tmp_json = tmp_json:gsub('^"', '') -- Supprime les " generé par la ligne precedente + local tmp_json = tmp_json:gsub('"$', '') + --################################################################ + + local decoded_json = json.decode(tmp_json) + List.pushleft(cmdQueue[decoded_json.botId],decoded_json) + + + --call the json parser and push the cmd if theres no error + --TODO Voir si c'est rapide ou pas + --if pcall(function () local decoded_json = json.decode(tmp_json) end) then + -- List.pushleft(cmdQueue[decoded_json.botId],decoded_json) + --end + + + end + end) +end diff --git a/GameScript/bots/lua_modules/json.lua b/GameScript/bots/lua_modules/json.lua new file mode 100644 index 0000000000000000000000000000000000000000..a3d7530a6a64f896589ae8e7fec5d25078f79a7a --- /dev/null +++ b/GameScript/bots/lua_modules/json.lua @@ -0,0 +1,400 @@ +-- +-- json.lua +-- +-- Copyright (c) 2018 rxi +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy of +-- this software and associated documentation files (the "Software"), to deal in +-- the Software without restriction, including without limitation the rights to +-- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +-- of the Software, and to permit persons to whom the Software is furnished to do +-- so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +-- + +local json = { _version = "0.1.1" } + +------------------------------------------------------------------------------- +-- Encode +------------------------------------------------------------------------------- + +local encode + +local escape_char_map = { + [ "\\" ] = "\\\\", + [ "\"" ] = "\\\"", + [ "\b" ] = "\\b", + [ "\f" ] = "\\f", + [ "\n" ] = "\\n", + [ "\r" ] = "\\r", + [ "\t" ] = "\\t", +} + +local escape_char_map_inv = { [ "\\/" ] = "/" } +for k, v in pairs(escape_char_map) do + escape_char_map_inv[v] = k +end + + +local function escape_char(c) + return escape_char_map[c] or string.format("\\u%04x", c:byte()) +end + + +local function encode_nil(val) + return "null" +end + + +local function encode_table(val, stack) + local res = {} + stack = stack or {} + + -- Circular reference? + if stack[val] then error("circular reference") end + + stack[val] = true + + if val[1] ~= nil or next(val) == nil then + -- Treat as array -- check keys are valid and it is not sparse + local n = 0 + for k in pairs(val) do + if type(k) ~= "number" then + error("invalid table: mixed or invalid key types") + end + n = n + 1 + end + if n ~= #val then + error("invalid table: sparse array") + end + -- Encode + for i, v in ipairs(val) do + table.insert(res, encode(v, stack)) + end + stack[val] = nil + return "[" .. table.concat(res, ",") .. "]" + + else + -- Treat as an object + for k, v in pairs(val) do + if type(k) ~= "string" then + error("invalid table: mixed or invalid key types") + end + table.insert(res, encode(k, stack) .. ":" .. encode(v, stack)) + end + stack[val] = nil + return "{" .. table.concat(res, ",") .. "}" + end +end + + +local function encode_string(val) + return '"' .. val:gsub('[%z\1-\31\\"]', escape_char) .. '"' +end + + +local function encode_number(val) + -- Check for NaN, -inf and inf + if val ~= val or val <= -math.huge or val >= math.huge then + error("unexpected number value '" .. tostring(val) .. "'") + end + return string.format("%.14g", val) +end + + +local type_func_map = { + [ "nil" ] = encode_nil, + [ "table" ] = encode_table, + [ "string" ] = encode_string, + [ "number" ] = encode_number, + [ "boolean" ] = tostring, +} + + +encode = function(val, stack) + local t = type(val) + local f = type_func_map[t] + if f then + return f(val, stack) + end + error("unexpected type '" .. t .. "'") +end + + +function json.encode(val) + return ( encode(val) ) +end + + +------------------------------------------------------------------------------- +-- Decode +------------------------------------------------------------------------------- + +local parse + +local function create_set(...) + local res = {} + for i = 1, select("#", ...) do + res[ select(i, ...) ] = true + end + return res +end + +local space_chars = create_set(" ", "\t", "\r", "\n") +local delim_chars = create_set(" ", "\t", "\r", "\n", "]", "}", ",") +local escape_chars = create_set("\\", "/", '"', "b", "f", "n", "r", "t", "u") +local literals = create_set("true", "false", "null") + +local literal_map = { + [ "true" ] = true, + [ "false" ] = false, + [ "null" ] = nil, +} + + +local function next_char(str, idx, set, negate) + for i = idx, #str do + if set[str:sub(i, i)] ~= negate then + return i + end + end + return #str + 1 +end + + +local function decode_error(str, idx, msg) + local line_count = 1 + local col_count = 1 + for i = 1, idx - 1 do + col_count = col_count + 1 + if str:sub(i, i) == "\n" then + line_count = line_count + 1 + col_count = 1 + end + end + error( string.format("%s at line %d col %d", msg, line_count, col_count) ) +end + + +local function codepoint_to_utf8(n) + -- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=iws-appendixa + local f = math.floor + if n <= 0x7f then + return string.char(n) + elseif n <= 0x7ff then + return string.char(f(n / 64) + 192, n % 64 + 128) + elseif n <= 0xffff then + return string.char(f(n / 4096) + 224, f(n % 4096 / 64) + 128, n % 64 + 128) + elseif n <= 0x10ffff then + return string.char(f(n / 262144) + 240, f(n % 262144 / 4096) + 128, + f(n % 4096 / 64) + 128, n % 64 + 128) + end + error( string.format("invalid unicode codepoint '%x'", n) ) +end + + +local function parse_unicode_escape(s) + local n1 = tonumber( s:sub(3, 6), 16 ) + local n2 = tonumber( s:sub(9, 12), 16 ) + -- Surrogate pair? + if n2 then + return codepoint_to_utf8((n1 - 0xd800) * 0x400 + (n2 - 0xdc00) + 0x10000) + else + return codepoint_to_utf8(n1) + end +end + + +local function parse_string(str, i) + local has_unicode_escape = false + local has_surrogate_escape = false + local has_escape = false + local last + for j = i + 1, #str do + local x = str:byte(j) + + if x < 32 then + decode_error(str, j, "control character in string") + end + + if last == 92 then -- "\\" (escape char) + if x == 117 then -- "u" (unicode escape sequence) + local hex = str:sub(j + 1, j + 5) + if not hex:find("%x%x%x%x") then + decode_error(str, j, "invalid unicode escape in string") + end + if hex:find("^[dD][89aAbB]") then + has_surrogate_escape = true + else + has_unicode_escape = true + end + else + local c = string.char(x) + if not escape_chars[c] then + decode_error(str, j, "invalid escape char '" .. c .. "' in string") + end + has_escape = true + end + last = nil + + elseif x == 34 then -- '"' (end of string) + local s = str:sub(i + 1, j - 1) + if has_surrogate_escape then + s = s:gsub("\\u[dD][89aAbB]..\\u....", parse_unicode_escape) + end + if has_unicode_escape then + s = s:gsub("\\u....", parse_unicode_escape) + end + if has_escape then + s = s:gsub("\\.", escape_char_map_inv) + end + return s, j + 1 + + else + last = x + end + end + decode_error(str, i, "expected closing quote for string") +end + + +local function parse_number(str, i) + local x = next_char(str, i, delim_chars) + local s = str:sub(i, x - 1) + local n = tonumber(s) + if not n then + decode_error(str, i, "invalid number '" .. s .. "'") + end + return n, x +end + + +local function parse_literal(str, i) + local x = next_char(str, i, delim_chars) + local word = str:sub(i, x - 1) + if not literals[word] then + decode_error(str, i, "invalid literal '" .. word .. "'") + end + return literal_map[word], x +end + + +local function parse_array(str, i) + local res = {} + local n = 1 + i = i + 1 + while 1 do + local x + i = next_char(str, i, space_chars, true) + -- Empty / end of array? + if str:sub(i, i) == "]" then + i = i + 1 + break + end + -- Read token + x, i = parse(str, i) + res[n] = x + n = n + 1 + -- Next token + i = next_char(str, i, space_chars, true) + local chr = str:sub(i, i) + i = i + 1 + if chr == "]" then break end + if chr ~= "," then decode_error(str, i, "expected ']' or ','") end + end + return res, i +end + + +local function parse_object(str, i) + local res = {} + i = i + 1 + while 1 do + local key, val + i = next_char(str, i, space_chars, true) + -- Empty / end of object? + if str:sub(i, i) == "}" then + i = i + 1 + break + end + -- Read key + if str:sub(i, i) ~= '"' then + decode_error(str, i, "expected string for key") + end + key, i = parse(str, i) + -- Read ':' delimiter + i = next_char(str, i, space_chars, true) + if str:sub(i, i) ~= ":" then + decode_error(str, i, "expected ':' after key") + end + i = next_char(str, i + 1, space_chars, true) + -- Read value + val, i = parse(str, i) + -- Set + res[key] = val + -- Next token + i = next_char(str, i, space_chars, true) + local chr = str:sub(i, i) + i = i + 1 + if chr == "}" then break end + if chr ~= "," then decode_error(str, i, "expected '}' or ','") end + end + return res, i +end + + +local char_func_map = { + [ '"' ] = parse_string, + [ "0" ] = parse_number, + [ "1" ] = parse_number, + [ "2" ] = parse_number, + [ "3" ] = parse_number, + [ "4" ] = parse_number, + [ "5" ] = parse_number, + [ "6" ] = parse_number, + [ "7" ] = parse_number, + [ "8" ] = parse_number, + [ "9" ] = parse_number, + [ "-" ] = parse_number, + [ "t" ] = parse_literal, + [ "f" ] = parse_literal, + [ "n" ] = parse_literal, + [ "[" ] = parse_array, + [ "{" ] = parse_object, +} + + +parse = function(str, idx) + local chr = str:sub(idx, idx) + local f = char_func_map[chr] + if f then + return f(str, idx) + end + decode_error(str, idx, "unexpected character '" .. chr .. "'") +end + + +function json.decode(str) + if type(str) ~= "string" then + error("expected argument of type string, got " .. type(str)) + end + local res, idx = parse(str, next_char(str, 1, space_chars, true)) + idx = next_char(str, idx, space_chars, true) + if idx <= #str then + decode_error(str, idx, "trailing garbage") + end + return res +end + + +return json diff --git a/Interface/.idea/.name b/Interface/.idea/.name new file mode 100644 index 0000000000000000000000000000000000000000..54217d73975a5519df8803238a4d1768bee594ca --- /dev/null +++ b/Interface/.idea/.name @@ -0,0 +1 @@ +GameInteraction \ No newline at end of file diff --git a/Interface/.idea/compiler.xml b/Interface/.idea/compiler.xml new file mode 100644 index 0000000000000000000000000000000000000000..f67530458d5778f06b90b1045239914ad1a64660 --- /dev/null +++ b/Interface/.idea/compiler.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="CompilerConfiguration"> + <annotationProcessing> + <profile name="Maven default annotation processors profile" enabled="true"> + <sourceOutputDir name="target/generated-sources/annotations" /> + <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> + <outputRelativeToContentRoot value="true" /> + <module name="GameInteraction" /> + </profile> + </annotationProcessing> + <bytecodeTargetLevel> + <module name="GameInteraction" target="8" /> + </bytecodeTargetLevel> + </component> +</project> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml b/Interface/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml new file mode 100644 index 0000000000000000000000000000000000000000..06441f49ebe642808bfc04cc97d5ee00265991b0 --- /dev/null +++ b/Interface/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.0"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_8.xml b/Interface/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_8.xml new file mode 100644 index 0000000000000000000000000000000000000000..2c9ac2a2bc6799feebced01a2280933b7fe3991d --- /dev/null +++ b/Interface/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_8.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.8"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-core/2.9.8/jackson-core-2.9.8.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-core/2.9.8/jackson-core-2.9.8-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-core/2.9.8/jackson-core-2.9.8-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_8.xml b/Interface/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_8.xml new file mode 100644 index 0000000000000000000000000000000000000000..c8ac135f179abd44b8abc479c86fa93457849e8b --- /dev/null +++ b/Interface/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_8.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.8"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-databind/2.9.8/jackson-databind-2.9.8.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-databind/2.9.8/jackson-databind-2.9.8-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/com/fasterxml/jackson/core/jackson-databind/2.9.8/jackson-databind-2.9.8-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__com_google_android_annotations_4_1_1_4.xml b/Interface/.idea/libraries/Maven__com_google_android_annotations_4_1_1_4.xml new file mode 100644 index 0000000000000000000000000000000000000000..4a486c3f60fe9e1875efb8499109a06418601d69 --- /dev/null +++ b/Interface/.idea/libraries/Maven__com_google_android_annotations_4_1_1_4.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: com.google.android:annotations:4.1.1.4"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__com_google_api_grpc_proto_google_common_protos_1_12_0.xml b/Interface/.idea/libraries/Maven__com_google_api_grpc_proto_google_common_protos_1_12_0.xml new file mode 100644 index 0000000000000000000000000000000000000000..b194f7343b4fc31dbdb3ac6484140268720cd5b3 --- /dev/null +++ b/Interface/.idea/libraries/Maven__com_google_api_grpc_proto_google_common_protos_1_12_0.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: com.google.api.grpc:proto-google-common-protos:1.12.0"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml b/Interface/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..1c380d0bd2fc132ee231d3e854e178a2fe182aee --- /dev/null +++ b/Interface/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: com.google.code.findbugs:jsr305:3.0.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__com_google_code_gson_gson_2_7.xml b/Interface/.idea/libraries/Maven__com_google_code_gson_gson_2_7.xml new file mode 100644 index 0000000000000000000000000000000000000000..59098ba299c975dbd243fbb43eba0c47b2db02ec --- /dev/null +++ b/Interface/.idea/libraries/Maven__com_google_code_gson_gson_2_7.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: com.google.code.gson:gson:2.7"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/code/gson/gson/2.7/gson-2.7.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/com/google/code/gson/gson/2.7/gson-2.7-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/code/gson/gson/2.7/gson-2.7-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_3_2.xml b/Interface/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_3_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..9d2cfbcd7c069e5bcd0d902fb1030174cf38a6c8 --- /dev/null +++ b/Interface/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_3_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: com.google.errorprone:error_prone_annotations:2.3.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/errorprone/error_prone_annotations/2.3.2/error_prone_annotations-2.3.2.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/com/google/errorprone/error_prone_annotations/2.3.2/error_prone_annotations-2.3.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/errorprone/error_prone_annotations/2.3.2/error_prone_annotations-2.3.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__com_google_guava_guava_26_0_android.xml b/Interface/.idea/libraries/Maven__com_google_guava_guava_26_0_android.xml new file mode 100644 index 0000000000000000000000000000000000000000..1b71fe2fe0f172f329da206b16e687231245c884 --- /dev/null +++ b/Interface/.idea/libraries/Maven__com_google_guava_guava_26_0_android.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: com.google.guava:guava:26.0-android"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/26.0-android/guava-26.0-android.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/26.0-android/guava-26.0-android-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/guava/guava/26.0-android/guava-26.0-android-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_1.xml b/Interface/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_1.xml new file mode 100644 index 0000000000000000000000000000000000000000..c06f9997b35533eda13c5d2a0e2763ff6729a140 --- /dev/null +++ b/Interface/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_1.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: com.google.j2objc:j2objc-annotations:1.1"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__com_google_protobuf_protobuf_java_3_7_1.xml b/Interface/.idea/libraries/Maven__com_google_protobuf_protobuf_java_3_7_1.xml new file mode 100644 index 0000000000000000000000000000000000000000..06e923041e76ff744219c26bf1a286f5392351d6 --- /dev/null +++ b/Interface/.idea/libraries/Maven__com_google_protobuf_protobuf_java_3_7_1.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: com.google.protobuf:protobuf-java:3.7.1"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/protobuf/protobuf-java/3.7.1/protobuf-java-3.7.1.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/com/google/protobuf/protobuf-java/3.7.1/protobuf-java-3.7.1-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/protobuf/protobuf-java/3.7.1/protobuf-java-3.7.1-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__com_google_protobuf_protobuf_java_util_3_7_1.xml b/Interface/.idea/libraries/Maven__com_google_protobuf_protobuf_java_util_3_7_1.xml new file mode 100644 index 0000000000000000000000000000000000000000..fc87b5b65860aa2897a78736bc2f7c0daee18280 --- /dev/null +++ b/Interface/.idea/libraries/Maven__com_google_protobuf_protobuf_java_util_3_7_1.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: com.google.protobuf:protobuf-java-util:3.7.1"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/protobuf/protobuf-java-util/3.7.1/protobuf-java-util-3.7.1.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/com/google/protobuf/protobuf-java-util/3.7.1/protobuf-java-util-3.7.1-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/protobuf/protobuf-java-util/3.7.1/protobuf-java-util-3.7.1-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__com_google_re2j_re2j_1_2.xml b/Interface/.idea/libraries/Maven__com_google_re2j_re2j_1_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..7079c61ee64e77a0b56bb7a096cfe067f36222cc --- /dev/null +++ b/Interface/.idea/libraries/Maven__com_google_re2j_re2j_1_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: com.google.re2j:re2j:1.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/re2j/re2j/1.2/re2j-1.2.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/com/google/re2j/re2j/1.2/re2j-1.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/com/google/re2j/re2j/1.2/re2j-1.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__io_grpc_grpc_context_1_20_0.xml b/Interface/.idea/libraries/Maven__io_grpc_grpc_context_1_20_0.xml new file mode 100644 index 0000000000000000000000000000000000000000..1ccae7efd4d62009bedc94d5018c1feda7f4fd05 --- /dev/null +++ b/Interface/.idea/libraries/Maven__io_grpc_grpc_context_1_20_0.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: io.grpc:grpc-context:1.20.0"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-context/1.20.0/grpc-context-1.20.0.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-context/1.20.0/grpc-context-1.20.0-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-context/1.20.0/grpc-context-1.20.0-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__io_grpc_grpc_core_1_20_0.xml b/Interface/.idea/libraries/Maven__io_grpc_grpc_core_1_20_0.xml new file mode 100644 index 0000000000000000000000000000000000000000..ade5c6c4b79ba4a77119b8dbeb9a4d922e59c026 --- /dev/null +++ b/Interface/.idea/libraries/Maven__io_grpc_grpc_core_1_20_0.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: io.grpc:grpc-core:1.20.0"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-core/1.20.0/grpc-core-1.20.0.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-core/1.20.0/grpc-core-1.20.0-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-core/1.20.0/grpc-core-1.20.0-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__io_grpc_grpc_netty_shaded_1_20_0.xml b/Interface/.idea/libraries/Maven__io_grpc_grpc_netty_shaded_1_20_0.xml new file mode 100644 index 0000000000000000000000000000000000000000..f6a7153c82af5836b1c5f18472cfa9e582623c9a --- /dev/null +++ b/Interface/.idea/libraries/Maven__io_grpc_grpc_netty_shaded_1_20_0.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: io.grpc:grpc-netty-shaded:1.20.0"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-netty-shaded/1.20.0/grpc-netty-shaded-1.20.0.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-netty-shaded/1.20.0/grpc-netty-shaded-1.20.0-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-netty-shaded/1.20.0/grpc-netty-shaded-1.20.0-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__io_grpc_grpc_protobuf_1_20_0.xml b/Interface/.idea/libraries/Maven__io_grpc_grpc_protobuf_1_20_0.xml new file mode 100644 index 0000000000000000000000000000000000000000..bbb6d3a1b6e5857d7043bdff48e0507b906a2e13 --- /dev/null +++ b/Interface/.idea/libraries/Maven__io_grpc_grpc_protobuf_1_20_0.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: io.grpc:grpc-protobuf:1.20.0"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-protobuf/1.20.0/grpc-protobuf-1.20.0.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-protobuf/1.20.0/grpc-protobuf-1.20.0-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-protobuf/1.20.0/grpc-protobuf-1.20.0-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__io_grpc_grpc_protobuf_lite_1_20_0.xml b/Interface/.idea/libraries/Maven__io_grpc_grpc_protobuf_lite_1_20_0.xml new file mode 100644 index 0000000000000000000000000000000000000000..03c4e3e9c89c2455506d4fbdb675984e0fe3a283 --- /dev/null +++ b/Interface/.idea/libraries/Maven__io_grpc_grpc_protobuf_lite_1_20_0.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: io.grpc:grpc-protobuf-lite:1.20.0"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-protobuf-lite/1.20.0/grpc-protobuf-lite-1.20.0.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-protobuf-lite/1.20.0/grpc-protobuf-lite-1.20.0-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-protobuf-lite/1.20.0/grpc-protobuf-lite-1.20.0-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__io_grpc_grpc_services_1_20_0.xml b/Interface/.idea/libraries/Maven__io_grpc_grpc_services_1_20_0.xml new file mode 100644 index 0000000000000000000000000000000000000000..4bd89180d886309b1d53d73cc32f566b0e87edc6 --- /dev/null +++ b/Interface/.idea/libraries/Maven__io_grpc_grpc_services_1_20_0.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: io.grpc:grpc-services:1.20.0"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-services/1.20.0/grpc-services-1.20.0.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-services/1.20.0/grpc-services-1.20.0-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-services/1.20.0/grpc-services-1.20.0-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__io_grpc_grpc_stub_1_20_0.xml b/Interface/.idea/libraries/Maven__io_grpc_grpc_stub_1_20_0.xml new file mode 100644 index 0000000000000000000000000000000000000000..ee961ab3b343c3083f0afcdd54963f9ede740503 --- /dev/null +++ b/Interface/.idea/libraries/Maven__io_grpc_grpc_stub_1_20_0.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: io.grpc:grpc-stub:1.20.0"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-stub/1.20.0/grpc-stub-1.20.0.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-stub/1.20.0/grpc-stub-1.20.0-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/io/grpc/grpc-stub/1.20.0/grpc-stub-1.20.0-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__io_javalin_javalin_2_8_0.xml b/Interface/.idea/libraries/Maven__io_javalin_javalin_2_8_0.xml new file mode 100644 index 0000000000000000000000000000000000000000..bbde58d19b5d257e1f6c73c78daed625af323ed0 --- /dev/null +++ b/Interface/.idea/libraries/Maven__io_javalin_javalin_2_8_0.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: io.javalin:javalin:2.8.0"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/io/javalin/javalin/2.8.0/javalin-2.8.0.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/io/javalin/javalin/2.8.0/javalin-2.8.0-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/io/javalin/javalin/2.8.0/javalin-2.8.0-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__io_opencensus_opencensus_api_0_19_2.xml b/Interface/.idea/libraries/Maven__io_opencensus_opencensus_api_0_19_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..dfe227315d2ae0ab7c3b6ffe1d4e1f891ebe7fd9 --- /dev/null +++ b/Interface/.idea/libraries/Maven__io_opencensus_opencensus_api_0_19_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: io.opencensus:opencensus-api:0.19.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/io/opencensus/opencensus-api/0.19.2/opencensus-api-0.19.2.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/io/opencensus/opencensus-api/0.19.2/opencensus-api-0.19.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/io/opencensus/opencensus-api/0.19.2/opencensus-api-0.19.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__io_opencensus_opencensus_contrib_grpc_metrics_0_19_2.xml b/Interface/.idea/libraries/Maven__io_opencensus_opencensus_contrib_grpc_metrics_0_19_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..22c0170ff33dfb0060d609a46083c96ddef57c04 --- /dev/null +++ b/Interface/.idea/libraries/Maven__io_opencensus_opencensus_contrib_grpc_metrics_0_19_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: io.opencensus:opencensus-contrib-grpc-metrics:0.19.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/io/opencensus/opencensus-contrib-grpc-metrics/0.19.2/opencensus-contrib-grpc-metrics-0.19.2.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/io/opencensus/opencensus-contrib-grpc-metrics/0.19.2/opencensus-contrib-grpc-metrics-0.19.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/io/opencensus/opencensus-contrib-grpc-metrics/0.19.2/opencensus-contrib-grpc-metrics-0.19.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__javax_annotation_javax_annotation_api_1_3_2.xml b/Interface/.idea/libraries/Maven__javax_annotation_javax_annotation_api_1_3_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..e74f3ab28b28ba4a1bfd7d0a218614887cb496fc --- /dev/null +++ b/Interface/.idea/libraries/Maven__javax_annotation_javax_annotation_api_1_3_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: javax.annotation:javax.annotation-api:1.3.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml b/Interface/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml new file mode 100644 index 0000000000000000000000000000000000000000..c24f7e308355dba395440a2fcc7bcdcf8976391a --- /dev/null +++ b/Interface/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: javax.servlet:javax.servlet-api:3.1.0"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_checkerframework_checker_compat_qual_2_5_2.xml b/Interface/.idea/libraries/Maven__org_checkerframework_checker_compat_qual_2_5_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..0ff80b3325edad6ff88de236cf99885ee9488d45 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_checkerframework_checker_compat_qual_2_5_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.checkerframework:checker-compat-qual:2.5.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/checkerframework/checker-compat-qual/2.5.2/checker-compat-qual-2.5.2.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/checkerframework/checker-compat-qual/2.5.2/checker-compat-qual-2.5.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/checkerframework/checker-compat-qual/2.5.2/checker-compat-qual-2.5.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_codehaus_mojo_animal_sniffer_annotations_1_17.xml b/Interface/.idea/libraries/Maven__org_codehaus_mojo_animal_sniffer_annotations_1_17.xml new file mode 100644 index 0000000000000000000000000000000000000000..5c3a057c1900d2d92b4298f606026090b7668494 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_codehaus_mojo_animal_sniffer_annotations_1_17.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.codehaus.mojo:animal-sniffer-annotations:1.17"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_client_9_4_15_v20190215.xml b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_client_9_4_15_v20190215.xml new file mode 100644 index 0000000000000000000000000000000000000000..8b0afd96083289d7889449a1469a5ea496a062d6 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_client_9_4_15_v20190215.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.eclipse.jetty:jetty-client:9.4.15.v20190215"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-client/9.4.15.v20190215/jetty-client-9.4.15.v20190215.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-client/9.4.15.v20190215/jetty-client-9.4.15.v20190215-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-client/9.4.15.v20190215/jetty-client-9.4.15.v20190215-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_http_9_4_15_v20190215.xml b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_http_9_4_15_v20190215.xml new file mode 100644 index 0000000000000000000000000000000000000000..41ec48c8869240f04af29d577c0113fdc0bc3726 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_http_9_4_15_v20190215.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.eclipse.jetty:jetty-http:9.4.15.v20190215"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-http/9.4.15.v20190215/jetty-http-9.4.15.v20190215.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-http/9.4.15.v20190215/jetty-http-9.4.15.v20190215-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-http/9.4.15.v20190215/jetty-http-9.4.15.v20190215-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_io_9_4_15_v20190215.xml b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_io_9_4_15_v20190215.xml new file mode 100644 index 0000000000000000000000000000000000000000..9959ea99e20834e12a7f10bece64858eb1e2e759 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_io_9_4_15_v20190215.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.eclipse.jetty:jetty-io:9.4.15.v20190215"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-io/9.4.15.v20190215/jetty-io-9.4.15.v20190215.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-io/9.4.15.v20190215/jetty-io-9.4.15.v20190215-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-io/9.4.15.v20190215/jetty-io-9.4.15.v20190215-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_security_9_4_15_v20190215.xml b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_security_9_4_15_v20190215.xml new file mode 100644 index 0000000000000000000000000000000000000000..aff910eca8bc9fa10d4ebe5634122b7347a31d44 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_security_9_4_15_v20190215.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.eclipse.jetty:jetty-security:9.4.15.v20190215"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-security/9.4.15.v20190215/jetty-security-9.4.15.v20190215.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-security/9.4.15.v20190215/jetty-security-9.4.15.v20190215-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-security/9.4.15.v20190215/jetty-security-9.4.15.v20190215-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_server_9_4_15_v20190215.xml b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_server_9_4_15_v20190215.xml new file mode 100644 index 0000000000000000000000000000000000000000..0da3ad9656346a8e0959cfd6a70e306accdbf0ac --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_server_9_4_15_v20190215.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.eclipse.jetty:jetty-server:9.4.15.v20190215"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-server/9.4.15.v20190215/jetty-server-9.4.15.v20190215.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-server/9.4.15.v20190215/jetty-server-9.4.15.v20190215-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-server/9.4.15.v20190215/jetty-server-9.4.15.v20190215-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_servlet_9_4_15_v20190215.xml b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_servlet_9_4_15_v20190215.xml new file mode 100644 index 0000000000000000000000000000000000000000..2c8cb5456822c7a044a5926e7631229e9b297e00 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_servlet_9_4_15_v20190215.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.eclipse.jetty:jetty-servlet:9.4.15.v20190215"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-servlet/9.4.15.v20190215/jetty-servlet-9.4.15.v20190215.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-servlet/9.4.15.v20190215/jetty-servlet-9.4.15.v20190215-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-servlet/9.4.15.v20190215/jetty-servlet-9.4.15.v20190215-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_4_15_v20190215.xml b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_4_15_v20190215.xml new file mode 100644 index 0000000000000000000000000000000000000000..a5347121a584a7b4fe05334662747558f33b6965 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_4_15_v20190215.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.eclipse.jetty:jetty-util:9.4.15.v20190215"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-util/9.4.15.v20190215/jetty-util-9.4.15.v20190215.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-util/9.4.15.v20190215/jetty-util-9.4.15.v20190215-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-util/9.4.15.v20190215/jetty-util-9.4.15.v20190215-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_webapp_9_4_15_v20190215.xml b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_webapp_9_4_15_v20190215.xml new file mode 100644 index 0000000000000000000000000000000000000000..345a74c6697a050030cecba39550f7554f22ed61 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_webapp_9_4_15_v20190215.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.eclipse.jetty:jetty-webapp:9.4.15.v20190215"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-webapp/9.4.15.v20190215/jetty-webapp-9.4.15.v20190215.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-webapp/9.4.15.v20190215/jetty-webapp-9.4.15.v20190215-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-webapp/9.4.15.v20190215/jetty-webapp-9.4.15.v20190215-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_xml_9_4_15_v20190215.xml b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_xml_9_4_15_v20190215.xml new file mode 100644 index 0000000000000000000000000000000000000000..24cf1e2eb4cd21155ee1ffa73923b8acc3a716ab --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_eclipse_jetty_jetty_xml_9_4_15_v20190215.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.eclipse.jetty:jetty-xml:9.4.15.v20190215"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-xml/9.4.15.v20190215/jetty-xml-9.4.15.v20190215.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-xml/9.4.15.v20190215/jetty-xml-9.4.15.v20190215-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-xml/9.4.15.v20190215/jetty-xml-9.4.15.v20190215-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_api_9_4_15_v20190215.xml b/Interface/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_api_9_4_15_v20190215.xml new file mode 100644 index 0000000000000000000000000000000000000000..5aa9db419ca49221bd045243ca30cf7bcd0f8e54 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_api_9_4_15_v20190215.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.eclipse.jetty.websocket:websocket-api:9.4.15.v20190215"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-api/9.4.15.v20190215/websocket-api-9.4.15.v20190215.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-api/9.4.15.v20190215/websocket-api-9.4.15.v20190215-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-api/9.4.15.v20190215/websocket-api-9.4.15.v20190215-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_client_9_4_15_v20190215.xml b/Interface/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_client_9_4_15_v20190215.xml new file mode 100644 index 0000000000000000000000000000000000000000..bc373cada47bdb5b499a23cd58d0574b7587ed23 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_client_9_4_15_v20190215.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.eclipse.jetty.websocket:websocket-client:9.4.15.v20190215"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-client/9.4.15.v20190215/websocket-client-9.4.15.v20190215.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-client/9.4.15.v20190215/websocket-client-9.4.15.v20190215-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-client/9.4.15.v20190215/websocket-client-9.4.15.v20190215-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_common_9_4_15_v20190215.xml b/Interface/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_common_9_4_15_v20190215.xml new file mode 100644 index 0000000000000000000000000000000000000000..44ae1f45f0e8d704b29b80746ce940837ba32762 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_common_9_4_15_v20190215.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.eclipse.jetty.websocket:websocket-common:9.4.15.v20190215"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-common/9.4.15.v20190215/websocket-common-9.4.15.v20190215.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-common/9.4.15.v20190215/websocket-common-9.4.15.v20190215-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-common/9.4.15.v20190215/websocket-common-9.4.15.v20190215-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_server_9_4_15_v20190215.xml b/Interface/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_server_9_4_15_v20190215.xml new file mode 100644 index 0000000000000000000000000000000000000000..a61154da6c0ce02b34a0407901663f48d1d203bf --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_server_9_4_15_v20190215.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.eclipse.jetty.websocket:websocket-server:9.4.15.v20190215"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-server/9.4.15.v20190215/websocket-server-9.4.15.v20190215.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-server/9.4.15.v20190215/websocket-server-9.4.15.v20190215-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-server/9.4.15.v20190215/websocket-server-9.4.15.v20190215-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_servlet_9_4_15_v20190215.xml b/Interface/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_servlet_9_4_15_v20190215.xml new file mode 100644 index 0000000000000000000000000000000000000000..088fab8e4549934fdce0fadb294180979d270be6 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_servlet_9_4_15_v20190215.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.eclipse.jetty.websocket:websocket-servlet:9.4.15.v20190215"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-servlet/9.4.15.v20190215/websocket-servlet-9.4.15.v20190215.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-servlet/9.4.15.v20190215/websocket-servlet-9.4.15.v20190215-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/websocket/websocket-servlet/9.4.15.v20190215/websocket-servlet-9.4.15.v20190215-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_jetbrains_annotations_13_0.xml b/Interface/.idea/libraries/Maven__org_jetbrains_annotations_13_0.xml new file mode 100644 index 0000000000000000000000000000000000000000..e2c829756d1b49963e7df278f92e164243aebb5e --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_jetbrains_annotations_13_0.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.jetbrains:annotations:13.0"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_2_71.xml b/Interface/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_2_71.xml new file mode 100644 index 0000000000000000000000000000000000000000..8ba847a2bbec30be3502eb9be2e711f8dc85052e --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_2_71.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.jetbrains.kotlin:kotlin-stdlib:1.2.71"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.2.71/kotlin-stdlib-1.2.71.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.2.71/kotlin-stdlib-1.2.71-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.2.71/kotlin-stdlib-1.2.71-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_2_71.xml b/Interface/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_2_71.xml new file mode 100644 index 0000000000000000000000000000000000000000..f01feb7a1d9b00b12eba2657a502ff7d79515862 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_2_71.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.jetbrains.kotlin:kotlin-stdlib-common:1.2.71"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.71/kotlin-stdlib-common-1.2.71.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.71/kotlin-stdlib-common-1.2.71-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.2.71/kotlin-stdlib-common-1.2.71-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_2_71.xml b/Interface/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_2_71.xml new file mode 100644 index 0000000000000000000000000000000000000000..ea05f5410b24c5ae7fcd9c125f972140c5399836 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_2_71.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.71"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.2.71/kotlin-stdlib-jdk7-1.2.71.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.2.71/kotlin-stdlib-jdk7-1.2.71-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.2.71/kotlin-stdlib-jdk7-1.2.71-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_2_71.xml b/Interface/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_2_71.xml new file mode 100644 index 0000000000000000000000000000000000000000..d55083dbc6efe57c8034d60bc2e2a85a37d87f57 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_2_71.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.71"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.2.71/kotlin-stdlib-jdk8-1.2.71.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.2.71/kotlin-stdlib-jdk8-1.2.71-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.2.71/kotlin-stdlib-jdk8-1.2.71-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_json_json_20180813.xml b/Interface/.idea/libraries/Maven__org_json_json_20180813.xml new file mode 100644 index 0000000000000000000000000000000000000000..01c0a2ee59fd6432be5558571393be332e48420f --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_json_json_20180813.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.json:json:20180813"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/json/json/20180813/json-20180813.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/json/json/20180813/json-20180813-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/json/json/20180813/json-20180813-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_26.xml b/Interface/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_26.xml new file mode 100644 index 0000000000000000000000000000000000000000..6545f77e8569c0a331bdeeda1c607a57cd003d94 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_26.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.slf4j:slf4j-api:1.7.26"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_26.xml b/Interface/.idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_26.xml new file mode 100644 index 0000000000000000000000000000000000000000..b1d2a5f130a5c0cb944fcaf7381560a46adf25a5 --- /dev/null +++ b/Interface/.idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_26.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.slf4j:slf4j-simple:1.7.26"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-simple/1.7.26/slf4j-simple-1.7.26.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-simple/1.7.26/slf4j-simple-1.7.26-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/slf4j/slf4j-simple/1.7.26/slf4j-simple-1.7.26-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/Interface/.idea/misc.xml b/Interface/.idea/misc.xml new file mode 100644 index 0000000000000000000000000000000000000000..273b71e7d430b3a1eaa5790e2d1bebf35affccca --- /dev/null +++ b/Interface/.idea/misc.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="MavenProjectsManager"> + <option name="originalFiles"> + <list> + <option value="$PROJECT_DIR$/pom.xml" /> + </list> + </option> + </component> + <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK"> + <output url="file://$PROJECT_DIR$/classes" /> + </component> +</project> \ No newline at end of file diff --git a/Interface/.idea/modules.xml b/Interface/.idea/modules.xml new file mode 100644 index 0000000000000000000000000000000000000000..4f4a97368071475c9d6af70e0a12787a5be966f3 --- /dev/null +++ b/Interface/.idea/modules.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectModuleManager"> + <modules> + <module fileurl="file://$PROJECT_DIR$/GameInteraction.iml" filepath="$PROJECT_DIR$/GameInteraction.iml" /> + </modules> + </component> +</project> \ No newline at end of file diff --git a/Interface/.idea/uiDesigner.xml b/Interface/.idea/uiDesigner.xml new file mode 100644 index 0000000000000000000000000000000000000000..e96534fb27b68192f27f985d3879e173ec77adb8 --- /dev/null +++ b/Interface/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="Palette2"> + <group name="Swing"> + <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" /> + </item> + <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" /> + </item> + <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" /> + </item> + <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true"> + <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" /> + </item> + <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" /> + <initial-values> + <property name="text" value="Button" /> + </initial-values> + </item> + <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> + <initial-values> + <property name="text" value="RadioButton" /> + </initial-values> + </item> + <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> + <initial-values> + <property name="text" value="CheckBox" /> + </initial-values> + </item> + <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" /> + <initial-values> + <property name="text" value="Label" /> + </initial-values> + </item> + <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> + <preferred-size width="150" height="-1" /> + </default-constraints> + </item> + <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> + <preferred-size width="150" height="-1" /> + </default-constraints> + </item> + <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> + <preferred-size width="150" height="-1" /> + </default-constraints> + </item> + <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" /> + </item> + <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> + <preferred-size width="200" height="200" /> + </default-constraints> + </item> + <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> + <preferred-size width="200" height="200" /> + </default-constraints> + </item> + <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> + </item> + <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> + </item> + <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" /> + </item> + <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" /> + </item> + <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1"> + <preferred-size width="-1" height="20" /> + </default-constraints> + </item> + <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" /> + </item> + <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" /> + </item> + </group> + </component> +</project> \ No newline at end of file diff --git a/Interface/.idea/vcs.xml b/Interface/.idea/vcs.xml new file mode 100644 index 0000000000000000000000000000000000000000..4fce1d86b49521afe1cee4ed1c13b6396ebbc6f3 --- /dev/null +++ b/Interface/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="$PROJECT_DIR$/../../../.." vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/Interface/.idea/workspace.xml b/Interface/.idea/workspace.xml new file mode 100644 index 0000000000000000000000000000000000000000..46d5c97396f8ea85ebd82d558d78af0cfeccbcc7 --- /dev/null +++ b/Interface/.idea/workspace.xml @@ -0,0 +1,891 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ChangeListManager"> + <list default="true" id="6339a7e0-bd36-4acb-b9b5-4a27798b0b7d" name="Default Changelist" comment=""> + <change beforePath="$PROJECT_DIR$/src/main/proto/OutsideCommunication.proto" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/proto/OutsideCommunication.proto" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/../../../../Python_protobuf/new 1.c" beforeDir="false" /> + </list> + <ignored path="$PROJECT_DIR$/classes/" /> + <ignored path="$PROJECT_DIR$/target/" /> + <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> + <option name="SHOW_DIALOG" value="false" /> + <option name="HIGHLIGHT_CONFLICTS" value="true" /> + <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> + <option name="LAST_RESOLUTION" value="IGNORE" /> + </component> + <component name="DefaultGradleProjectSettings"> + <option name="isMigrated" value="true" /> + </component> + <component name="FileEditorManager"> + <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> + <file pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/DotaFunctions.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="330"> + <caret line="22" column="5" selection-start-line="22" selection-start-column="5" selection-end-line="22" selection-end-column="5" /> + </state> + </provider> + </entry> + </file> + <file pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/GetInfo.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="450"> + <caret line="30" column="61" selection-start-line="30" selection-start-column="61" selection-end-line="30" selection-end-column="61" /> + </state> + </provider> + </entry> + </file> + <file pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/Main.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="150"> + <caret line="11" selection-start-line="11" selection-end-line="11" /> + </state> + </provider> + </entry> + </file> + <file pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/RedirectClientObject.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="255"> + <caret line="22" column="30" selection-start-line="22" selection-start-column="30" selection-end-line="22" selection-end-column="30" /> + </state> + </provider> + </entry> + </file> + <file pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/Globals.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="750"> + <caret line="55" selection-start-line="55" selection-end-line="55" /> + </state> + </provider> + </entry> + </file> + <file pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/proto/OutsideCommunication.proto"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="795"> + <caret line="53" selection-start-line="53" selection-end-line="67" selection-end-column="1" /> + </state> + </provider> + </entry> + </file> + <file pinned="false" current-in-tab="true"> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/ClientCommunicationsInstructionsService.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="300"> + <caret line="20" selection-start-line="20" selection-end-line="20" /> + </state> + </provider> + </entry> + </file> + <file pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/Webserver.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="2235"> + <caret line="156" column="10" selection-start-line="156" selection-start-column="10" selection-end-line="156" selection-end-column="10" /> + </state> + </provider> + </entry> + </file> + <file pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/ServerFunctions.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="645"> + <caret line="43" column="21" selection-start-line="43" selection-start-column="21" selection-end-line="43" selection-end-column="21" /> + </state> + </provider> + </entry> + </file> + </leaf> + </component> + <component name="FileTemplateManagerImpl"> + <option name="RECENT_TEMPLATES"> + <list> + <option value="Class" /> + </list> + </option> + </component> + <component name="FindInProjectRecents"> + <findStrings> + <find>proto</find> + <find>protoc</find> + <find>plugin</find> + <find>JSOB</find> + <find>players_</find> + <find>queue</find> + <find>poll</find> + <find>clientRe</find> + </findStrings> + <dirStrings> + <dir>$PROJECT_DIR$/src/main/java/OKAGG</dir> + </dirStrings> + </component> + <component name="Git.Settings"> + <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/../../../.." /> + </component> + <component name="IdeDocumentHistory"> + <option name="CHANGED_PATHS"> + <list> + <option value="$PROJECT_DIR$/../../../../../steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/Main.java" /> + <option value="$USER_HOME$/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/191.7141.44.vmoptions" /> + <option value="$PROJECT_DIR$/pom.xml" /> + <option value="$PROJECT_DIR$/../../../../../steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/Webserver.java" /> + <option value="$PROJECT_DIR$/../../../../../steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/ClientCommunicationsService.java" /> + <option value="$APPLICATION_CONFIG_DIR$/idea.properties" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/ClientCommunicationsService.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/ClientCommunicationsInstructions.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/ClientSocketConnection.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/ClientSocketRadiantConnection.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/DireWorldstate.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/RadiantWorldstate.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/ClientSocketDireConnection.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/ServerManagmentService.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/ClientSocketServerDire.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/ClientSocketServerRadiant.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/WorldstateRadiant.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/WorldstateDire.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/WorldState.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/ClientCommunications.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/GetInfo.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/MyFrame.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/ClientCommunicationsValuesService.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/RedirectClientObject.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/Util.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/ClientSocketServer.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/Globals.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/ClientCommunicationsInstructionsService.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/ServerFunctions.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/Webserver.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/DotaFunctions.java" /> + <option value="$PROJECT_DIR$/src/main/java/OKAGG/Main.java" /> + <option value="$PROJECT_DIR$/src/main/proto/OutsideCommunication.proto" /> + </list> + </option> + </component> + <component name="MavenImportPreferences"> + <option name="importingSettings"> + <MavenImportingSettings> + <option name="importAutomatically" value="true" /> + </MavenImportingSettings> + </option> + </component> + <component name="MavenProjectNavigator"> + <treeState> + <expand> + <path> + <item name="" type="16c1761:MavenProjectsStructure$RootNode" /> + <item name="GameInteraction" type="9519ce18:MavenProjectsStructure$ProjectNode" /> + </path> + <path> + <item name="" type="16c1761:MavenProjectsStructure$RootNode" /> + <item name="GameInteraction" type="9519ce18:MavenProjectsStructure$ProjectNode" /> + <item name="Lifecycle" type="58874e2:MavenProjectsStructure$LifecycleNode" /> + </path> + </expand> + <select /> + </treeState> + </component> + <component name="ProjectFrameBounds" extendedState="1"> + <option name="x" value="161" /> + <option name="y" value="579" /> + <option name="width" value="2087" /> + <option name="height" value="840" /> + </component> + <component name="ProjectLevelVcsManager" settingsEditedManually="true"> + <ConfirmationsSetting value="1" id="Add" /> + </component> + <component name="ProjectView"> + <navigator proportions="" version="1"> + <foldersAlwaysOnTop value="true" /> + </navigator> + <panes> + <pane id="ProjectPane"> + <subPane> + <expand> + <path> + <item name="GameInteraction" type="b2602c69:ProjectViewProjectNode" /> + <item name="Server" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="GameInteraction" type="b2602c69:ProjectViewProjectNode" /> + <item name="Server" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="GameInteraction" type="b2602c69:ProjectViewProjectNode" /> + <item name="Server" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="GameInteraction" type="b2602c69:ProjectViewProjectNode" /> + <item name="Server" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="bat_scripts" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="GameInteraction" type="b2602c69:ProjectViewProjectNode" /> + <item name="Server" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="GameInteraction" type="b2602c69:ProjectViewProjectNode" /> + <item name="Server" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="java" type="462c0819:PsiDirectoryNode" /> + <item name="OKAGG" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="GameInteraction" type="b2602c69:ProjectViewProjectNode" /> + <item name="Server" type="462c0819:PsiDirectoryNode" /> + <item name="src" type="462c0819:PsiDirectoryNode" /> + <item name="main" type="462c0819:PsiDirectoryNode" /> + <item name="proto" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="GameInteraction" type="b2602c69:ProjectViewProjectNode" /> + <item name="Server" type="462c0819:PsiDirectoryNode" /> + <item name="target" type="462c0819:PsiDirectoryNode" /> + </path> + </expand> + <select /> + </subPane> + </pane> + <pane id="PackagesPane" /> + <pane id="Scope" /> + </panes> + </component> + <component name="PropertiesComponent"> + <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" /> + <property name="WebServerToolWindowFactoryState" value="false" /> + <property name="aspect.path.notification.shown" value="true" /> + <property name="last_opened_file_path" value="$PROJECT_DIR$" /> + <property name="nodejs_package_manager_path" value="npm" /> + <property name="project.structure.last.edited" value="Project" /> + <property name="project.structure.proportion" value="0.15" /> + <property name="project.structure.side.proportion" value="0.2" /> + <property name="restartRequiresConfirmation" value="false" /> + <property name="settings.editor.selected.configurable" value="AndroidSdkUpdater" /> + </component> + <component name="RecentsManager"> + <key name="CopyClassDialog.RECENTS_KEY"> + <recent name="OKAGG" /> + </key> + <key name="MoveFile.RECENT_KEYS"> + <recent name="$PROJECT_DIR$/src/main/trash" /> + </key> + </component> + <component name="RunDashboard"> + <option name="ruleStates"> + <list> + <RuleState> + <option name="name" value="ConfigurationTypeDashboardGroupingRule" /> + </RuleState> + <RuleState> + <option name="name" value="StatusDashboardGroupingRule" /> + </RuleState> + </list> + </option> + </component> + <component name="RunManager" selected="Application.Main"> + <configuration name="Main" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true"> + <option name="MAIN_CLASS_NAME" value="OKAGG.Main" /> + <module name="GameInteraction" /> + <extension name="coverage"> + <pattern> + <option name="PATTERN" value="OKAGG.*" /> + <option name="ENABLED" value="true" /> + </pattern> + </extension> + <method v="2"> + <option name="Make" enabled="true" /> + </method> + </configuration> + <configuration name="GameInteraction-1.0-SNAPSHOT.jar" type="JarApplication" temporary="true"> + <option name="JAR_PATH" value="$PROJECT_DIR$/target/GameInteraction-1.0-SNAPSHOT.jar" /> + <method v="2" /> + </configuration> + <recent_temporary> + <list> + <item itemvalue="Application.Main" /> + <item itemvalue="JAR Application.GameInteraction-1.0-SNAPSHOT.jar" /> + </list> + </recent_temporary> + </component> + <component name="SvnConfiguration"> + <configuration /> + </component> + <component name="TaskManager"> + <task active="true" id="Default" summary="Default task"> + <changelist id="6339a7e0-bd36-4acb-b9b5-4a27798b0b7d" name="Default Changelist" comment="" /> + <created>1558022977251</created> + <option name="number" value="Default" /> + <option name="presentableId" value="Default" /> + <updated>1558022977251</updated> + <workItem from="1558022979728" duration="105000" /> + <workItem from="1558023196258" duration="872000" /> + <workItem from="1558024231920" duration="259000" /> + <workItem from="1558024555069" duration="227000" /> + <workItem from="1558024795548" duration="622000" /> + <workItem from="1558025430063" duration="169000" /> + <workItem from="1558025647161" duration="197000" /> + <workItem from="1558025857796" duration="408000" /> + <workItem from="1558026277912" duration="407000" /> + <workItem from="1558076537581" duration="3957000" /> + <workItem from="1558340422315" duration="3355000" /> + <workItem from="1558439535636" duration="1963000" /> + <workItem from="1558442977351" duration="6040000" /> + <workItem from="1558449447206" duration="3470000" /> + <workItem from="1558508187728" duration="18917000" /> + <workItem from="1558594466430" duration="14884000" /> + <workItem from="1558682952928" duration="17968000" /> + <workItem from="1558940151649" duration="10816000" /> + <workItem from="1558967115639" duration="1929000" /> + <workItem from="1559026949802" duration="11745000" /> + <workItem from="1559045901623" duration="7902000" /> + <workItem from="1559112743613" duration="9656000" /> + <workItem from="1559132696221" duration="7917000" /> + <workItem from="1559203131005" duration="29000" /> + <workItem from="1559285469783" duration="7692000" /> + <workItem from="1559294584576" duration="2922000" /> + <workItem from="1559548674824" duration="14585000" /> + <workItem from="1559632020285" duration="2386000" /> + <workItem from="1560349432057" duration="2287000" /> + <workItem from="1560754671130" duration="2921000" /> + <workItem from="1560773721657" duration="258000" /> + <workItem from="1560774022936" duration="5849000" /> + <workItem from="1560845265871" duration="7221000" /> + <workItem from="1560933231799" duration="5321000" /> + <workItem from="1561100723058" duration="3630000" /> + <workItem from="1561119012751" duration="3616000" /> + <workItem from="1561359806336" duration="7390000" /> + <workItem from="1561446560839" duration="1867000" /> + <workItem from="1561452078315" duration="598000" /> + <workItem from="1561532820728" duration="1811000" /> + <workItem from="1561710265533" duration="599000" /> + <workItem from="1561964865212" duration="599000" /> + <workItem from="1562053351494" duration="598000" /> + <workItem from="1562225942824" duration="802000" /> + <workItem from="1562663145580" duration="1198000" /> + </task> + <servers /> + </component> + <component name="TimeTrackingManager"> + <option name="totallyTimeSpent" value="198607000" /> + </component> + <component name="TodoView"> + <todo-panel id="selected-file"> + <is-autoscroll-to-source value="true" /> + </todo-panel> + <todo-panel id="all"> + <are-packages-shown value="true" /> + <is-autoscroll-to-source value="true" /> + </todo-panel> + </component> + <component name="ToolWindowManager"> + <frame x="382" y="442" width="2087" height="840" extended-state="0" /> + <editor active="true" /> + <layout> + <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.23884258" /> + <window_info id="Structure" order="1" side_tool="true" weight="0.25" /> + <window_info id="Image Layers" order="2" /> + <window_info id="Designer" order="3" /> + <window_info id="UI Designer" order="4" /> + <window_info id="Capture Tool" order="5" /> + <window_info id="Favorites" order="6" side_tool="true" /> + <window_info anchor="bottom" id="Message" order="0" /> + <window_info anchor="bottom" id="Find" order="1" sideWeight="0.4995197" weight="0.32885212" /> + <window_info anchor="bottom" id="Run" order="2" sideWeight="0.5451489" weight="0.51459146" /> + <window_info anchor="bottom" id="Debug" order="3" sideWeight="0.7909982" weight="0.37615386" /> + <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" /> + <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" /> + <window_info anchor="bottom" id="TODO" order="6" weight="0.32972974" /> + <window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" /> + <window_info anchor="bottom" id="Version Control" order="8" weight="0.32972974" /> + <window_info anchor="bottom" id="Database Changes" order="9" /> + <window_info anchor="bottom" id="Terminal" order="10" weight="0.32972974" /> + <window_info anchor="bottom" id="Event Log" order="11" sideWeight="0.4548511" side_tool="true" visible="true" weight="0.19054241" /> + <window_info anchor="bottom" id="Messages" order="12" sideWeight="0.49763873" weight="0.32766616" /> + <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" /> + <window_info anchor="right" id="Ant Build" order="1" weight="0.25" /> + <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" /> + <window_info anchor="right" id="Palette" order="3" /> + <window_info anchor="right" id="Theme Preview" order="4" /> + <window_info anchor="right" id="Maven" order="5" visible="true" weight="0.08680726" /> + <window_info anchor="right" id="Capture Analysis" order="6" /> + <window_info anchor="right" id="Palette	" order="7" /> + <window_info anchor="right" id="Database" order="8" /> + </layout> + </component> + <component name="TypeScriptGeneratedFilesManager"> + <option name="version" value="1" /> + </component> + <component name="XDebuggerManager"> + <breakpoint-manager> + <breakpoints> + <line-breakpoint enabled="true" type="java-line"> + <url>file://$PROJECT_DIR$/src/main/trash/ClientSocketServerDire.java</url> + <line>26</line> + <properties /> + <option name="timeStamp" value="11" /> + </line-breakpoint> + <line-breakpoint enabled="true" type="java-line"> + <url>file://$PROJECT_DIR$/src/main/trash/WorldstateDire.java</url> + <line>64</line> + <properties /> + <option name="timeStamp" value="12" /> + </line-breakpoint> + </breakpoints> + </breakpoint-manager> + <watches-manager> + <configuration name="Application"> + <watch expression="gameAction.performActions(c.getCommandId(), c.getVectVal().getX(), c.getVectVal().getY(), c.getVectVal().getZ())" language="JAVA" /> + <watch expression="c.getCommandId()" language="JAVA" /> + </configuration> + </watches-manager> + </component> + <component name="debuggerHistoryManager"> + <expressions id="watch"> + <expression> + <expression-string>c.getCommandId()</expression-string> + <language-id>JAVA</language-id> + <evaluation-mode>EXPRESSION</evaluation-mode> + </expression> + <expression> + <expression-string>gameAction.performActions(c.getCommandId(), c.getVectVal().getX(), c.getVectVal().getY(), c.getVectVal().getZ())</expression-string> + <language-id>JAVA</language-id> + <evaluation-mode>EXPRESSION</evaluation-mode> + </expression> + <expression> + <expression-string>c.getVectVal()</expression-string> + <language-id>JAVA</language-id> + <evaluation-mode>EXPRESSION</evaluation-mode> + </expression> + <expression> + <expression-string>Globals.unitsValues[0].getPlayers(0).getDeaths()</expression-string> + <language-id>JAVA</language-id> + <custom-info>OKAGG.Globals</custom-info> + <evaluation-mode>EXPRESSION</evaluation-mode> + </expression> + <expression> + <expression-string>Globals.unitsValues[0].getCou</expression-string> + <language-id>JAVA</language-id> + <custom-info>OKAGG.Globals</custom-info> + <evaluation-mode>EXPRESSION</evaluation-mode> + </expression> + <expression> + <expression-string>Globals.unitsValues[0].getHeroPickState()</expression-string> + <language-id>JAVA</language-id> + <custom-info>OKAGG.Globals</custom-info> + <evaluation-mode>EXPRESSION</evaluation-mode> + </expression> + <expression> + <expression-string>Globals.unitsValues[0]</expression-string> + <language-id>JAVA</language-id> + <custom-info>OKAGG.Globals</custom-info> + <evaluation-mode>EXPRESSION</evaluation-mode> + </expression> + <expression> + <expression-string>Globals.unitsValues[0].getPlayers(0).get</expression-string> + <language-id>JAVA</language-id> + <custom-info>OKAGG.Globals</custom-info> + <evaluation-mode>EXPRESSION</evaluation-mode> + </expression> + <expression> + <expression-string>Globals.unitsValues[0].getPlayers(0)</expression-string> + <language-id>JAVA</language-id> + <custom-info>OKAGG.Globals</custom-info> + <evaluation-mode>EXPRESSION</evaluation-mode> + </expression> + </expressions> + </component> + <component name="editorHistoryManager"> + <entry file="file://$PROJECT_DIR$/../../../../../steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/grpc-java/OKAGG/GameInstructionsGrpc.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="90"> + <caret line="19" column="17" selection-start-line="19" selection-start-column="17" selection-end-line="19" selection-end-column="17" /> + <folding> + <element signature="imports" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$USER_HOME$/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/191.7141.44.vmoptions"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="90"> + <caret line="6" column="29" selection-start-line="6" selection-start-column="29" selection-end-line="6" selection-end-column="29" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/bat_scripts/DEDICATED.bat"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="15"> + <caret line="1" column="4" selection-start-line="1" selection-start-column="4" selection-end-line="1" selection-end-column="4" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/../../../../../steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/Main.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="495"> + <caret line="33" column="9" selection-start-line="33" selection-start-column="9" selection-end-line="33" selection-end-column="9" /> + <folding> + <element signature="imports" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/../../../../../steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/ClientCommunicationsService.java" /> + <entry file="file://$PROJECT_DIR$/../../../../../steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/Webserver.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="720"> + <caret line="117" selection-start-line="117" selection-end-line="117" /> + <folding> + <element signature="imports" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="uml://JAVA/OKAGG"> + <provider selected="true" editor-type-id="UmlEditorProvider"> + <state> + <ID>JAVA</ID> + <OriginalElement>OKAGG</OriginalElement> + <nodes> + <node x="" y="">OKAGG.CommandOrBuilder</node> + <node x="" y="">OKAGG.CMsgBotWorldStateOuterClass</node> + <node x="" y="">OKAGG.GlobalValuesOrBuilder</node> + <node x="" y="">OKAGG.ServerManagmentGrpc</node> + <node x="" y="">OKAGG.ClientCommunications</node> + <node x="" y="">OKAGG.OutsideCommunication</node> + <node x="" y="">OKAGG.Empty</node> + <node x="" y="">OKAGG.ServerFunctions</node> + <node x="" y="">OKAGG.DotaFunctions</node> + <node x="" y="">OKAGG.GlobalValues</node> + <node x="" y="">OKAGG.GetInfo</node> + <node x="" y="">OKAGG.OkaggIaCommMessage</node> + <node x="" y="">OKAGG.ClientSocketRadiantConnection</node> + <node x="" y="">OKAGG.RadiantWorldstate</node> + <node x="" y="">OKAGG.ClientCommunicationsValuesService</node> + <node x="" y="">OKAGG.OkaggIaCommMessageOrBuilder</node> + <node x="" y="">OKAGG.GameValuesGrpc</node> + <node x="" y="">OKAGG.GameInstructionsGrpc</node> + <node x="" y="">OKAGG.Webserver</node> + <node x="" y="">OKAGG.DireWorldstate</node> + <node x="" y="">OKAGG.ClientCommunicationsInstructionsService</node> + <node x="" y="">OKAGG.ServerManagmentService</node> + <node x="" y="">OKAGG.InstrucionReturnValue</node> + <node x="" y="">OKAGG.VectorOrBuilder</node> + <node x="" y="">OKAGG.Globals</node> + <node x="" y="">OKAGG.Vector</node> + <node x="" y="">OKAGG.Main</node> + <node x="" y="">OKAGG.EmptyOrBuilder</node> + <node x="" y="">OKAGG.ClientSocketDireConnection</node> + <node x="" y="">OKAGG.InstrucionReturnValueOrBuilder</node> + <node x="" y="">OKAGG.Command</node> + <node x="" y="">OKAGG.MyFrame</node> + <node x="" y="">OKAGG.MyCanvas</node> + </nodes> + <notes /> + <edges /> + <settings layout="Hierarchic Group" zoom="1.0" x="393.0" y="338.0" /> + <SelectedNodes /> + <Categories /> + <SCOPE>All</SCOPE> + <VISIBILITY>private</VISIBILITY> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/trash/ClientSocketServerRadiant.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="105"> + <caret line="7" column="13" selection-start-line="7" selection-start-column="13" selection-end-line="7" selection-end-column="13" /> + <folding> + <element signature="imports" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/trash/ClientSocketServerDire.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="105"> + <caret line="7" column="13" selection-start-line="7" selection-start-column="13" selection-end-line="7" selection-end-column="13" /> + <folding> + <element signature="imports" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/trash/WorldstateRadiant.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="90"> + <caret line="11" column="21" selection-start-line="11" selection-end-line="12" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/trash/WorldstateDire.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="436"> + <caret line="81" column="26" selection-start-line="81" selection-start-column="26" selection-end-line="81" selection-end-column="26" /> + </state> + </provider> + </entry> + <entry file="jar:///usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/rt.jar!/sun/nio/ch/EPollArrayWrapper.class"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="2252"> + <caret line="221" column="23" selection-start-line="221" selection-start-column="23" selection-end-line="221" selection-end-column="23" /> + </state> + </provider> + </entry> + <entry file="jar:///usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/rt.jar!/java/net/PlainSocketImpl.class"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="425"> + <caret line="68" column="16" selection-start-line="68" selection-start-column="16" selection-end-line="68" selection-end-column="16" /> + </state> + </provider> + </entry> + <entry file="file://$APPLICATION_CONFIG_DIR$/idea.properties"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="30"> + <caret line="2" column="37" selection-start-line="2" selection-start-column="37" selection-end-line="2" selection-end-column="37" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/MyFrame.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="-425"> + <caret line="70" column="58" selection-start-line="70" selection-start-column="58" selection-end-line="70" selection-end-column="58" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/bat_scripts/GRAPHICS.bat"> + <provider selected="true" editor-type-id="text-editor" /> + </entry> + <entry file="file://$PROJECT_DIR$/pom.xml"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="-16"> + <caret line="33" lean-forward="true" selection-start-line="33" selection-end-line="33" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/WorldState.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="195"> + <caret line="13" column="13" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="13" /> + <folding> + <element signature="e#228#229#0" expanded="true" /> + <element signature="e#288#289#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/Util.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="150"> + <caret line="64" column="17" lean-forward="true" selection-start-line="64" selection-start-column="17" selection-end-line="64" selection-end-column="17" /> + <folding> + <element signature="imports" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/META-INF/MANIFEST.MF"> + <provider selected="true" editor-type-id="text-editor" /> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/ClientCommunications.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="60"> + <caret line="7" column="13" selection-start-line="7" selection-start-column="13" selection-end-line="7" selection-end-column="13" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/ClientCommunicationsServerService.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="180"> + <caret line="12" column="26" lean-forward="true" selection-start-line="12" selection-start-column="26" selection-end-line="12" selection-end-column="26" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/ClientCommunicationsValuesService.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="120"> + <caret line="8" column="120" selection-start-line="8" selection-start-column="120" selection-end-line="8" selection-end-column="120" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/ClientSocketServer.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="19"> + <caret line="47" lean-forward="true" selection-start-line="47" selection-end-line="47" /> + <folding> + <element signature="imports" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/CMsgBotWorldStateOuterClass.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="406"> + <caret line="70711" column="21" selection-start-line="70711" selection-start-column="13" selection-end-line="70711" selection-end-column="21" /> + <folding> + <element signature="e#2707089#2707090#0" expanded="true" /> + <element signature="e#2707118#2707119#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="jar:///usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/rt.jar!/java/net/SocketOutputStream.class"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="157"> + <caret line="36" selection-start-line="36" selection-end-line="36" /> + </state> + </provider> + </entry> + <entry file="file://$USER_HOME$/Downloads/mrufo-CacheCache.txt"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="-27186" /> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/DotaFunctions.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="330"> + <caret line="22" column="5" selection-start-line="22" selection-start-column="5" selection-end-line="22" selection-end-column="5" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/GetInfo.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="450"> + <caret line="30" column="61" selection-start-line="30" selection-start-column="61" selection-end-line="30" selection-end-column="61" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/Main.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="150"> + <caret line="11" selection-start-line="11" selection-end-line="11" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/RedirectClientObject.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="255"> + <caret line="22" column="30" selection-start-line="22" selection-start-column="30" selection-end-line="22" selection-end-column="30" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/Globals.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="750"> + <caret line="55" selection-start-line="55" selection-end-line="55" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/proto/OutsideCommunication.proto"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="795"> + <caret line="53" selection-start-line="53" selection-end-line="67" selection-end-column="1" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/Webserver.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="2235"> + <caret line="156" column="10" selection-start-line="156" selection-start-column="10" selection-end-line="156" selection-end-column="10" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/ServerFunctions.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="645"> + <caret line="43" column="21" selection-start-line="43" selection-start-column="21" selection-end-line="43" selection-end-column="21" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/java/OKAGG/ClientCommunicationsInstructionsService.java"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="300"> + <caret line="20" selection-start-line="20" selection-end-line="20" /> + </state> + </provider> + </entry> + </component> + <component name="masterDetails"> + <states> + <state key="ArtifactsStructureConfigurable.UI"> + <settings> + <artifact-editor /> + <splitter-proportions> + <option name="proportions"> + <list> + <option value="0.2" /> + </list> + </option> + </splitter-proportions> + </settings> + </state> + <state key="FacetStructureConfigurable.UI"> + <settings> + <splitter-proportions> + <option name="proportions"> + <list> + <option value="0.2" /> + </list> + </option> + </splitter-proportions> + </settings> + </state> + <state key="GlobalLibrariesConfigurable.UI"> + <settings> + <splitter-proportions> + <option name="proportions"> + <list> + <option value="0.2" /> + </list> + </option> + </splitter-proportions> + </settings> + </state> + <state key="JdkListConfigurable.UI"> + <settings> + <last-edited>12</last-edited> + <splitter-proportions> + <option name="proportions"> + <list> + <option value="0.2" /> + </list> + </option> + </splitter-proportions> + </settings> + </state> + <state key="ModuleStructureConfigurable.UI"> + <settings> + <splitter-proportions> + <option name="proportions"> + <list> + <option value="0.2" /> + </list> + </option> + </splitter-proportions> + </settings> + </state> + <state key="ProjectLibrariesConfigurable.UI"> + <settings> + <splitter-proportions> + <option name="proportions"> + <list> + <option value="0.2" /> + </list> + </option> + </splitter-proportions> + </settings> + </state> + </states> + </component> +</project> \ No newline at end of file diff --git a/Interface/GameInteraction.iml b/Interface/GameInteraction.iml new file mode 100644 index 0000000000000000000000000000000000000000..10c824e7dc3b6e944232ca28d130323bb9f81074 --- /dev/null +++ b/Interface/GameInteraction.iml @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> + <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> + <output url="file://$MODULE_DIR$/target/classes" /> + <output-test url="file://$MODULE_DIR$/target/test-classes" /> + <content url="file://$MODULE_DIR$"> + <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/target/generated-sources/protobuf/grpc-java" isTestSource="false" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/target/generated-sources/protobuf/java" isTestSource="false" generated="true" /> + <excludeFolder url="file://$MODULE_DIR$/target" /> + </content> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" /> + <orderEntry type="library" name="Maven: org.slf4j:slf4j-simple:1.7.26" level="project" /> + <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.26" level="project" /> + <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.8" level="project" /> + <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.0" level="project" /> + <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.8" level="project" /> + <orderEntry type="library" name="Maven: io.javalin:javalin:2.8.0" level="project" /> + <orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.71" level="project" /> + <orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-stdlib:1.2.71" level="project" /> + <orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-stdlib-common:1.2.71" level="project" /> + <orderEntry type="library" name="Maven: org.jetbrains:annotations:13.0" level="project" /> + <orderEntry type="library" name="Maven: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.71" level="project" /> + <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-server:9.4.15.v20190215" level="project" /> + <orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:3.1.0" level="project" /> + <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-http:9.4.15.v20190215" level="project" /> + <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-util:9.4.15.v20190215" level="project" /> + <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-io:9.4.15.v20190215" level="project" /> + <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-webapp:9.4.15.v20190215" level="project" /> + <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-xml:9.4.15.v20190215" level="project" /> + <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-servlet:9.4.15.v20190215" level="project" /> + <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-security:9.4.15.v20190215" level="project" /> + <orderEntry type="library" name="Maven: org.eclipse.jetty.websocket:websocket-server:9.4.15.v20190215" level="project" /> + <orderEntry type="library" name="Maven: org.eclipse.jetty.websocket:websocket-common:9.4.15.v20190215" level="project" /> + <orderEntry type="library" name="Maven: org.eclipse.jetty.websocket:websocket-api:9.4.15.v20190215" level="project" /> + <orderEntry type="library" name="Maven: org.eclipse.jetty.websocket:websocket-client:9.4.15.v20190215" level="project" /> + <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-client:9.4.15.v20190215" level="project" /> + <orderEntry type="library" name="Maven: org.eclipse.jetty.websocket:websocket-servlet:9.4.15.v20190215" level="project" /> + <orderEntry type="library" name="Maven: com.google.protobuf:protobuf-java:3.7.1" level="project" /> + <orderEntry type="library" name="Maven: org.json:json:20180813" level="project" /> + <orderEntry type="library" name="Maven: io.grpc:grpc-core:1.20.0" level="project" /> + <orderEntry type="library" name="Maven: io.grpc:grpc-context:1.20.0" level="project" /> + <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.7" level="project" /> + <orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.3.2" level="project" /> + <orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" /> + <orderEntry type="library" name="Maven: com.google.android:annotations:4.1.1.4" level="project" /> + <orderEntry type="library" name="Maven: org.codehaus.mojo:animal-sniffer-annotations:1.17" level="project" /> + <orderEntry type="library" name="Maven: com.google.guava:guava:26.0-android" level="project" /> + <orderEntry type="library" name="Maven: org.checkerframework:checker-compat-qual:2.5.2" level="project" /> + <orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.1" level="project" /> + <orderEntry type="library" name="Maven: io.opencensus:opencensus-api:0.19.2" level="project" /> + <orderEntry type="library" name="Maven: io.opencensus:opencensus-contrib-grpc-metrics:0.19.2" level="project" /> + <orderEntry type="library" name="Maven: io.grpc:grpc-services:1.20.0" level="project" /> + <orderEntry type="library" name="Maven: com.google.protobuf:protobuf-java-util:3.7.1" level="project" /> + <orderEntry type="library" name="Maven: com.google.re2j:re2j:1.2" level="project" /> + <orderEntry type="library" name="Maven: io.grpc:grpc-netty-shaded:1.20.0" level="project" /> + <orderEntry type="library" name="Maven: io.grpc:grpc-protobuf:1.20.0" level="project" /> + <orderEntry type="library" name="Maven: com.google.api.grpc:proto-google-common-protos:1.12.0" level="project" /> + <orderEntry type="library" name="Maven: io.grpc:grpc-protobuf-lite:1.20.0" level="project" /> + <orderEntry type="library" name="Maven: io.grpc:grpc-stub:1.20.0" level="project" /> + <orderEntry type="library" name="Bundled Protobuf Distribution" level="application" /> + </component> +</module> \ No newline at end of file diff --git a/Interface/pom.xml b/Interface/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..eb30109e948505c4358b03dc2bdf4e35bdb3c5dd --- /dev/null +++ b/Interface/pom.xml @@ -0,0 +1,164 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>GameInteraction</groupId> + <artifactId>GameInteraction</artifactId> + <version>1.0-SNAPSHOT</version> + + + <dependencies> + <!-- https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api --> + <dependency> + <groupId>javax.annotation</groupId> + <artifactId>javax.annotation-api</artifactId> + <version>1.3.2</version> + </dependency> + + + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-simple</artifactId> + <version>1.7.26</version> + </dependency> + + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + <version>2.9.8</version> + </dependency> + + <!--##########################################################################--> + + <dependency> + <groupId>io.javalin</groupId> + <artifactId>javalin</artifactId> + <version>2.8.0</version> + </dependency> + + <!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java --> + <dependency> + <groupId>com.google.protobuf</groupId> + <artifactId>protobuf-java</artifactId> + <version>3.7.1</version> + </dependency> + + <!-- https://mvnrepository.com/artifact/org.json/json --> + <dependency> + <groupId>org.json</groupId> + <artifactId>json</artifactId> + <version>20180813</version> + </dependency> + + <!-- https://mvnrepository.com/artifact/io.grpc/grpc-core --> + <dependency> + <groupId>io.grpc</groupId> + <artifactId>grpc-core</artifactId> + <version>1.20.0</version> + </dependency> + + <dependency> + <groupId>io.grpc</groupId> + <artifactId>grpc-services</artifactId> + <version>1.20.0</version> + </dependency> + + <dependency> + <groupId>io.grpc</groupId> + <artifactId>grpc-netty-shaded</artifactId> + <version>1.20.0</version> + </dependency> + + <dependency> + <groupId>io.grpc</groupId> + <artifactId>grpc-protobuf</artifactId> + <version>1.20.0</version> + </dependency> + + <dependency> + <groupId>io.grpc</groupId> + <artifactId>grpc-stub</artifactId> + <version>1.20.0</version> + </dependency> + + </dependencies> + + <build> + <extensions> + <extension> + <groupId>kr.motd.maven</groupId> + <artifactId>os-maven-plugin</artifactId> + <version>1.5.0.Final</version> + </extension> + </extensions> + <plugins> + + <plugin> + <groupId>org.xolstice.maven.plugins</groupId> + <artifactId>protobuf-maven-plugin</artifactId> + <version>0.5.1</version> + <configuration> + <protocArtifact>com.google.protobuf:protoc:3.7.1:exe:${os.detected.classifier}</protocArtifact> + <pluginId>grpc-java</pluginId> + <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.20.0:exe:${os.detected.classifier}</pluginArtifact> + </configuration> + <executions> + <execution> + <goals> + <goal>compile</goal> + <goal>compile-custom</goal> + </goals> + </execution> + </executions> + </plugin> + + <plugin> + <version>3.8.1</version> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>8</source> + <target>8</target> + </configuration> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>copy-dependencies</id> + <phase>prepare-package</phase> + <goals> + <goal>copy-dependencies</goal> + </goals> + <configuration> + <outputDirectory>${project.build.directory}/lib</outputDirectory> + <overWriteReleases>false</overWriteReleases> + <overWriteSnapshots>false</overWriteSnapshots> + <overWriteIfNewer>true</overWriteIfNewer> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <version>3.1.2</version> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <configuration> + <archive> + <manifest> + <addClasspath>true</addClasspath> + <classpathPrefix>lib/</classpathPrefix> + <mainClass>OKAGG.Main</mainClass> + </manifest> + </archive> + </configuration> + </plugin> + + </plugins> + </build> + +</project> \ No newline at end of file diff --git a/Interface/src/main/bat_scripts/DEDICATED.bat b/Interface/src/main/bat_scripts/DEDICATED.bat new file mode 100644 index 0000000000000000000000000000000000000000..7d3816b060c92261e1e805fdeab013e4fa52e762 --- /dev/null +++ b/Interface/src/main/bat_scripts/DEDICATED.bat @@ -0,0 +1,2 @@ +start "" "D:\bachelor_kz\jeux\steam\steamapps\common\dota 2 beta\game\bin\win64\dota2.exe" -dedicated -dev +tv_enable 1 +tv_secret_code 0 +tv_name OKAGG +tv_delay 2 +map dota -fill_with_bots +sv_hibernate_when_empty 0 -botworldstatetosocket_radiant 10001 -botworldstatetosocket_dire 10002 +dota_auto_surrender_all_disconnected_timeout 600000 +exit \ No newline at end of file diff --git a/Interface/src/main/bat_scripts/GRAPHICS.bat b/Interface/src/main/bat_scripts/GRAPHICS.bat new file mode 100644 index 0000000000000000000000000000000000000000..e2a1502c2a2c2296ad8168c885a671ae6c58d8e5 --- /dev/null +++ b/Interface/src/main/bat_scripts/GRAPHICS.bat @@ -0,0 +1,2 @@ +start "" "D:\bachelor_kz\jeux\steam\steamapps\common\dota 2 beta\game\bin\win64\dota2.exe" -console -botworldstatetosocket_radiant 10001 -botworldstatetosocket_dire 10002 +exec customscript.cfg +exit \ No newline at end of file diff --git a/Interface/src/main/java/META-INF/MANIFEST.MF b/Interface/src/main/java/META-INF/MANIFEST.MF new file mode 100644 index 0000000000000000000000000000000000000000..b862d2819e4f4d8e98f9dffc4fe00755b6b05c21 --- /dev/null +++ b/Interface/src/main/java/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: OKAGG.Main + diff --git a/Interface/src/main/java/OKAGG/CMsgBotWorldStateOuterClass.java b/Interface/src/main/java/OKAGG/CMsgBotWorldStateOuterClass.java new file mode 100644 index 0000000000000000000000000000000000000000..dc2ad9c9e64415b01fba69b0eca2f8e1cc4227c8 --- /dev/null +++ b/Interface/src/main/java/OKAGG/CMsgBotWorldStateOuterClass.java @@ -0,0 +1,76927 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: CMsgBotWorldState.proto +package OKAGG; + + +public final class CMsgBotWorldStateOuterClass { + private CMsgBotWorldStateOuterClass() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistryLite registry) { + } + + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions( + (com.google.protobuf.ExtensionRegistryLite) registry); + } + public interface CMsgBotWorldStateOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional uint32 team_id = 1;</code> + */ + boolean hasTeamId(); + /** + * <code>optional uint32 team_id = 1;</code> + */ + int getTeamId(); + + /** + * <code>optional float game_time = 2;</code> + */ + boolean hasGameTime(); + /** + * <code>optional float game_time = 2;</code> + */ + float getGameTime(); + + /** + * <code>optional float dota_time = 3;</code> + */ + boolean hasDotaTime(); + /** + * <code>optional float dota_time = 3;</code> + */ + float getDotaTime(); + + /** + * <code>optional uint32 game_state = 4;</code> + */ + boolean hasGameState(); + /** + * <code>optional uint32 game_state = 4;</code> + */ + int getGameState(); + + /** + * <code>optional uint32 hero_pick_state = 5;</code> + */ + boolean hasHeroPickState(); + /** + * <code>optional uint32 hero_pick_state = 5;</code> + */ + int getHeroPickState(); + + /** + * <code>optional float time_of_day = 6;</code> + */ + boolean hasTimeOfDay(); + /** + * <code>optional float time_of_day = 6;</code> + */ + float getTimeOfDay(); + + /** + * <code>optional float glyph_cooldown = 7;</code> + */ + boolean hasGlyphCooldown(); + /** + * <code>optional float glyph_cooldown = 7;</code> + */ + float getGlyphCooldown(); + + /** + * <code>optional uint32 glyph_cooldown_enemy = 8;</code> + */ + boolean hasGlyphCooldownEnemy(); + /** + * <code>optional uint32 glyph_cooldown_enemy = 8;</code> + */ + int getGlyphCooldownEnemy(); + + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player> + getPlayersList(); + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player getPlayers(int index); + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + int getPlayersCount(); + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.PlayerOrBuilder> + getPlayersOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.PlayerOrBuilder getPlayersOrBuilder( + int index); + + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit> + getUnitsList(); + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit getUnits(int index); + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + int getUnitsCount(); + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitOrBuilder> + getUnitsOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitOrBuilder getUnitsOrBuilder( + int index); + + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem> + getDroppedItemsList(); + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem getDroppedItems(int index); + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + int getDroppedItemsCount(); + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItemOrBuilder> + getDroppedItemsOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItemOrBuilder getDroppedItemsOrBuilder( + int index); + + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo> + getRuneInfosList(); + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo getRuneInfos(int index); + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + int getRuneInfosCount(); + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfoOrBuilder> + getRuneInfosOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfoOrBuilder getRuneInfosOrBuilder( + int index); + + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo> + getIncomingTeleportsList(); + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo getIncomingTeleports(int index); + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + int getIncomingTeleportsCount(); + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfoOrBuilder> + getIncomingTeleportsOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfoOrBuilder getIncomingTeleportsOrBuilder( + int index); + + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile> + getLinearProjectilesList(); + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile getLinearProjectiles(int index); + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + int getLinearProjectilesCount(); + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectileOrBuilder> + getLinearProjectilesOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectileOrBuilder getLinearProjectilesOrBuilder( + int index); + + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone> + getAvoidanceZonesList(); + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone getAvoidanceZones(int index); + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + int getAvoidanceZonesCount(); + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZoneOrBuilder> + getAvoidanceZonesOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZoneOrBuilder getAvoidanceZonesOrBuilder( + int index); + + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier> + getCouriersList(); + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier getCouriers(int index); + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + int getCouriersCount(); + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierOrBuilder> + getCouriersOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierOrBuilder getCouriersOrBuilder( + int index); + + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility> + getAbilityEventsList(); + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility getAbilityEvents(int index); + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + int getAbilityEventsCount(); + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbilityOrBuilder> + getAbilityEventsOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbilityOrBuilder getAbilityEventsOrBuilder( + int index); + + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage> + getDamageEventsList(); + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage getDamageEvents(int index); + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + int getDamageEventsCount(); + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamageOrBuilder> + getDamageEventsOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamageOrBuilder getDamageEventsOrBuilder( + int index); + + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled> + getCourierKilledEventsList(); + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled getCourierKilledEvents(int index); + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + int getCourierKilledEventsCount(); + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilledOrBuilder> + getCourierKilledEventsOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilledOrBuilder getCourierKilledEventsOrBuilder( + int index); + + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled> + getRoshanKilledEventsList(); + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled getRoshanKilledEvents(int index); + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + int getRoshanKilledEventsCount(); + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilledOrBuilder> + getRoshanKilledEventsOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilledOrBuilder getRoshanKilledEventsOrBuilder( + int index); + + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree> + getTreeEventsList(); + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree getTreeEvents(int index); + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + int getTreeEventsCount(); + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTreeOrBuilder> + getTreeEventsOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTreeOrBuilder getTreeEventsOrBuilder( + int index); + } + /** + * Protobuf type {@code CMsgBotWorldState} + */ + public static final class CMsgBotWorldState extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState) + CMsgBotWorldStateOrBuilder { + private static final long serialVersionUID = 0L; + // Use CMsgBotWorldState.newBuilder() to construct. + private CMsgBotWorldState(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private CMsgBotWorldState() { + players_ = java.util.Collections.emptyList(); + units_ = java.util.Collections.emptyList(); + droppedItems_ = java.util.Collections.emptyList(); + runeInfos_ = java.util.Collections.emptyList(); + incomingTeleports_ = java.util.Collections.emptyList(); + linearProjectiles_ = java.util.Collections.emptyList(); + avoidanceZones_ = java.util.Collections.emptyList(); + couriers_ = java.util.Collections.emptyList(); + abilityEvents_ = java.util.Collections.emptyList(); + damageEvents_ = java.util.Collections.emptyList(); + courierKilledEvents_ = java.util.Collections.emptyList(); + roshanKilledEvents_ = java.util.Collections.emptyList(); + treeEvents_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private CMsgBotWorldState( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + teamId_ = input.readUInt32(); + break; + } + case 21: { + bitField0_ |= 0x00000002; + gameTime_ = input.readFloat(); + break; + } + case 29: { + bitField0_ |= 0x00000004; + dotaTime_ = input.readFloat(); + break; + } + case 32: { + bitField0_ |= 0x00000008; + gameState_ = input.readUInt32(); + break; + } + case 40: { + bitField0_ |= 0x00000010; + heroPickState_ = input.readUInt32(); + break; + } + case 53: { + bitField0_ |= 0x00000020; + timeOfDay_ = input.readFloat(); + break; + } + case 61: { + bitField0_ |= 0x00000040; + glyphCooldown_ = input.readFloat(); + break; + } + case 64: { + bitField0_ |= 0x00000080; + glyphCooldownEnemy_ = input.readUInt32(); + break; + } + case 82: { + if (!((mutable_bitField0_ & 0x00000100) != 0)) { + players_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player>(); + mutable_bitField0_ |= 0x00000100; + } + players_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.PARSER, extensionRegistry)); + break; + } + case 90: { + if (!((mutable_bitField0_ & 0x00000200) != 0)) { + units_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit>(); + mutable_bitField0_ |= 0x00000200; + } + units_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.PARSER, extensionRegistry)); + break; + } + case 98: { + if (!((mutable_bitField0_ & 0x00000400) != 0)) { + droppedItems_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem>(); + mutable_bitField0_ |= 0x00000400; + } + droppedItems_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.PARSER, extensionRegistry)); + break; + } + case 106: { + if (!((mutable_bitField0_ & 0x00000800) != 0)) { + runeInfos_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo>(); + mutable_bitField0_ |= 0x00000800; + } + runeInfos_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.PARSER, extensionRegistry)); + break; + } + case 114: { + if (!((mutable_bitField0_ & 0x00001000) != 0)) { + incomingTeleports_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo>(); + mutable_bitField0_ |= 0x00001000; + } + incomingTeleports_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.PARSER, extensionRegistry)); + break; + } + case 122: { + if (!((mutable_bitField0_ & 0x00002000) != 0)) { + linearProjectiles_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile>(); + mutable_bitField0_ |= 0x00002000; + } + linearProjectiles_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.PARSER, extensionRegistry)); + break; + } + case 130: { + if (!((mutable_bitField0_ & 0x00004000) != 0)) { + avoidanceZones_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone>(); + mutable_bitField0_ |= 0x00004000; + } + avoidanceZones_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.PARSER, extensionRegistry)); + break; + } + case 138: { + if (!((mutable_bitField0_ & 0x00008000) != 0)) { + couriers_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier>(); + mutable_bitField0_ |= 0x00008000; + } + couriers_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.PARSER, extensionRegistry)); + break; + } + case 162: { + if (!((mutable_bitField0_ & 0x00010000) != 0)) { + abilityEvents_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility>(); + mutable_bitField0_ |= 0x00010000; + } + abilityEvents_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.PARSER, extensionRegistry)); + break; + } + case 170: { + if (!((mutable_bitField0_ & 0x00020000) != 0)) { + damageEvents_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage>(); + mutable_bitField0_ |= 0x00020000; + } + damageEvents_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.PARSER, extensionRegistry)); + break; + } + case 178: { + if (!((mutable_bitField0_ & 0x00040000) != 0)) { + courierKilledEvents_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled>(); + mutable_bitField0_ |= 0x00040000; + } + courierKilledEvents_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.PARSER, extensionRegistry)); + break; + } + case 186: { + if (!((mutable_bitField0_ & 0x00080000) != 0)) { + roshanKilledEvents_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled>(); + mutable_bitField0_ |= 0x00080000; + } + roshanKilledEvents_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.PARSER, extensionRegistry)); + break; + } + case 194: { + if (!((mutable_bitField0_ & 0x00100000) != 0)) { + treeEvents_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree>(); + mutable_bitField0_ |= 0x00100000; + } + treeEvents_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.PARSER, extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000100) != 0)) { + players_ = java.util.Collections.unmodifiableList(players_); + } + if (((mutable_bitField0_ & 0x00000200) != 0)) { + units_ = java.util.Collections.unmodifiableList(units_); + } + if (((mutable_bitField0_ & 0x00000400) != 0)) { + droppedItems_ = java.util.Collections.unmodifiableList(droppedItems_); + } + if (((mutable_bitField0_ & 0x00000800) != 0)) { + runeInfos_ = java.util.Collections.unmodifiableList(runeInfos_); + } + if (((mutable_bitField0_ & 0x00001000) != 0)) { + incomingTeleports_ = java.util.Collections.unmodifiableList(incomingTeleports_); + } + if (((mutable_bitField0_ & 0x00002000) != 0)) { + linearProjectiles_ = java.util.Collections.unmodifiableList(linearProjectiles_); + } + if (((mutable_bitField0_ & 0x00004000) != 0)) { + avoidanceZones_ = java.util.Collections.unmodifiableList(avoidanceZones_); + } + if (((mutable_bitField0_ & 0x00008000) != 0)) { + couriers_ = java.util.Collections.unmodifiableList(couriers_); + } + if (((mutable_bitField0_ & 0x00010000) != 0)) { + abilityEvents_ = java.util.Collections.unmodifiableList(abilityEvents_); + } + if (((mutable_bitField0_ & 0x00020000) != 0)) { + damageEvents_ = java.util.Collections.unmodifiableList(damageEvents_); + } + if (((mutable_bitField0_ & 0x00040000) != 0)) { + courierKilledEvents_ = java.util.Collections.unmodifiableList(courierKilledEvents_); + } + if (((mutable_bitField0_ & 0x00080000) != 0)) { + roshanKilledEvents_ = java.util.Collections.unmodifiableList(roshanKilledEvents_); + } + if (((mutable_bitField0_ & 0x00100000) != 0)) { + treeEvents_ = java.util.Collections.unmodifiableList(treeEvents_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Builder.class); + } + + /** + * Protobuf enum {@code CMsgBotWorldState.UnitType} + */ + public enum UnitType + implements com.google.protobuf.ProtocolMessageEnum { + /** + * <code>INVALID = 0;</code> + */ + INVALID(0), + /** + * <code>HERO = 1;</code> + */ + HERO(1), + /** + * <code>CREEP_HERO = 2;</code> + */ + CREEP_HERO(2), + /** + * <code>LANE_CREEP = 3;</code> + */ + LANE_CREEP(3), + /** + * <code>JUNGLE_CREEP = 4;</code> + */ + JUNGLE_CREEP(4), + /** + * <code>ROSHAN = 5;</code> + */ + ROSHAN(5), + /** + * <code>TOWER = 6;</code> + */ + TOWER(6), + /** + * <code>BARRACKS = 7;</code> + */ + BARRACKS(7), + /** + * <code>SHRINE = 8;</code> + */ + SHRINE(8), + /** + * <code>FORT = 9;</code> + */ + FORT(9), + /** + * <code>BUILDING = 10;</code> + */ + BUILDING(10), + /** + * <code>COURIER = 11;</code> + */ + COURIER(11), + /** + * <code>WARD = 12;</code> + */ + WARD(12), + ; + + /** + * <code>INVALID = 0;</code> + */ + public static final int INVALID_VALUE = 0; + /** + * <code>HERO = 1;</code> + */ + public static final int HERO_VALUE = 1; + /** + * <code>CREEP_HERO = 2;</code> + */ + public static final int CREEP_HERO_VALUE = 2; + /** + * <code>LANE_CREEP = 3;</code> + */ + public static final int LANE_CREEP_VALUE = 3; + /** + * <code>JUNGLE_CREEP = 4;</code> + */ + public static final int JUNGLE_CREEP_VALUE = 4; + /** + * <code>ROSHAN = 5;</code> + */ + public static final int ROSHAN_VALUE = 5; + /** + * <code>TOWER = 6;</code> + */ + public static final int TOWER_VALUE = 6; + /** + * <code>BARRACKS = 7;</code> + */ + public static final int BARRACKS_VALUE = 7; + /** + * <code>SHRINE = 8;</code> + */ + public static final int SHRINE_VALUE = 8; + /** + * <code>FORT = 9;</code> + */ + public static final int FORT_VALUE = 9; + /** + * <code>BUILDING = 10;</code> + */ + public static final int BUILDING_VALUE = 10; + /** + * <code>COURIER = 11;</code> + */ + public static final int COURIER_VALUE = 11; + /** + * <code>WARD = 12;</code> + */ + public static final int WARD_VALUE = 12; + + + public final int getNumber() { + return value; + } + + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static UnitType valueOf(int value) { + return forNumber(value); + } + + public static UnitType forNumber(int value) { + switch (value) { + case 0: return INVALID; + case 1: return HERO; + case 2: return CREEP_HERO; + case 3: return LANE_CREEP; + case 4: return JUNGLE_CREEP; + case 5: return ROSHAN; + case 6: return TOWER; + case 7: return BARRACKS; + case 8: return SHRINE; + case 9: return FORT; + case 10: return BUILDING; + case 11: return COURIER; + case 12: return WARD; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap<UnitType> + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + UnitType> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap<UnitType>() { + public UnitType findValueByNumber(int number) { + return UnitType.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.getDescriptor().getEnumTypes().get(0); + } + + private static final UnitType[] VALUES = values(); + + public static UnitType valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private UnitType(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:CMsgBotWorldState.UnitType) + } + + /** + * Protobuf enum {@code CMsgBotWorldState.CourierState} + */ + public enum CourierState + implements com.google.protobuf.ProtocolMessageEnum { + /** + * <code>COURIER_STATE_INIT = -1;</code> + */ + COURIER_STATE_INIT(-1), + /** + * <code>COURIER_STATE_IDLE = 0;</code> + */ + COURIER_STATE_IDLE(0), + /** + * <code>COURIER_STATE_AT_BASE = 1;</code> + */ + COURIER_STATE_AT_BASE(1), + /** + * <code>COURIER_STATE_MOVING = 2;</code> + */ + COURIER_STATE_MOVING(2), + /** + * <code>COURIER_STATE_DELIVERING_ITEMS = 3;</code> + */ + COURIER_STATE_DELIVERING_ITEMS(3), + /** + * <code>COURIER_STATE_RETURNING_TO_BASE = 4;</code> + */ + COURIER_STATE_RETURNING_TO_BASE(4), + /** + * <code>COURIER_STATE_DEAD = 5;</code> + */ + COURIER_STATE_DEAD(5), + ; + + /** + * <code>COURIER_STATE_INIT = -1;</code> + */ + public static final int COURIER_STATE_INIT_VALUE = -1; + /** + * <code>COURIER_STATE_IDLE = 0;</code> + */ + public static final int COURIER_STATE_IDLE_VALUE = 0; + /** + * <code>COURIER_STATE_AT_BASE = 1;</code> + */ + public static final int COURIER_STATE_AT_BASE_VALUE = 1; + /** + * <code>COURIER_STATE_MOVING = 2;</code> + */ + public static final int COURIER_STATE_MOVING_VALUE = 2; + /** + * <code>COURIER_STATE_DELIVERING_ITEMS = 3;</code> + */ + public static final int COURIER_STATE_DELIVERING_ITEMS_VALUE = 3; + /** + * <code>COURIER_STATE_RETURNING_TO_BASE = 4;</code> + */ + public static final int COURIER_STATE_RETURNING_TO_BASE_VALUE = 4; + /** + * <code>COURIER_STATE_DEAD = 5;</code> + */ + public static final int COURIER_STATE_DEAD_VALUE = 5; + + + public final int getNumber() { + return value; + } + + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static CourierState valueOf(int value) { + return forNumber(value); + } + + public static CourierState forNumber(int value) { + switch (value) { + case -1: return COURIER_STATE_INIT; + case 0: return COURIER_STATE_IDLE; + case 1: return COURIER_STATE_AT_BASE; + case 2: return COURIER_STATE_MOVING; + case 3: return COURIER_STATE_DELIVERING_ITEMS; + case 4: return COURIER_STATE_RETURNING_TO_BASE; + case 5: return COURIER_STATE_DEAD; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap<CourierState> + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + CourierState> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap<CourierState>() { + public CourierState findValueByNumber(int number) { + return CourierState.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.getDescriptor().getEnumTypes().get(1); + } + + private static final CourierState[] VALUES = values(); + + public static CourierState valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private CourierState(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:CMsgBotWorldState.CourierState) + } + + public interface VectorOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Vector) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required float x = 1;</code> + */ + boolean hasX(); + /** + * <code>required float x = 1;</code> + */ + float getX(); + + /** + * <code>required float y = 2;</code> + */ + boolean hasY(); + /** + * <code>required float y = 2;</code> + */ + float getY(); + + /** + * <code>required float z = 3;</code> + */ + boolean hasZ(); + /** + * <code>required float z = 3;</code> + */ + float getZ(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Vector} + */ + public static final class Vector extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Vector) + VectorOrBuilder { + private static final long serialVersionUID = 0L; + // Use Vector.newBuilder() to construct. + private Vector(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Vector() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Vector( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 13: { + bitField0_ |= 0x00000001; + x_ = input.readFloat(); + break; + } + case 21: { + bitField0_ |= 0x00000002; + y_ = input.readFloat(); + break; + } + case 29: { + bitField0_ |= 0x00000004; + z_ = input.readFloat(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Vector_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Vector_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder.class); + } + + private int bitField0_; + public static final int X_FIELD_NUMBER = 1; + private float x_; + /** + * <code>required float x = 1;</code> + */ + public boolean hasX() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required float x = 1;</code> + */ + public float getX() { + return x_; + } + + public static final int Y_FIELD_NUMBER = 2; + private float y_; + /** + * <code>required float y = 2;</code> + */ + public boolean hasY() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required float y = 2;</code> + */ + public float getY() { + return y_; + } + + public static final int Z_FIELD_NUMBER = 3; + private float z_; + /** + * <code>required float z = 3;</code> + */ + public boolean hasZ() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required float z = 3;</code> + */ + public float getZ() { + return z_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasX()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasY()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasZ()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeFloat(1, x_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeFloat(2, y_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeFloat(3, z_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(1, x_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(2, y_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(3, z_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector) obj; + + if (hasX() != other.hasX()) return false; + if (hasX()) { + if (java.lang.Float.floatToIntBits(getX()) + != java.lang.Float.floatToIntBits( + other.getX())) return false; + } + if (hasY() != other.hasY()) return false; + if (hasY()) { + if (java.lang.Float.floatToIntBits(getY()) + != java.lang.Float.floatToIntBits( + other.getY())) return false; + } + if (hasZ() != other.hasZ()) return false; + if (hasZ()) { + if (java.lang.Float.floatToIntBits(getZ()) + != java.lang.Float.floatToIntBits( + other.getZ())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasX()) { + hash = (37 * hash) + X_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getX()); + } + if (hasY()) { + hash = (37 * hash) + Y_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getY()); + } + if (hasZ()) { + hash = (37 * hash) + Z_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getZ()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Vector} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Vector) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Vector_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Vector_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + x_ = 0F; + bitField0_ = (bitField0_ & ~0x00000001); + y_ = 0F; + bitField0_ = (bitField0_ & ~0x00000002); + z_ = 0F; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Vector_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.x_ = x_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.y_ = y_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.z_ = z_; + to_bitField0_ |= 0x00000004; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) return this; + if (other.hasX()) { + setX(other.getX()); + } + if (other.hasY()) { + setY(other.getY()); + } + if (other.hasZ()) { + setZ(other.getZ()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasX()) { + return false; + } + if (!hasY()) { + return false; + } + if (!hasZ()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private float x_ ; + /** + * <code>required float x = 1;</code> + */ + public boolean hasX() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required float x = 1;</code> + */ + public float getX() { + return x_; + } + /** + * <code>required float x = 1;</code> + */ + public Builder setX(float value) { + bitField0_ |= 0x00000001; + x_ = value; + onChanged(); + return this; + } + /** + * <code>required float x = 1;</code> + */ + public Builder clearX() { + bitField0_ = (bitField0_ & ~0x00000001); + x_ = 0F; + onChanged(); + return this; + } + + private float y_ ; + /** + * <code>required float y = 2;</code> + */ + public boolean hasY() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required float y = 2;</code> + */ + public float getY() { + return y_; + } + /** + * <code>required float y = 2;</code> + */ + public Builder setY(float value) { + bitField0_ |= 0x00000002; + y_ = value; + onChanged(); + return this; + } + /** + * <code>required float y = 2;</code> + */ + public Builder clearY() { + bitField0_ = (bitField0_ & ~0x00000002); + y_ = 0F; + onChanged(); + return this; + } + + private float z_ ; + /** + * <code>required float z = 3;</code> + */ + public boolean hasZ() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required float z = 3;</code> + */ + public float getZ() { + return z_; + } + /** + * <code>required float z = 3;</code> + */ + public Builder setZ(float value) { + bitField0_ |= 0x00000004; + z_ = value; + onChanged(); + return this; + } + /** + * <code>required float z = 3;</code> + */ + public Builder clearZ() { + bitField0_ = (bitField0_ & ~0x00000004); + z_ = 0F; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Vector) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Vector) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<Vector> + PARSER = new com.google.protobuf.AbstractParser<Vector>() { + @java.lang.Override + public Vector parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Vector(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Vector> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Vector> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface PlayerOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Player) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional int32 player_id = 1;</code> + */ + boolean hasPlayerId(); + /** + * <code>optional int32 player_id = 1;</code> + */ + int getPlayerId(); + + /** + * <code>optional uint32 hero_id = 2;</code> + */ + boolean hasHeroId(); + /** + * <code>optional uint32 hero_id = 2;</code> + */ + int getHeroId(); + + /** + * <code>optional bool is_alive = 3;</code> + */ + boolean hasIsAlive(); + /** + * <code>optional bool is_alive = 3;</code> + */ + boolean getIsAlive(); + + /** + * <code>optional float respawn_time = 4;</code> + */ + boolean hasRespawnTime(); + /** + * <code>optional float respawn_time = 4;</code> + */ + float getRespawnTime(); + + /** + * <code>optional uint32 kills = 5;</code> + */ + boolean hasKills(); + /** + * <code>optional uint32 kills = 5;</code> + */ + int getKills(); + + /** + * <code>optional uint32 deaths = 6;</code> + */ + boolean hasDeaths(); + /** + * <code>optional uint32 deaths = 6;</code> + */ + int getDeaths(); + + /** + * <code>optional uint32 assists = 7;</code> + */ + boolean hasAssists(); + /** + * <code>optional uint32 assists = 7;</code> + */ + int getAssists(); + + /** + * <code>optional uint32 team_id = 8;</code> + */ + boolean hasTeamId(); + /** + * <code>optional uint32 team_id = 8;</code> + */ + int getTeamId(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Player} + */ + public static final class Player extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Player) + PlayerOrBuilder { + private static final long serialVersionUID = 0L; + // Use Player.newBuilder() to construct. + private Player(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Player() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Player( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + playerId_ = input.readInt32(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + heroId_ = input.readUInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + isAlive_ = input.readBool(); + break; + } + case 37: { + bitField0_ |= 0x00000008; + respawnTime_ = input.readFloat(); + break; + } + case 40: { + bitField0_ |= 0x00000010; + kills_ = input.readUInt32(); + break; + } + case 48: { + bitField0_ |= 0x00000020; + deaths_ = input.readUInt32(); + break; + } + case 56: { + bitField0_ |= 0x00000040; + assists_ = input.readUInt32(); + break; + } + case 64: { + bitField0_ |= 0x00000080; + teamId_ = input.readUInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Player_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Player_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.Builder.class); + } + + private int bitField0_; + public static final int PLAYER_ID_FIELD_NUMBER = 1; + private int playerId_; + /** + * <code>optional int32 player_id = 1;</code> + */ + public boolean hasPlayerId() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional int32 player_id = 1;</code> + */ + public int getPlayerId() { + return playerId_; + } + + public static final int HERO_ID_FIELD_NUMBER = 2; + private int heroId_; + /** + * <code>optional uint32 hero_id = 2;</code> + */ + public boolean hasHeroId() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional uint32 hero_id = 2;</code> + */ + public int getHeroId() { + return heroId_; + } + + public static final int IS_ALIVE_FIELD_NUMBER = 3; + private boolean isAlive_; + /** + * <code>optional bool is_alive = 3;</code> + */ + public boolean hasIsAlive() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional bool is_alive = 3;</code> + */ + public boolean getIsAlive() { + return isAlive_; + } + + public static final int RESPAWN_TIME_FIELD_NUMBER = 4; + private float respawnTime_; + /** + * <code>optional float respawn_time = 4;</code> + */ + public boolean hasRespawnTime() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional float respawn_time = 4;</code> + */ + public float getRespawnTime() { + return respawnTime_; + } + + public static final int KILLS_FIELD_NUMBER = 5; + private int kills_; + /** + * <code>optional uint32 kills = 5;</code> + */ + public boolean hasKills() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 kills = 5;</code> + */ + public int getKills() { + return kills_; + } + + public static final int DEATHS_FIELD_NUMBER = 6; + private int deaths_; + /** + * <code>optional uint32 deaths = 6;</code> + */ + public boolean hasDeaths() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional uint32 deaths = 6;</code> + */ + public int getDeaths() { + return deaths_; + } + + public static final int ASSISTS_FIELD_NUMBER = 7; + private int assists_; + /** + * <code>optional uint32 assists = 7;</code> + */ + public boolean hasAssists() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>optional uint32 assists = 7;</code> + */ + public int getAssists() { + return assists_; + } + + public static final int TEAM_ID_FIELD_NUMBER = 8; + private int teamId_; + /** + * <code>optional uint32 team_id = 8;</code> + */ + public boolean hasTeamId() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>optional uint32 team_id = 8;</code> + */ + public int getTeamId() { + return teamId_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(1, playerId_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeUInt32(2, heroId_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeBool(3, isAlive_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeFloat(4, respawnTime_); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeUInt32(5, kills_); + } + if (((bitField0_ & 0x00000020) != 0)) { + output.writeUInt32(6, deaths_); + } + if (((bitField0_ & 0x00000040) != 0)) { + output.writeUInt32(7, assists_); + } + if (((bitField0_ & 0x00000080) != 0)) { + output.writeUInt32(8, teamId_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, playerId_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(2, heroId_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(3, isAlive_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(4, respawnTime_); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(5, kills_); + } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(6, deaths_); + } + if (((bitField0_ & 0x00000040) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(7, assists_); + } + if (((bitField0_ & 0x00000080) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(8, teamId_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player) obj; + + if (hasPlayerId() != other.hasPlayerId()) return false; + if (hasPlayerId()) { + if (getPlayerId() + != other.getPlayerId()) return false; + } + if (hasHeroId() != other.hasHeroId()) return false; + if (hasHeroId()) { + if (getHeroId() + != other.getHeroId()) return false; + } + if (hasIsAlive() != other.hasIsAlive()) return false; + if (hasIsAlive()) { + if (getIsAlive() + != other.getIsAlive()) return false; + } + if (hasRespawnTime() != other.hasRespawnTime()) return false; + if (hasRespawnTime()) { + if (java.lang.Float.floatToIntBits(getRespawnTime()) + != java.lang.Float.floatToIntBits( + other.getRespawnTime())) return false; + } + if (hasKills() != other.hasKills()) return false; + if (hasKills()) { + if (getKills() + != other.getKills()) return false; + } + if (hasDeaths() != other.hasDeaths()) return false; + if (hasDeaths()) { + if (getDeaths() + != other.getDeaths()) return false; + } + if (hasAssists() != other.hasAssists()) return false; + if (hasAssists()) { + if (getAssists() + != other.getAssists()) return false; + } + if (hasTeamId() != other.hasTeamId()) return false; + if (hasTeamId()) { + if (getTeamId() + != other.getTeamId()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasPlayerId()) { + hash = (37 * hash) + PLAYER_ID_FIELD_NUMBER; + hash = (53 * hash) + getPlayerId(); + } + if (hasHeroId()) { + hash = (37 * hash) + HERO_ID_FIELD_NUMBER; + hash = (53 * hash) + getHeroId(); + } + if (hasIsAlive()) { + hash = (37 * hash) + IS_ALIVE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsAlive()); + } + if (hasRespawnTime()) { + hash = (37 * hash) + RESPAWN_TIME_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getRespawnTime()); + } + if (hasKills()) { + hash = (37 * hash) + KILLS_FIELD_NUMBER; + hash = (53 * hash) + getKills(); + } + if (hasDeaths()) { + hash = (37 * hash) + DEATHS_FIELD_NUMBER; + hash = (53 * hash) + getDeaths(); + } + if (hasAssists()) { + hash = (37 * hash) + ASSISTS_FIELD_NUMBER; + hash = (53 * hash) + getAssists(); + } + if (hasTeamId()) { + hash = (37 * hash) + TEAM_ID_FIELD_NUMBER; + hash = (53 * hash) + getTeamId(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Player} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Player) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.PlayerOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Player_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Player_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + playerId_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + heroId_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + isAlive_ = false; + bitField0_ = (bitField0_ & ~0x00000004); + respawnTime_ = 0F; + bitField0_ = (bitField0_ & ~0x00000008); + kills_ = 0; + bitField0_ = (bitField0_ & ~0x00000010); + deaths_ = 0; + bitField0_ = (bitField0_ & ~0x00000020); + assists_ = 0; + bitField0_ = (bitField0_ & ~0x00000040); + teamId_ = 0; + bitField0_ = (bitField0_ & ~0x00000080); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Player_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.playerId_ = playerId_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.heroId_ = heroId_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.isAlive_ = isAlive_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.respawnTime_ = respawnTime_; + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.kills_ = kills_; + to_bitField0_ |= 0x00000010; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.deaths_ = deaths_; + to_bitField0_ |= 0x00000020; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.assists_ = assists_; + to_bitField0_ |= 0x00000040; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.teamId_ = teamId_; + to_bitField0_ |= 0x00000080; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.getDefaultInstance()) return this; + if (other.hasPlayerId()) { + setPlayerId(other.getPlayerId()); + } + if (other.hasHeroId()) { + setHeroId(other.getHeroId()); + } + if (other.hasIsAlive()) { + setIsAlive(other.getIsAlive()); + } + if (other.hasRespawnTime()) { + setRespawnTime(other.getRespawnTime()); + } + if (other.hasKills()) { + setKills(other.getKills()); + } + if (other.hasDeaths()) { + setDeaths(other.getDeaths()); + } + if (other.hasAssists()) { + setAssists(other.getAssists()); + } + if (other.hasTeamId()) { + setTeamId(other.getTeamId()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int playerId_ ; + /** + * <code>optional int32 player_id = 1;</code> + */ + public boolean hasPlayerId() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional int32 player_id = 1;</code> + */ + public int getPlayerId() { + return playerId_; + } + /** + * <code>optional int32 player_id = 1;</code> + */ + public Builder setPlayerId(int value) { + bitField0_ |= 0x00000001; + playerId_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 player_id = 1;</code> + */ + public Builder clearPlayerId() { + bitField0_ = (bitField0_ & ~0x00000001); + playerId_ = 0; + onChanged(); + return this; + } + + private int heroId_ ; + /** + * <code>optional uint32 hero_id = 2;</code> + */ + public boolean hasHeroId() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional uint32 hero_id = 2;</code> + */ + public int getHeroId() { + return heroId_; + } + /** + * <code>optional uint32 hero_id = 2;</code> + */ + public Builder setHeroId(int value) { + bitField0_ |= 0x00000002; + heroId_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 hero_id = 2;</code> + */ + public Builder clearHeroId() { + bitField0_ = (bitField0_ & ~0x00000002); + heroId_ = 0; + onChanged(); + return this; + } + + private boolean isAlive_ ; + /** + * <code>optional bool is_alive = 3;</code> + */ + public boolean hasIsAlive() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional bool is_alive = 3;</code> + */ + public boolean getIsAlive() { + return isAlive_; + } + /** + * <code>optional bool is_alive = 3;</code> + */ + public Builder setIsAlive(boolean value) { + bitField0_ |= 0x00000004; + isAlive_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_alive = 3;</code> + */ + public Builder clearIsAlive() { + bitField0_ = (bitField0_ & ~0x00000004); + isAlive_ = false; + onChanged(); + return this; + } + + private float respawnTime_ ; + /** + * <code>optional float respawn_time = 4;</code> + */ + public boolean hasRespawnTime() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional float respawn_time = 4;</code> + */ + public float getRespawnTime() { + return respawnTime_; + } + /** + * <code>optional float respawn_time = 4;</code> + */ + public Builder setRespawnTime(float value) { + bitField0_ |= 0x00000008; + respawnTime_ = value; + onChanged(); + return this; + } + /** + * <code>optional float respawn_time = 4;</code> + */ + public Builder clearRespawnTime() { + bitField0_ = (bitField0_ & ~0x00000008); + respawnTime_ = 0F; + onChanged(); + return this; + } + + private int kills_ ; + /** + * <code>optional uint32 kills = 5;</code> + */ + public boolean hasKills() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 kills = 5;</code> + */ + public int getKills() { + return kills_; + } + /** + * <code>optional uint32 kills = 5;</code> + */ + public Builder setKills(int value) { + bitField0_ |= 0x00000010; + kills_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 kills = 5;</code> + */ + public Builder clearKills() { + bitField0_ = (bitField0_ & ~0x00000010); + kills_ = 0; + onChanged(); + return this; + } + + private int deaths_ ; + /** + * <code>optional uint32 deaths = 6;</code> + */ + public boolean hasDeaths() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional uint32 deaths = 6;</code> + */ + public int getDeaths() { + return deaths_; + } + /** + * <code>optional uint32 deaths = 6;</code> + */ + public Builder setDeaths(int value) { + bitField0_ |= 0x00000020; + deaths_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 deaths = 6;</code> + */ + public Builder clearDeaths() { + bitField0_ = (bitField0_ & ~0x00000020); + deaths_ = 0; + onChanged(); + return this; + } + + private int assists_ ; + /** + * <code>optional uint32 assists = 7;</code> + */ + public boolean hasAssists() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>optional uint32 assists = 7;</code> + */ + public int getAssists() { + return assists_; + } + /** + * <code>optional uint32 assists = 7;</code> + */ + public Builder setAssists(int value) { + bitField0_ |= 0x00000040; + assists_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 assists = 7;</code> + */ + public Builder clearAssists() { + bitField0_ = (bitField0_ & ~0x00000040); + assists_ = 0; + onChanged(); + return this; + } + + private int teamId_ ; + /** + * <code>optional uint32 team_id = 8;</code> + */ + public boolean hasTeamId() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>optional uint32 team_id = 8;</code> + */ + public int getTeamId() { + return teamId_; + } + /** + * <code>optional uint32 team_id = 8;</code> + */ + public Builder setTeamId(int value) { + bitField0_ |= 0x00000080; + teamId_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 team_id = 8;</code> + */ + public Builder clearTeamId() { + bitField0_ = (bitField0_ & ~0x00000080); + teamId_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Player) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Player) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<Player> + PARSER = new com.google.protobuf.AbstractParser<Player>() { + @java.lang.Override + public Player parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Player(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Player> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Player> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface AbilityOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Ability) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional uint32 handle = 1;</code> + */ + boolean hasHandle(); + /** + * <code>optional uint32 handle = 1;</code> + */ + int getHandle(); + + /** + * <code>optional uint32 ability_id = 2;</code> + */ + boolean hasAbilityId(); + /** + * <code>optional uint32 ability_id = 2;</code> + */ + int getAbilityId(); + + /** + * <code>optional uint32 slot = 3;</code> + */ + boolean hasSlot(); + /** + * <code>optional uint32 slot = 3;</code> + */ + int getSlot(); + + /** + * <code>optional uint32 caster_handle = 5;</code> + */ + boolean hasCasterHandle(); + /** + * <code>optional uint32 caster_handle = 5;</code> + */ + int getCasterHandle(); + + /** + * <code>optional uint32 level = 6;</code> + */ + boolean hasLevel(); + /** + * <code>optional uint32 level = 6;</code> + */ + int getLevel(); + + /** + * <code>optional uint32 cast_range = 10;</code> + */ + boolean hasCastRange(); + /** + * <code>optional uint32 cast_range = 10;</code> + */ + int getCastRange(); + + /** + * <code>optional float channel_time = 11;</code> + */ + boolean hasChannelTime(); + /** + * <code>optional float channel_time = 11;</code> + */ + float getChannelTime(); + + /** + * <code>optional float cooldown_remaining = 12 [default = 0];</code> + */ + boolean hasCooldownRemaining(); + /** + * <code>optional float cooldown_remaining = 12 [default = 0];</code> + */ + float getCooldownRemaining(); + + /** + * <code>optional bool is_activated = 20;</code> + */ + boolean hasIsActivated(); + /** + * <code>optional bool is_activated = 20;</code> + */ + boolean getIsActivated(); + + /** + * <code>optional bool is_toggled = 21;</code> + */ + boolean hasIsToggled(); + /** + * <code>optional bool is_toggled = 21;</code> + */ + boolean getIsToggled(); + + /** + * <code>optional bool is_in_ability_phase = 22;</code> + */ + boolean hasIsInAbilityPhase(); + /** + * <code>optional bool is_in_ability_phase = 22;</code> + */ + boolean getIsInAbilityPhase(); + + /** + * <code>optional bool is_channeling = 23;</code> + */ + boolean hasIsChanneling(); + /** + * <code>optional bool is_channeling = 23;</code> + */ + boolean getIsChanneling(); + + /** + * <code>optional bool is_stolen = 24;</code> + */ + boolean hasIsStolen(); + /** + * <code>optional bool is_stolen = 24;</code> + */ + boolean getIsStolen(); + + /** + * <code>optional bool is_fully_castable = 25;</code> + */ + boolean hasIsFullyCastable(); + /** + * <code>optional bool is_fully_castable = 25;</code> + */ + boolean getIsFullyCastable(); + + /** + * <code>optional uint32 charges = 30;</code> + */ + boolean hasCharges(); + /** + * <code>optional uint32 charges = 30;</code> + */ + int getCharges(); + + /** + * <code>optional uint32 secondary_charges = 31;</code> + */ + boolean hasSecondaryCharges(); + /** + * <code>optional uint32 secondary_charges = 31;</code> + */ + int getSecondaryCharges(); + + /** + * <code>optional bool is_combined_locked = 40;</code> + */ + boolean hasIsCombinedLocked(); + /** + * <code>optional bool is_combined_locked = 40;</code> + */ + boolean getIsCombinedLocked(); + + /** + * <code>optional int32 power_treads_stat = 50 [default = -1];</code> + */ + boolean hasPowerTreadsStat(); + /** + * <code>optional int32 power_treads_stat = 50 [default = -1];</code> + */ + int getPowerTreadsStat(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Ability} + */ + public static final class Ability extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Ability) + AbilityOrBuilder { + private static final long serialVersionUID = 0L; + // Use Ability.newBuilder() to construct. + private Ability(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Ability() { + powerTreadsStat_ = -1; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Ability( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + handle_ = input.readUInt32(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + abilityId_ = input.readUInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + slot_ = input.readUInt32(); + break; + } + case 40: { + bitField0_ |= 0x00000008; + casterHandle_ = input.readUInt32(); + break; + } + case 48: { + bitField0_ |= 0x00000010; + level_ = input.readUInt32(); + break; + } + case 80: { + bitField0_ |= 0x00000020; + castRange_ = input.readUInt32(); + break; + } + case 93: { + bitField0_ |= 0x00000040; + channelTime_ = input.readFloat(); + break; + } + case 101: { + bitField0_ |= 0x00000080; + cooldownRemaining_ = input.readFloat(); + break; + } + case 160: { + bitField0_ |= 0x00000100; + isActivated_ = input.readBool(); + break; + } + case 168: { + bitField0_ |= 0x00000200; + isToggled_ = input.readBool(); + break; + } + case 176: { + bitField0_ |= 0x00000400; + isInAbilityPhase_ = input.readBool(); + break; + } + case 184: { + bitField0_ |= 0x00000800; + isChanneling_ = input.readBool(); + break; + } + case 192: { + bitField0_ |= 0x00001000; + isStolen_ = input.readBool(); + break; + } + case 200: { + bitField0_ |= 0x00002000; + isFullyCastable_ = input.readBool(); + break; + } + case 240: { + bitField0_ |= 0x00004000; + charges_ = input.readUInt32(); + break; + } + case 248: { + bitField0_ |= 0x00008000; + secondaryCharges_ = input.readUInt32(); + break; + } + case 320: { + bitField0_ |= 0x00010000; + isCombinedLocked_ = input.readBool(); + break; + } + case 400: { + bitField0_ |= 0x00020000; + powerTreadsStat_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Ability_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Ability_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder.class); + } + + private int bitField0_; + public static final int HANDLE_FIELD_NUMBER = 1; + private int handle_; + /** + * <code>optional uint32 handle = 1;</code> + */ + public boolean hasHandle() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 handle = 1;</code> + */ + public int getHandle() { + return handle_; + } + + public static final int ABILITY_ID_FIELD_NUMBER = 2; + private int abilityId_; + /** + * <code>optional uint32 ability_id = 2;</code> + */ + public boolean hasAbilityId() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional uint32 ability_id = 2;</code> + */ + public int getAbilityId() { + return abilityId_; + } + + public static final int SLOT_FIELD_NUMBER = 3; + private int slot_; + /** + * <code>optional uint32 slot = 3;</code> + */ + public boolean hasSlot() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional uint32 slot = 3;</code> + */ + public int getSlot() { + return slot_; + } + + public static final int CASTER_HANDLE_FIELD_NUMBER = 5; + private int casterHandle_; + /** + * <code>optional uint32 caster_handle = 5;</code> + */ + public boolean hasCasterHandle() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional uint32 caster_handle = 5;</code> + */ + public int getCasterHandle() { + return casterHandle_; + } + + public static final int LEVEL_FIELD_NUMBER = 6; + private int level_; + /** + * <code>optional uint32 level = 6;</code> + */ + public boolean hasLevel() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 level = 6;</code> + */ + public int getLevel() { + return level_; + } + + public static final int CAST_RANGE_FIELD_NUMBER = 10; + private int castRange_; + /** + * <code>optional uint32 cast_range = 10;</code> + */ + public boolean hasCastRange() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional uint32 cast_range = 10;</code> + */ + public int getCastRange() { + return castRange_; + } + + public static final int CHANNEL_TIME_FIELD_NUMBER = 11; + private float channelTime_; + /** + * <code>optional float channel_time = 11;</code> + */ + public boolean hasChannelTime() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>optional float channel_time = 11;</code> + */ + public float getChannelTime() { + return channelTime_; + } + + public static final int COOLDOWN_REMAINING_FIELD_NUMBER = 12; + private float cooldownRemaining_; + /** + * <code>optional float cooldown_remaining = 12 [default = 0];</code> + */ + public boolean hasCooldownRemaining() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>optional float cooldown_remaining = 12 [default = 0];</code> + */ + public float getCooldownRemaining() { + return cooldownRemaining_; + } + + public static final int IS_ACTIVATED_FIELD_NUMBER = 20; + private boolean isActivated_; + /** + * <code>optional bool is_activated = 20;</code> + */ + public boolean hasIsActivated() { + return ((bitField0_ & 0x00000100) != 0); + } + /** + * <code>optional bool is_activated = 20;</code> + */ + public boolean getIsActivated() { + return isActivated_; + } + + public static final int IS_TOGGLED_FIELD_NUMBER = 21; + private boolean isToggled_; + /** + * <code>optional bool is_toggled = 21;</code> + */ + public boolean hasIsToggled() { + return ((bitField0_ & 0x00000200) != 0); + } + /** + * <code>optional bool is_toggled = 21;</code> + */ + public boolean getIsToggled() { + return isToggled_; + } + + public static final int IS_IN_ABILITY_PHASE_FIELD_NUMBER = 22; + private boolean isInAbilityPhase_; + /** + * <code>optional bool is_in_ability_phase = 22;</code> + */ + public boolean hasIsInAbilityPhase() { + return ((bitField0_ & 0x00000400) != 0); + } + /** + * <code>optional bool is_in_ability_phase = 22;</code> + */ + public boolean getIsInAbilityPhase() { + return isInAbilityPhase_; + } + + public static final int IS_CHANNELING_FIELD_NUMBER = 23; + private boolean isChanneling_; + /** + * <code>optional bool is_channeling = 23;</code> + */ + public boolean hasIsChanneling() { + return ((bitField0_ & 0x00000800) != 0); + } + /** + * <code>optional bool is_channeling = 23;</code> + */ + public boolean getIsChanneling() { + return isChanneling_; + } + + public static final int IS_STOLEN_FIELD_NUMBER = 24; + private boolean isStolen_; + /** + * <code>optional bool is_stolen = 24;</code> + */ + public boolean hasIsStolen() { + return ((bitField0_ & 0x00001000) != 0); + } + /** + * <code>optional bool is_stolen = 24;</code> + */ + public boolean getIsStolen() { + return isStolen_; + } + + public static final int IS_FULLY_CASTABLE_FIELD_NUMBER = 25; + private boolean isFullyCastable_; + /** + * <code>optional bool is_fully_castable = 25;</code> + */ + public boolean hasIsFullyCastable() { + return ((bitField0_ & 0x00002000) != 0); + } + /** + * <code>optional bool is_fully_castable = 25;</code> + */ + public boolean getIsFullyCastable() { + return isFullyCastable_; + } + + public static final int CHARGES_FIELD_NUMBER = 30; + private int charges_; + /** + * <code>optional uint32 charges = 30;</code> + */ + public boolean hasCharges() { + return ((bitField0_ & 0x00004000) != 0); + } + /** + * <code>optional uint32 charges = 30;</code> + */ + public int getCharges() { + return charges_; + } + + public static final int SECONDARY_CHARGES_FIELD_NUMBER = 31; + private int secondaryCharges_; + /** + * <code>optional uint32 secondary_charges = 31;</code> + */ + public boolean hasSecondaryCharges() { + return ((bitField0_ & 0x00008000) != 0); + } + /** + * <code>optional uint32 secondary_charges = 31;</code> + */ + public int getSecondaryCharges() { + return secondaryCharges_; + } + + public static final int IS_COMBINED_LOCKED_FIELD_NUMBER = 40; + private boolean isCombinedLocked_; + /** + * <code>optional bool is_combined_locked = 40;</code> + */ + public boolean hasIsCombinedLocked() { + return ((bitField0_ & 0x00010000) != 0); + } + /** + * <code>optional bool is_combined_locked = 40;</code> + */ + public boolean getIsCombinedLocked() { + return isCombinedLocked_; + } + + public static final int POWER_TREADS_STAT_FIELD_NUMBER = 50; + private int powerTreadsStat_; + /** + * <code>optional int32 power_treads_stat = 50 [default = -1];</code> + */ + public boolean hasPowerTreadsStat() { + return ((bitField0_ & 0x00020000) != 0); + } + /** + * <code>optional int32 power_treads_stat = 50 [default = -1];</code> + */ + public int getPowerTreadsStat() { + return powerTreadsStat_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeUInt32(1, handle_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeUInt32(2, abilityId_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeUInt32(3, slot_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeUInt32(5, casterHandle_); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeUInt32(6, level_); + } + if (((bitField0_ & 0x00000020) != 0)) { + output.writeUInt32(10, castRange_); + } + if (((bitField0_ & 0x00000040) != 0)) { + output.writeFloat(11, channelTime_); + } + if (((bitField0_ & 0x00000080) != 0)) { + output.writeFloat(12, cooldownRemaining_); + } + if (((bitField0_ & 0x00000100) != 0)) { + output.writeBool(20, isActivated_); + } + if (((bitField0_ & 0x00000200) != 0)) { + output.writeBool(21, isToggled_); + } + if (((bitField0_ & 0x00000400) != 0)) { + output.writeBool(22, isInAbilityPhase_); + } + if (((bitField0_ & 0x00000800) != 0)) { + output.writeBool(23, isChanneling_); + } + if (((bitField0_ & 0x00001000) != 0)) { + output.writeBool(24, isStolen_); + } + if (((bitField0_ & 0x00002000) != 0)) { + output.writeBool(25, isFullyCastable_); + } + if (((bitField0_ & 0x00004000) != 0)) { + output.writeUInt32(30, charges_); + } + if (((bitField0_ & 0x00008000) != 0)) { + output.writeUInt32(31, secondaryCharges_); + } + if (((bitField0_ & 0x00010000) != 0)) { + output.writeBool(40, isCombinedLocked_); + } + if (((bitField0_ & 0x00020000) != 0)) { + output.writeInt32(50, powerTreadsStat_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, handle_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(2, abilityId_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(3, slot_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(5, casterHandle_); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(6, level_); + } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(10, castRange_); + } + if (((bitField0_ & 0x00000040) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(11, channelTime_); + } + if (((bitField0_ & 0x00000080) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(12, cooldownRemaining_); + } + if (((bitField0_ & 0x00000100) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(20, isActivated_); + } + if (((bitField0_ & 0x00000200) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(21, isToggled_); + } + if (((bitField0_ & 0x00000400) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(22, isInAbilityPhase_); + } + if (((bitField0_ & 0x00000800) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(23, isChanneling_); + } + if (((bitField0_ & 0x00001000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(24, isStolen_); + } + if (((bitField0_ & 0x00002000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(25, isFullyCastable_); + } + if (((bitField0_ & 0x00004000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(30, charges_); + } + if (((bitField0_ & 0x00008000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(31, secondaryCharges_); + } + if (((bitField0_ & 0x00010000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(40, isCombinedLocked_); + } + if (((bitField0_ & 0x00020000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(50, powerTreadsStat_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability) obj; + + if (hasHandle() != other.hasHandle()) return false; + if (hasHandle()) { + if (getHandle() + != other.getHandle()) return false; + } + if (hasAbilityId() != other.hasAbilityId()) return false; + if (hasAbilityId()) { + if (getAbilityId() + != other.getAbilityId()) return false; + } + if (hasSlot() != other.hasSlot()) return false; + if (hasSlot()) { + if (getSlot() + != other.getSlot()) return false; + } + if (hasCasterHandle() != other.hasCasterHandle()) return false; + if (hasCasterHandle()) { + if (getCasterHandle() + != other.getCasterHandle()) return false; + } + if (hasLevel() != other.hasLevel()) return false; + if (hasLevel()) { + if (getLevel() + != other.getLevel()) return false; + } + if (hasCastRange() != other.hasCastRange()) return false; + if (hasCastRange()) { + if (getCastRange() + != other.getCastRange()) return false; + } + if (hasChannelTime() != other.hasChannelTime()) return false; + if (hasChannelTime()) { + if (java.lang.Float.floatToIntBits(getChannelTime()) + != java.lang.Float.floatToIntBits( + other.getChannelTime())) return false; + } + if (hasCooldownRemaining() != other.hasCooldownRemaining()) return false; + if (hasCooldownRemaining()) { + if (java.lang.Float.floatToIntBits(getCooldownRemaining()) + != java.lang.Float.floatToIntBits( + other.getCooldownRemaining())) return false; + } + if (hasIsActivated() != other.hasIsActivated()) return false; + if (hasIsActivated()) { + if (getIsActivated() + != other.getIsActivated()) return false; + } + if (hasIsToggled() != other.hasIsToggled()) return false; + if (hasIsToggled()) { + if (getIsToggled() + != other.getIsToggled()) return false; + } + if (hasIsInAbilityPhase() != other.hasIsInAbilityPhase()) return false; + if (hasIsInAbilityPhase()) { + if (getIsInAbilityPhase() + != other.getIsInAbilityPhase()) return false; + } + if (hasIsChanneling() != other.hasIsChanneling()) return false; + if (hasIsChanneling()) { + if (getIsChanneling() + != other.getIsChanneling()) return false; + } + if (hasIsStolen() != other.hasIsStolen()) return false; + if (hasIsStolen()) { + if (getIsStolen() + != other.getIsStolen()) return false; + } + if (hasIsFullyCastable() != other.hasIsFullyCastable()) return false; + if (hasIsFullyCastable()) { + if (getIsFullyCastable() + != other.getIsFullyCastable()) return false; + } + if (hasCharges() != other.hasCharges()) return false; + if (hasCharges()) { + if (getCharges() + != other.getCharges()) return false; + } + if (hasSecondaryCharges() != other.hasSecondaryCharges()) return false; + if (hasSecondaryCharges()) { + if (getSecondaryCharges() + != other.getSecondaryCharges()) return false; + } + if (hasIsCombinedLocked() != other.hasIsCombinedLocked()) return false; + if (hasIsCombinedLocked()) { + if (getIsCombinedLocked() + != other.getIsCombinedLocked()) return false; + } + if (hasPowerTreadsStat() != other.hasPowerTreadsStat()) return false; + if (hasPowerTreadsStat()) { + if (getPowerTreadsStat() + != other.getPowerTreadsStat()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasHandle()) { + hash = (37 * hash) + HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getHandle(); + } + if (hasAbilityId()) { + hash = (37 * hash) + ABILITY_ID_FIELD_NUMBER; + hash = (53 * hash) + getAbilityId(); + } + if (hasSlot()) { + hash = (37 * hash) + SLOT_FIELD_NUMBER; + hash = (53 * hash) + getSlot(); + } + if (hasCasterHandle()) { + hash = (37 * hash) + CASTER_HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getCasterHandle(); + } + if (hasLevel()) { + hash = (37 * hash) + LEVEL_FIELD_NUMBER; + hash = (53 * hash) + getLevel(); + } + if (hasCastRange()) { + hash = (37 * hash) + CAST_RANGE_FIELD_NUMBER; + hash = (53 * hash) + getCastRange(); + } + if (hasChannelTime()) { + hash = (37 * hash) + CHANNEL_TIME_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getChannelTime()); + } + if (hasCooldownRemaining()) { + hash = (37 * hash) + COOLDOWN_REMAINING_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getCooldownRemaining()); + } + if (hasIsActivated()) { + hash = (37 * hash) + IS_ACTIVATED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsActivated()); + } + if (hasIsToggled()) { + hash = (37 * hash) + IS_TOGGLED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsToggled()); + } + if (hasIsInAbilityPhase()) { + hash = (37 * hash) + IS_IN_ABILITY_PHASE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsInAbilityPhase()); + } + if (hasIsChanneling()) { + hash = (37 * hash) + IS_CHANNELING_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsChanneling()); + } + if (hasIsStolen()) { + hash = (37 * hash) + IS_STOLEN_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsStolen()); + } + if (hasIsFullyCastable()) { + hash = (37 * hash) + IS_FULLY_CASTABLE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsFullyCastable()); + } + if (hasCharges()) { + hash = (37 * hash) + CHARGES_FIELD_NUMBER; + hash = (53 * hash) + getCharges(); + } + if (hasSecondaryCharges()) { + hash = (37 * hash) + SECONDARY_CHARGES_FIELD_NUMBER; + hash = (53 * hash) + getSecondaryCharges(); + } + if (hasIsCombinedLocked()) { + hash = (37 * hash) + IS_COMBINED_LOCKED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsCombinedLocked()); + } + if (hasPowerTreadsStat()) { + hash = (37 * hash) + POWER_TREADS_STAT_FIELD_NUMBER; + hash = (53 * hash) + getPowerTreadsStat(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Ability} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Ability) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Ability_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Ability_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + handle_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + abilityId_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + slot_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + casterHandle_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + level_ = 0; + bitField0_ = (bitField0_ & ~0x00000010); + castRange_ = 0; + bitField0_ = (bitField0_ & ~0x00000020); + channelTime_ = 0F; + bitField0_ = (bitField0_ & ~0x00000040); + cooldownRemaining_ = 0F; + bitField0_ = (bitField0_ & ~0x00000080); + isActivated_ = false; + bitField0_ = (bitField0_ & ~0x00000100); + isToggled_ = false; + bitField0_ = (bitField0_ & ~0x00000200); + isInAbilityPhase_ = false; + bitField0_ = (bitField0_ & ~0x00000400); + isChanneling_ = false; + bitField0_ = (bitField0_ & ~0x00000800); + isStolen_ = false; + bitField0_ = (bitField0_ & ~0x00001000); + isFullyCastable_ = false; + bitField0_ = (bitField0_ & ~0x00002000); + charges_ = 0; + bitField0_ = (bitField0_ & ~0x00004000); + secondaryCharges_ = 0; + bitField0_ = (bitField0_ & ~0x00008000); + isCombinedLocked_ = false; + bitField0_ = (bitField0_ & ~0x00010000); + powerTreadsStat_ = -1; + bitField0_ = (bitField0_ & ~0x00020000); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Ability_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.handle_ = handle_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.abilityId_ = abilityId_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.slot_ = slot_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.casterHandle_ = casterHandle_; + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.level_ = level_; + to_bitField0_ |= 0x00000010; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.castRange_ = castRange_; + to_bitField0_ |= 0x00000020; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.channelTime_ = channelTime_; + to_bitField0_ |= 0x00000040; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.cooldownRemaining_ = cooldownRemaining_; + to_bitField0_ |= 0x00000080; + } + if (((from_bitField0_ & 0x00000100) != 0)) { + result.isActivated_ = isActivated_; + to_bitField0_ |= 0x00000100; + } + if (((from_bitField0_ & 0x00000200) != 0)) { + result.isToggled_ = isToggled_; + to_bitField0_ |= 0x00000200; + } + if (((from_bitField0_ & 0x00000400) != 0)) { + result.isInAbilityPhase_ = isInAbilityPhase_; + to_bitField0_ |= 0x00000400; + } + if (((from_bitField0_ & 0x00000800) != 0)) { + result.isChanneling_ = isChanneling_; + to_bitField0_ |= 0x00000800; + } + if (((from_bitField0_ & 0x00001000) != 0)) { + result.isStolen_ = isStolen_; + to_bitField0_ |= 0x00001000; + } + if (((from_bitField0_ & 0x00002000) != 0)) { + result.isFullyCastable_ = isFullyCastable_; + to_bitField0_ |= 0x00002000; + } + if (((from_bitField0_ & 0x00004000) != 0)) { + result.charges_ = charges_; + to_bitField0_ |= 0x00004000; + } + if (((from_bitField0_ & 0x00008000) != 0)) { + result.secondaryCharges_ = secondaryCharges_; + to_bitField0_ |= 0x00008000; + } + if (((from_bitField0_ & 0x00010000) != 0)) { + result.isCombinedLocked_ = isCombinedLocked_; + to_bitField0_ |= 0x00010000; + } + if (((from_bitField0_ & 0x00020000) != 0)) { + to_bitField0_ |= 0x00020000; + } + result.powerTreadsStat_ = powerTreadsStat_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.getDefaultInstance()) return this; + if (other.hasHandle()) { + setHandle(other.getHandle()); + } + if (other.hasAbilityId()) { + setAbilityId(other.getAbilityId()); + } + if (other.hasSlot()) { + setSlot(other.getSlot()); + } + if (other.hasCasterHandle()) { + setCasterHandle(other.getCasterHandle()); + } + if (other.hasLevel()) { + setLevel(other.getLevel()); + } + if (other.hasCastRange()) { + setCastRange(other.getCastRange()); + } + if (other.hasChannelTime()) { + setChannelTime(other.getChannelTime()); + } + if (other.hasCooldownRemaining()) { + setCooldownRemaining(other.getCooldownRemaining()); + } + if (other.hasIsActivated()) { + setIsActivated(other.getIsActivated()); + } + if (other.hasIsToggled()) { + setIsToggled(other.getIsToggled()); + } + if (other.hasIsInAbilityPhase()) { + setIsInAbilityPhase(other.getIsInAbilityPhase()); + } + if (other.hasIsChanneling()) { + setIsChanneling(other.getIsChanneling()); + } + if (other.hasIsStolen()) { + setIsStolen(other.getIsStolen()); + } + if (other.hasIsFullyCastable()) { + setIsFullyCastable(other.getIsFullyCastable()); + } + if (other.hasCharges()) { + setCharges(other.getCharges()); + } + if (other.hasSecondaryCharges()) { + setSecondaryCharges(other.getSecondaryCharges()); + } + if (other.hasIsCombinedLocked()) { + setIsCombinedLocked(other.getIsCombinedLocked()); + } + if (other.hasPowerTreadsStat()) { + setPowerTreadsStat(other.getPowerTreadsStat()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int handle_ ; + /** + * <code>optional uint32 handle = 1;</code> + */ + public boolean hasHandle() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 handle = 1;</code> + */ + public int getHandle() { + return handle_; + } + /** + * <code>optional uint32 handle = 1;</code> + */ + public Builder setHandle(int value) { + bitField0_ |= 0x00000001; + handle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 handle = 1;</code> + */ + public Builder clearHandle() { + bitField0_ = (bitField0_ & ~0x00000001); + handle_ = 0; + onChanged(); + return this; + } + + private int abilityId_ ; + /** + * <code>optional uint32 ability_id = 2;</code> + */ + public boolean hasAbilityId() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional uint32 ability_id = 2;</code> + */ + public int getAbilityId() { + return abilityId_; + } + /** + * <code>optional uint32 ability_id = 2;</code> + */ + public Builder setAbilityId(int value) { + bitField0_ |= 0x00000002; + abilityId_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 ability_id = 2;</code> + */ + public Builder clearAbilityId() { + bitField0_ = (bitField0_ & ~0x00000002); + abilityId_ = 0; + onChanged(); + return this; + } + + private int slot_ ; + /** + * <code>optional uint32 slot = 3;</code> + */ + public boolean hasSlot() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional uint32 slot = 3;</code> + */ + public int getSlot() { + return slot_; + } + /** + * <code>optional uint32 slot = 3;</code> + */ + public Builder setSlot(int value) { + bitField0_ |= 0x00000004; + slot_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 slot = 3;</code> + */ + public Builder clearSlot() { + bitField0_ = (bitField0_ & ~0x00000004); + slot_ = 0; + onChanged(); + return this; + } + + private int casterHandle_ ; + /** + * <code>optional uint32 caster_handle = 5;</code> + */ + public boolean hasCasterHandle() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional uint32 caster_handle = 5;</code> + */ + public int getCasterHandle() { + return casterHandle_; + } + /** + * <code>optional uint32 caster_handle = 5;</code> + */ + public Builder setCasterHandle(int value) { + bitField0_ |= 0x00000008; + casterHandle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 caster_handle = 5;</code> + */ + public Builder clearCasterHandle() { + bitField0_ = (bitField0_ & ~0x00000008); + casterHandle_ = 0; + onChanged(); + return this; + } + + private int level_ ; + /** + * <code>optional uint32 level = 6;</code> + */ + public boolean hasLevel() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 level = 6;</code> + */ + public int getLevel() { + return level_; + } + /** + * <code>optional uint32 level = 6;</code> + */ + public Builder setLevel(int value) { + bitField0_ |= 0x00000010; + level_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 level = 6;</code> + */ + public Builder clearLevel() { + bitField0_ = (bitField0_ & ~0x00000010); + level_ = 0; + onChanged(); + return this; + } + + private int castRange_ ; + /** + * <code>optional uint32 cast_range = 10;</code> + */ + public boolean hasCastRange() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional uint32 cast_range = 10;</code> + */ + public int getCastRange() { + return castRange_; + } + /** + * <code>optional uint32 cast_range = 10;</code> + */ + public Builder setCastRange(int value) { + bitField0_ |= 0x00000020; + castRange_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 cast_range = 10;</code> + */ + public Builder clearCastRange() { + bitField0_ = (bitField0_ & ~0x00000020); + castRange_ = 0; + onChanged(); + return this; + } + + private float channelTime_ ; + /** + * <code>optional float channel_time = 11;</code> + */ + public boolean hasChannelTime() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>optional float channel_time = 11;</code> + */ + public float getChannelTime() { + return channelTime_; + } + /** + * <code>optional float channel_time = 11;</code> + */ + public Builder setChannelTime(float value) { + bitField0_ |= 0x00000040; + channelTime_ = value; + onChanged(); + return this; + } + /** + * <code>optional float channel_time = 11;</code> + */ + public Builder clearChannelTime() { + bitField0_ = (bitField0_ & ~0x00000040); + channelTime_ = 0F; + onChanged(); + return this; + } + + private float cooldownRemaining_ ; + /** + * <code>optional float cooldown_remaining = 12 [default = 0];</code> + */ + public boolean hasCooldownRemaining() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>optional float cooldown_remaining = 12 [default = 0];</code> + */ + public float getCooldownRemaining() { + return cooldownRemaining_; + } + /** + * <code>optional float cooldown_remaining = 12 [default = 0];</code> + */ + public Builder setCooldownRemaining(float value) { + bitField0_ |= 0x00000080; + cooldownRemaining_ = value; + onChanged(); + return this; + } + /** + * <code>optional float cooldown_remaining = 12 [default = 0];</code> + */ + public Builder clearCooldownRemaining() { + bitField0_ = (bitField0_ & ~0x00000080); + cooldownRemaining_ = 0F; + onChanged(); + return this; + } + + private boolean isActivated_ ; + /** + * <code>optional bool is_activated = 20;</code> + */ + public boolean hasIsActivated() { + return ((bitField0_ & 0x00000100) != 0); + } + /** + * <code>optional bool is_activated = 20;</code> + */ + public boolean getIsActivated() { + return isActivated_; + } + /** + * <code>optional bool is_activated = 20;</code> + */ + public Builder setIsActivated(boolean value) { + bitField0_ |= 0x00000100; + isActivated_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_activated = 20;</code> + */ + public Builder clearIsActivated() { + bitField0_ = (bitField0_ & ~0x00000100); + isActivated_ = false; + onChanged(); + return this; + } + + private boolean isToggled_ ; + /** + * <code>optional bool is_toggled = 21;</code> + */ + public boolean hasIsToggled() { + return ((bitField0_ & 0x00000200) != 0); + } + /** + * <code>optional bool is_toggled = 21;</code> + */ + public boolean getIsToggled() { + return isToggled_; + } + /** + * <code>optional bool is_toggled = 21;</code> + */ + public Builder setIsToggled(boolean value) { + bitField0_ |= 0x00000200; + isToggled_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_toggled = 21;</code> + */ + public Builder clearIsToggled() { + bitField0_ = (bitField0_ & ~0x00000200); + isToggled_ = false; + onChanged(); + return this; + } + + private boolean isInAbilityPhase_ ; + /** + * <code>optional bool is_in_ability_phase = 22;</code> + */ + public boolean hasIsInAbilityPhase() { + return ((bitField0_ & 0x00000400) != 0); + } + /** + * <code>optional bool is_in_ability_phase = 22;</code> + */ + public boolean getIsInAbilityPhase() { + return isInAbilityPhase_; + } + /** + * <code>optional bool is_in_ability_phase = 22;</code> + */ + public Builder setIsInAbilityPhase(boolean value) { + bitField0_ |= 0x00000400; + isInAbilityPhase_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_in_ability_phase = 22;</code> + */ + public Builder clearIsInAbilityPhase() { + bitField0_ = (bitField0_ & ~0x00000400); + isInAbilityPhase_ = false; + onChanged(); + return this; + } + + private boolean isChanneling_ ; + /** + * <code>optional bool is_channeling = 23;</code> + */ + public boolean hasIsChanneling() { + return ((bitField0_ & 0x00000800) != 0); + } + /** + * <code>optional bool is_channeling = 23;</code> + */ + public boolean getIsChanneling() { + return isChanneling_; + } + /** + * <code>optional bool is_channeling = 23;</code> + */ + public Builder setIsChanneling(boolean value) { + bitField0_ |= 0x00000800; + isChanneling_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_channeling = 23;</code> + */ + public Builder clearIsChanneling() { + bitField0_ = (bitField0_ & ~0x00000800); + isChanneling_ = false; + onChanged(); + return this; + } + + private boolean isStolen_ ; + /** + * <code>optional bool is_stolen = 24;</code> + */ + public boolean hasIsStolen() { + return ((bitField0_ & 0x00001000) != 0); + } + /** + * <code>optional bool is_stolen = 24;</code> + */ + public boolean getIsStolen() { + return isStolen_; + } + /** + * <code>optional bool is_stolen = 24;</code> + */ + public Builder setIsStolen(boolean value) { + bitField0_ |= 0x00001000; + isStolen_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_stolen = 24;</code> + */ + public Builder clearIsStolen() { + bitField0_ = (bitField0_ & ~0x00001000); + isStolen_ = false; + onChanged(); + return this; + } + + private boolean isFullyCastable_ ; + /** + * <code>optional bool is_fully_castable = 25;</code> + */ + public boolean hasIsFullyCastable() { + return ((bitField0_ & 0x00002000) != 0); + } + /** + * <code>optional bool is_fully_castable = 25;</code> + */ + public boolean getIsFullyCastable() { + return isFullyCastable_; + } + /** + * <code>optional bool is_fully_castable = 25;</code> + */ + public Builder setIsFullyCastable(boolean value) { + bitField0_ |= 0x00002000; + isFullyCastable_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_fully_castable = 25;</code> + */ + public Builder clearIsFullyCastable() { + bitField0_ = (bitField0_ & ~0x00002000); + isFullyCastable_ = false; + onChanged(); + return this; + } + + private int charges_ ; + /** + * <code>optional uint32 charges = 30;</code> + */ + public boolean hasCharges() { + return ((bitField0_ & 0x00004000) != 0); + } + /** + * <code>optional uint32 charges = 30;</code> + */ + public int getCharges() { + return charges_; + } + /** + * <code>optional uint32 charges = 30;</code> + */ + public Builder setCharges(int value) { + bitField0_ |= 0x00004000; + charges_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 charges = 30;</code> + */ + public Builder clearCharges() { + bitField0_ = (bitField0_ & ~0x00004000); + charges_ = 0; + onChanged(); + return this; + } + + private int secondaryCharges_ ; + /** + * <code>optional uint32 secondary_charges = 31;</code> + */ + public boolean hasSecondaryCharges() { + return ((bitField0_ & 0x00008000) != 0); + } + /** + * <code>optional uint32 secondary_charges = 31;</code> + */ + public int getSecondaryCharges() { + return secondaryCharges_; + } + /** + * <code>optional uint32 secondary_charges = 31;</code> + */ + public Builder setSecondaryCharges(int value) { + bitField0_ |= 0x00008000; + secondaryCharges_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 secondary_charges = 31;</code> + */ + public Builder clearSecondaryCharges() { + bitField0_ = (bitField0_ & ~0x00008000); + secondaryCharges_ = 0; + onChanged(); + return this; + } + + private boolean isCombinedLocked_ ; + /** + * <code>optional bool is_combined_locked = 40;</code> + */ + public boolean hasIsCombinedLocked() { + return ((bitField0_ & 0x00010000) != 0); + } + /** + * <code>optional bool is_combined_locked = 40;</code> + */ + public boolean getIsCombinedLocked() { + return isCombinedLocked_; + } + /** + * <code>optional bool is_combined_locked = 40;</code> + */ + public Builder setIsCombinedLocked(boolean value) { + bitField0_ |= 0x00010000; + isCombinedLocked_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_combined_locked = 40;</code> + */ + public Builder clearIsCombinedLocked() { + bitField0_ = (bitField0_ & ~0x00010000); + isCombinedLocked_ = false; + onChanged(); + return this; + } + + private int powerTreadsStat_ = -1; + /** + * <code>optional int32 power_treads_stat = 50 [default = -1];</code> + */ + public boolean hasPowerTreadsStat() { + return ((bitField0_ & 0x00020000) != 0); + } + /** + * <code>optional int32 power_treads_stat = 50 [default = -1];</code> + */ + public int getPowerTreadsStat() { + return powerTreadsStat_; + } + /** + * <code>optional int32 power_treads_stat = 50 [default = -1];</code> + */ + public Builder setPowerTreadsStat(int value) { + bitField0_ |= 0x00020000; + powerTreadsStat_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 power_treads_stat = 50 [default = -1];</code> + */ + public Builder clearPowerTreadsStat() { + bitField0_ = (bitField0_ & ~0x00020000); + powerTreadsStat_ = -1; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Ability) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Ability) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<Ability> + PARSER = new com.google.protobuf.AbstractParser<Ability>() { + @java.lang.Override + public Ability parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Ability(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Ability> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Ability> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface DroppedItemOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.DroppedItem) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional uint32 item_id = 1;</code> + */ + boolean hasItemId(); + /** + * <code>optional uint32 item_id = 1;</code> + */ + int getItemId(); + + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + boolean hasLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder(); + } + /** + * Protobuf type {@code CMsgBotWorldState.DroppedItem} + */ + public static final class DroppedItem extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.DroppedItem) + DroppedItemOrBuilder { + private static final long serialVersionUID = 0L; + // Use DroppedItem.newBuilder() to construct. + private DroppedItem(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private DroppedItem() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private DroppedItem( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + itemId_ = input.readUInt32(); + break; + } + case 18: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000002) != 0)) { + subBuilder = location_.toBuilder(); + } + location_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(location_); + location_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000002; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_DroppedItem_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_DroppedItem_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.Builder.class); + } + + private int bitField0_; + public static final int ITEM_ID_FIELD_NUMBER = 1; + private int itemId_; + /** + * <code>optional uint32 item_id = 1;</code> + */ + public boolean hasItemId() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 item_id = 1;</code> + */ + public int getItemId() { + return itemId_; + } + + public static final int LOCATION_FIELD_NUMBER = 2; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (hasLocation()) { + if (!getLocation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeUInt32(1, itemId_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getLocation()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, itemId_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getLocation()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem) obj; + + if (hasItemId() != other.hasItemId()) return false; + if (hasItemId()) { + if (getItemId() + != other.getItemId()) return false; + } + if (hasLocation() != other.hasLocation()) return false; + if (hasLocation()) { + if (!getLocation() + .equals(other.getLocation())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasItemId()) { + hash = (37 * hash) + ITEM_ID_FIELD_NUMBER; + hash = (53 * hash) + getItemId(); + } + if (hasLocation()) { + hash = (37 * hash) + LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getLocation().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.DroppedItem} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.DroppedItem) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItemOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_DroppedItem_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_DroppedItem_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getLocationFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + itemId_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + if (locationBuilder_ == null) { + location_ = null; + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_DroppedItem_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.itemId_ = itemId_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + if (locationBuilder_ == null) { + result.location_ = location_; + } else { + result.location_ = locationBuilder_.build(); + } + to_bitField0_ |= 0x00000002; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.getDefaultInstance()) return this; + if (other.hasItemId()) { + setItemId(other.getItemId()); + } + if (other.hasLocation()) { + mergeLocation(other.getLocation()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (hasLocation()) { + if (!getLocation().isInitialized()) { + return false; + } + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int itemId_ ; + /** + * <code>optional uint32 item_id = 1;</code> + */ + public boolean hasItemId() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 item_id = 1;</code> + */ + public int getItemId() { + return itemId_; + } + /** + * <code>optional uint32 item_id = 1;</code> + */ + public Builder setItemId(int value) { + bitField0_ |= 0x00000001; + itemId_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 item_id = 1;</code> + */ + public Builder clearItemId() { + bitField0_ = (bitField0_ & ~0x00000001); + itemId_ = 0; + onChanged(); + return this; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> locationBuilder_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + if (locationBuilder_ == null) { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } else { + return locationBuilder_.getMessage(); + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder setLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + onChanged(); + } else { + locationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder setLocation( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (locationBuilder_ == null) { + location_ = builderForValue.build(); + onChanged(); + } else { + locationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder mergeLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && + location_ != null && + location_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + location_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(location_).mergeFrom(value).buildPartial(); + } else { + location_ = value; + } + onChanged(); + } else { + locationBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder clearLocation() { + if (locationBuilder_ == null) { + location_ = null; + onChanged(); + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getLocationBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return getLocationFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + if (locationBuilder_ != null) { + return locationBuilder_.getMessageOrBuilder(); + } else { + return location_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getLocationFieldBuilder() { + if (locationBuilder_ == null) { + locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getLocation(), + getParentForChildren(), + isClean()); + location_ = null; + } + return locationBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.DroppedItem) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.DroppedItem) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<DroppedItem> + PARSER = new com.google.protobuf.AbstractParser<DroppedItem>() { + @java.lang.Override + public DroppedItem parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new DroppedItem(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<DroppedItem> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<DroppedItem> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface RuneInfoOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.RuneInfo) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional int32 type = 1;</code> + */ + boolean hasType(); + /** + * <code>optional int32 type = 1;</code> + */ + int getType(); + + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + boolean hasLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder(); + + /** + * <code>optional uint32 status = 3;</code> + */ + boolean hasStatus(); + /** + * <code>optional uint32 status = 3;</code> + */ + int getStatus(); + + /** + * <code>optional float time_since_seen = 4;</code> + */ + boolean hasTimeSinceSeen(); + /** + * <code>optional float time_since_seen = 4;</code> + */ + float getTimeSinceSeen(); + } + /** + * Protobuf type {@code CMsgBotWorldState.RuneInfo} + */ + public static final class RuneInfo extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.RuneInfo) + RuneInfoOrBuilder { + private static final long serialVersionUID = 0L; + // Use RuneInfo.newBuilder() to construct. + private RuneInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private RuneInfo() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private RuneInfo( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + type_ = input.readInt32(); + break; + } + case 18: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000002) != 0)) { + subBuilder = location_.toBuilder(); + } + location_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(location_); + location_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000002; + break; + } + case 24: { + bitField0_ |= 0x00000004; + status_ = input.readUInt32(); + break; + } + case 37: { + bitField0_ |= 0x00000008; + timeSinceSeen_ = input.readFloat(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_RuneInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_RuneInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.Builder.class); + } + + private int bitField0_; + public static final int TYPE_FIELD_NUMBER = 1; + private int type_; + /** + * <code>optional int32 type = 1;</code> + */ + public boolean hasType() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional int32 type = 1;</code> + */ + public int getType() { + return type_; + } + + public static final int LOCATION_FIELD_NUMBER = 2; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + + public static final int STATUS_FIELD_NUMBER = 3; + private int status_; + /** + * <code>optional uint32 status = 3;</code> + */ + public boolean hasStatus() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional uint32 status = 3;</code> + */ + public int getStatus() { + return status_; + } + + public static final int TIME_SINCE_SEEN_FIELD_NUMBER = 4; + private float timeSinceSeen_; + /** + * <code>optional float time_since_seen = 4;</code> + */ + public boolean hasTimeSinceSeen() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional float time_since_seen = 4;</code> + */ + public float getTimeSinceSeen() { + return timeSinceSeen_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (hasLocation()) { + if (!getLocation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(1, type_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getLocation()); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeUInt32(3, status_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeFloat(4, timeSinceSeen_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, type_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getLocation()); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(3, status_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(4, timeSinceSeen_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo) obj; + + if (hasType() != other.hasType()) return false; + if (hasType()) { + if (getType() + != other.getType()) return false; + } + if (hasLocation() != other.hasLocation()) return false; + if (hasLocation()) { + if (!getLocation() + .equals(other.getLocation())) return false; + } + if (hasStatus() != other.hasStatus()) return false; + if (hasStatus()) { + if (getStatus() + != other.getStatus()) return false; + } + if (hasTimeSinceSeen() != other.hasTimeSinceSeen()) return false; + if (hasTimeSinceSeen()) { + if (java.lang.Float.floatToIntBits(getTimeSinceSeen()) + != java.lang.Float.floatToIntBits( + other.getTimeSinceSeen())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasType()) { + hash = (37 * hash) + TYPE_FIELD_NUMBER; + hash = (53 * hash) + getType(); + } + if (hasLocation()) { + hash = (37 * hash) + LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getLocation().hashCode(); + } + if (hasStatus()) { + hash = (37 * hash) + STATUS_FIELD_NUMBER; + hash = (53 * hash) + getStatus(); + } + if (hasTimeSinceSeen()) { + hash = (37 * hash) + TIME_SINCE_SEEN_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getTimeSinceSeen()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.RuneInfo} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.RuneInfo) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfoOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_RuneInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_RuneInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getLocationFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + type_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + if (locationBuilder_ == null) { + location_ = null; + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + status_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + timeSinceSeen_ = 0F; + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_RuneInfo_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.type_ = type_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + if (locationBuilder_ == null) { + result.location_ = location_; + } else { + result.location_ = locationBuilder_.build(); + } + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.status_ = status_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.timeSinceSeen_ = timeSinceSeen_; + to_bitField0_ |= 0x00000008; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.getDefaultInstance()) return this; + if (other.hasType()) { + setType(other.getType()); + } + if (other.hasLocation()) { + mergeLocation(other.getLocation()); + } + if (other.hasStatus()) { + setStatus(other.getStatus()); + } + if (other.hasTimeSinceSeen()) { + setTimeSinceSeen(other.getTimeSinceSeen()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (hasLocation()) { + if (!getLocation().isInitialized()) { + return false; + } + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int type_ ; + /** + * <code>optional int32 type = 1;</code> + */ + public boolean hasType() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional int32 type = 1;</code> + */ + public int getType() { + return type_; + } + /** + * <code>optional int32 type = 1;</code> + */ + public Builder setType(int value) { + bitField0_ |= 0x00000001; + type_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 type = 1;</code> + */ + public Builder clearType() { + bitField0_ = (bitField0_ & ~0x00000001); + type_ = 0; + onChanged(); + return this; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> locationBuilder_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + if (locationBuilder_ == null) { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } else { + return locationBuilder_.getMessage(); + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder setLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + onChanged(); + } else { + locationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder setLocation( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (locationBuilder_ == null) { + location_ = builderForValue.build(); + onChanged(); + } else { + locationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder mergeLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && + location_ != null && + location_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + location_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(location_).mergeFrom(value).buildPartial(); + } else { + location_ = value; + } + onChanged(); + } else { + locationBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder clearLocation() { + if (locationBuilder_ == null) { + location_ = null; + onChanged(); + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getLocationBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return getLocationFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + if (locationBuilder_ != null) { + return locationBuilder_.getMessageOrBuilder(); + } else { + return location_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getLocationFieldBuilder() { + if (locationBuilder_ == null) { + locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getLocation(), + getParentForChildren(), + isClean()); + location_ = null; + } + return locationBuilder_; + } + + private int status_ ; + /** + * <code>optional uint32 status = 3;</code> + */ + public boolean hasStatus() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional uint32 status = 3;</code> + */ + public int getStatus() { + return status_; + } + /** + * <code>optional uint32 status = 3;</code> + */ + public Builder setStatus(int value) { + bitField0_ |= 0x00000004; + status_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 status = 3;</code> + */ + public Builder clearStatus() { + bitField0_ = (bitField0_ & ~0x00000004); + status_ = 0; + onChanged(); + return this; + } + + private float timeSinceSeen_ ; + /** + * <code>optional float time_since_seen = 4;</code> + */ + public boolean hasTimeSinceSeen() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional float time_since_seen = 4;</code> + */ + public float getTimeSinceSeen() { + return timeSinceSeen_; + } + /** + * <code>optional float time_since_seen = 4;</code> + */ + public Builder setTimeSinceSeen(float value) { + bitField0_ |= 0x00000008; + timeSinceSeen_ = value; + onChanged(); + return this; + } + /** + * <code>optional float time_since_seen = 4;</code> + */ + public Builder clearTimeSinceSeen() { + bitField0_ = (bitField0_ & ~0x00000008); + timeSinceSeen_ = 0F; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.RuneInfo) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.RuneInfo) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<RuneInfo> + PARSER = new com.google.protobuf.AbstractParser<RuneInfo>() { + @java.lang.Override + public RuneInfo parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new RuneInfo(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<RuneInfo> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<RuneInfo> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface TeleportInfoOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.TeleportInfo) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional int32 player_id = 1;</code> + */ + boolean hasPlayerId(); + /** + * <code>optional int32 player_id = 1;</code> + */ + int getPlayerId(); + + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + boolean hasLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder(); + + /** + * <code>optional float time_remaining = 3;</code> + */ + boolean hasTimeRemaining(); + /** + * <code>optional float time_remaining = 3;</code> + */ + float getTimeRemaining(); + } + /** + * Protobuf type {@code CMsgBotWorldState.TeleportInfo} + */ + public static final class TeleportInfo extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.TeleportInfo) + TeleportInfoOrBuilder { + private static final long serialVersionUID = 0L; + // Use TeleportInfo.newBuilder() to construct. + private TeleportInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private TeleportInfo() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private TeleportInfo( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + playerId_ = input.readInt32(); + break; + } + case 18: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000002) != 0)) { + subBuilder = location_.toBuilder(); + } + location_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(location_); + location_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000002; + break; + } + case 29: { + bitField0_ |= 0x00000004; + timeRemaining_ = input.readFloat(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_TeleportInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_TeleportInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.Builder.class); + } + + private int bitField0_; + public static final int PLAYER_ID_FIELD_NUMBER = 1; + private int playerId_; + /** + * <code>optional int32 player_id = 1;</code> + */ + public boolean hasPlayerId() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional int32 player_id = 1;</code> + */ + public int getPlayerId() { + return playerId_; + } + + public static final int LOCATION_FIELD_NUMBER = 2; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + + public static final int TIME_REMAINING_FIELD_NUMBER = 3; + private float timeRemaining_; + /** + * <code>optional float time_remaining = 3;</code> + */ + public boolean hasTimeRemaining() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional float time_remaining = 3;</code> + */ + public float getTimeRemaining() { + return timeRemaining_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (hasLocation()) { + if (!getLocation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(1, playerId_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getLocation()); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeFloat(3, timeRemaining_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, playerId_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getLocation()); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(3, timeRemaining_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo) obj; + + if (hasPlayerId() != other.hasPlayerId()) return false; + if (hasPlayerId()) { + if (getPlayerId() + != other.getPlayerId()) return false; + } + if (hasLocation() != other.hasLocation()) return false; + if (hasLocation()) { + if (!getLocation() + .equals(other.getLocation())) return false; + } + if (hasTimeRemaining() != other.hasTimeRemaining()) return false; + if (hasTimeRemaining()) { + if (java.lang.Float.floatToIntBits(getTimeRemaining()) + != java.lang.Float.floatToIntBits( + other.getTimeRemaining())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasPlayerId()) { + hash = (37 * hash) + PLAYER_ID_FIELD_NUMBER; + hash = (53 * hash) + getPlayerId(); + } + if (hasLocation()) { + hash = (37 * hash) + LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getLocation().hashCode(); + } + if (hasTimeRemaining()) { + hash = (37 * hash) + TIME_REMAINING_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getTimeRemaining()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.TeleportInfo} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.TeleportInfo) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfoOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_TeleportInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_TeleportInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getLocationFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + playerId_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + if (locationBuilder_ == null) { + location_ = null; + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + timeRemaining_ = 0F; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_TeleportInfo_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.playerId_ = playerId_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + if (locationBuilder_ == null) { + result.location_ = location_; + } else { + result.location_ = locationBuilder_.build(); + } + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.timeRemaining_ = timeRemaining_; + to_bitField0_ |= 0x00000004; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.getDefaultInstance()) return this; + if (other.hasPlayerId()) { + setPlayerId(other.getPlayerId()); + } + if (other.hasLocation()) { + mergeLocation(other.getLocation()); + } + if (other.hasTimeRemaining()) { + setTimeRemaining(other.getTimeRemaining()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (hasLocation()) { + if (!getLocation().isInitialized()) { + return false; + } + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int playerId_ ; + /** + * <code>optional int32 player_id = 1;</code> + */ + public boolean hasPlayerId() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional int32 player_id = 1;</code> + */ + public int getPlayerId() { + return playerId_; + } + /** + * <code>optional int32 player_id = 1;</code> + */ + public Builder setPlayerId(int value) { + bitField0_ |= 0x00000001; + playerId_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 player_id = 1;</code> + */ + public Builder clearPlayerId() { + bitField0_ = (bitField0_ & ~0x00000001); + playerId_ = 0; + onChanged(); + return this; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> locationBuilder_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + if (locationBuilder_ == null) { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } else { + return locationBuilder_.getMessage(); + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder setLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + onChanged(); + } else { + locationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder setLocation( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (locationBuilder_ == null) { + location_ = builderForValue.build(); + onChanged(); + } else { + locationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder mergeLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && + location_ != null && + location_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + location_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(location_).mergeFrom(value).buildPartial(); + } else { + location_ = value; + } + onChanged(); + } else { + locationBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder clearLocation() { + if (locationBuilder_ == null) { + location_ = null; + onChanged(); + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getLocationBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return getLocationFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + if (locationBuilder_ != null) { + return locationBuilder_.getMessageOrBuilder(); + } else { + return location_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 2;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getLocationFieldBuilder() { + if (locationBuilder_ == null) { + locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getLocation(), + getParentForChildren(), + isClean()); + location_ = null; + } + return locationBuilder_; + } + + private float timeRemaining_ ; + /** + * <code>optional float time_remaining = 3;</code> + */ + public boolean hasTimeRemaining() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional float time_remaining = 3;</code> + */ + public float getTimeRemaining() { + return timeRemaining_; + } + /** + * <code>optional float time_remaining = 3;</code> + */ + public Builder setTimeRemaining(float value) { + bitField0_ |= 0x00000004; + timeRemaining_ = value; + onChanged(); + return this; + } + /** + * <code>optional float time_remaining = 3;</code> + */ + public Builder clearTimeRemaining() { + bitField0_ = (bitField0_ & ~0x00000004); + timeRemaining_ = 0F; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.TeleportInfo) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.TeleportInfo) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<TeleportInfo> + PARSER = new com.google.protobuf.AbstractParser<TeleportInfo>() { + @java.lang.Override + public TeleportInfo parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new TeleportInfo(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<TeleportInfo> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<TeleportInfo> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ModifierOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Modifier) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional string name = 1;</code> + */ + boolean hasName(); + /** + * <code>optional string name = 1;</code> + */ + java.lang.String getName(); + /** + * <code>optional string name = 1;</code> + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + * <code>optional uint32 stack_count = 2;</code> + */ + boolean hasStackCount(); + /** + * <code>optional uint32 stack_count = 2;</code> + */ + int getStackCount(); + + /** + * <code>optional uint32 ability_handle = 3;</code> + */ + boolean hasAbilityHandle(); + /** + * <code>optional uint32 ability_handle = 3;</code> + */ + int getAbilityHandle(); + + /** + * <code>optional uint32 ability_id = 4;</code> + */ + boolean hasAbilityId(); + /** + * <code>optional uint32 ability_id = 4;</code> + */ + int getAbilityId(); + + /** + * <code>optional float remaining_duration = 5;</code> + */ + boolean hasRemainingDuration(); + /** + * <code>optional float remaining_duration = 5;</code> + */ + float getRemainingDuration(); + + /** + * <code>repeated uint32 auxiliary_units_handles = 6;</code> + */ + java.util.List<java.lang.Integer> getAuxiliaryUnitsHandlesList(); + /** + * <code>repeated uint32 auxiliary_units_handles = 6;</code> + */ + int getAuxiliaryUnitsHandlesCount(); + /** + * <code>repeated uint32 auxiliary_units_handles = 6;</code> + */ + int getAuxiliaryUnitsHandles(int index); + } + /** + * Protobuf type {@code CMsgBotWorldState.Modifier} + */ + public static final class Modifier extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Modifier) + ModifierOrBuilder { + private static final long serialVersionUID = 0L; + // Use Modifier.newBuilder() to construct. + private Modifier(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Modifier() { + name_ = ""; + auxiliaryUnitsHandles_ = emptyIntList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Modifier( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000001; + name_ = bs; + break; + } + case 16: { + bitField0_ |= 0x00000002; + stackCount_ = input.readUInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + abilityHandle_ = input.readUInt32(); + break; + } + case 32: { + bitField0_ |= 0x00000008; + abilityId_ = input.readUInt32(); + break; + } + case 45: { + bitField0_ |= 0x00000010; + remainingDuration_ = input.readFloat(); + break; + } + case 48: { + if (!((mutable_bitField0_ & 0x00000020) != 0)) { + auxiliaryUnitsHandles_ = newIntList(); + mutable_bitField0_ |= 0x00000020; + } + auxiliaryUnitsHandles_.addInt(input.readUInt32()); + break; + } + case 50: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000020) != 0) && input.getBytesUntilLimit() > 0) { + auxiliaryUnitsHandles_ = newIntList(); + mutable_bitField0_ |= 0x00000020; + } + while (input.getBytesUntilLimit() > 0) { + auxiliaryUnitsHandles_.addInt(input.readUInt32()); + } + input.popLimit(limit); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000020) != 0)) { + auxiliaryUnitsHandles_.makeImmutable(); // C + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Modifier_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Modifier_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.Builder.class); + } + + private int bitField0_; + public static final int NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object name_; + /** + * <code>optional string name = 1;</code> + */ + public boolean hasName() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional string name = 1;</code> + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + name_ = s; + } + return s; + } + } + /** + * <code>optional string name = 1;</code> + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int STACK_COUNT_FIELD_NUMBER = 2; + private int stackCount_; + /** + * <code>optional uint32 stack_count = 2;</code> + */ + public boolean hasStackCount() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional uint32 stack_count = 2;</code> + */ + public int getStackCount() { + return stackCount_; + } + + public static final int ABILITY_HANDLE_FIELD_NUMBER = 3; + private int abilityHandle_; + /** + * <code>optional uint32 ability_handle = 3;</code> + */ + public boolean hasAbilityHandle() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional uint32 ability_handle = 3;</code> + */ + public int getAbilityHandle() { + return abilityHandle_; + } + + public static final int ABILITY_ID_FIELD_NUMBER = 4; + private int abilityId_; + /** + * <code>optional uint32 ability_id = 4;</code> + */ + public boolean hasAbilityId() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional uint32 ability_id = 4;</code> + */ + public int getAbilityId() { + return abilityId_; + } + + public static final int REMAINING_DURATION_FIELD_NUMBER = 5; + private float remainingDuration_; + /** + * <code>optional float remaining_duration = 5;</code> + */ + public boolean hasRemainingDuration() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional float remaining_duration = 5;</code> + */ + public float getRemainingDuration() { + return remainingDuration_; + } + + public static final int AUXILIARY_UNITS_HANDLES_FIELD_NUMBER = 6; + private com.google.protobuf.Internal.IntList auxiliaryUnitsHandles_; + /** + * <code>repeated uint32 auxiliary_units_handles = 6;</code> + */ + public java.util.List<java.lang.Integer> + getAuxiliaryUnitsHandlesList() { + return auxiliaryUnitsHandles_; + } + /** + * <code>repeated uint32 auxiliary_units_handles = 6;</code> + */ + public int getAuxiliaryUnitsHandlesCount() { + return auxiliaryUnitsHandles_.size(); + } + /** + * <code>repeated uint32 auxiliary_units_handles = 6;</code> + */ + public int getAuxiliaryUnitsHandles(int index) { + return auxiliaryUnitsHandles_.getInt(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeUInt32(2, stackCount_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeUInt32(3, abilityHandle_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeUInt32(4, abilityId_); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeFloat(5, remainingDuration_); + } + for (int i = 0; i < auxiliaryUnitsHandles_.size(); i++) { + output.writeUInt32(6, auxiliaryUnitsHandles_.getInt(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(2, stackCount_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(3, abilityHandle_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(4, abilityId_); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(5, remainingDuration_); + } + { + int dataSize = 0; + for (int i = 0; i < auxiliaryUnitsHandles_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeUInt32SizeNoTag(auxiliaryUnitsHandles_.getInt(i)); + } + size += dataSize; + size += 1 * getAuxiliaryUnitsHandlesList().size(); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier) obj; + + if (hasName() != other.hasName()) return false; + if (hasName()) { + if (!getName() + .equals(other.getName())) return false; + } + if (hasStackCount() != other.hasStackCount()) return false; + if (hasStackCount()) { + if (getStackCount() + != other.getStackCount()) return false; + } + if (hasAbilityHandle() != other.hasAbilityHandle()) return false; + if (hasAbilityHandle()) { + if (getAbilityHandle() + != other.getAbilityHandle()) return false; + } + if (hasAbilityId() != other.hasAbilityId()) return false; + if (hasAbilityId()) { + if (getAbilityId() + != other.getAbilityId()) return false; + } + if (hasRemainingDuration() != other.hasRemainingDuration()) return false; + if (hasRemainingDuration()) { + if (java.lang.Float.floatToIntBits(getRemainingDuration()) + != java.lang.Float.floatToIntBits( + other.getRemainingDuration())) return false; + } + if (!getAuxiliaryUnitsHandlesList() + .equals(other.getAuxiliaryUnitsHandlesList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasName()) { + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + } + if (hasStackCount()) { + hash = (37 * hash) + STACK_COUNT_FIELD_NUMBER; + hash = (53 * hash) + getStackCount(); + } + if (hasAbilityHandle()) { + hash = (37 * hash) + ABILITY_HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getAbilityHandle(); + } + if (hasAbilityId()) { + hash = (37 * hash) + ABILITY_ID_FIELD_NUMBER; + hash = (53 * hash) + getAbilityId(); + } + if (hasRemainingDuration()) { + hash = (37 * hash) + REMAINING_DURATION_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getRemainingDuration()); + } + if (getAuxiliaryUnitsHandlesCount() > 0) { + hash = (37 * hash) + AUXILIARY_UNITS_HANDLES_FIELD_NUMBER; + hash = (53 * hash) + getAuxiliaryUnitsHandlesList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Modifier} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Modifier) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.ModifierOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Modifier_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Modifier_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + name_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + stackCount_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + abilityHandle_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + abilityId_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + remainingDuration_ = 0F; + bitField0_ = (bitField0_ & ~0x00000010); + auxiliaryUnitsHandles_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000020); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Modifier_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + to_bitField0_ |= 0x00000001; + } + result.name_ = name_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.stackCount_ = stackCount_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.abilityHandle_ = abilityHandle_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.abilityId_ = abilityId_; + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.remainingDuration_ = remainingDuration_; + to_bitField0_ |= 0x00000010; + } + if (((bitField0_ & 0x00000020) != 0)) { + auxiliaryUnitsHandles_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000020); + } + result.auxiliaryUnitsHandles_ = auxiliaryUnitsHandles_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.getDefaultInstance()) return this; + if (other.hasName()) { + bitField0_ |= 0x00000001; + name_ = other.name_; + onChanged(); + } + if (other.hasStackCount()) { + setStackCount(other.getStackCount()); + } + if (other.hasAbilityHandle()) { + setAbilityHandle(other.getAbilityHandle()); + } + if (other.hasAbilityId()) { + setAbilityId(other.getAbilityId()); + } + if (other.hasRemainingDuration()) { + setRemainingDuration(other.getRemainingDuration()); + } + if (!other.auxiliaryUnitsHandles_.isEmpty()) { + if (auxiliaryUnitsHandles_.isEmpty()) { + auxiliaryUnitsHandles_ = other.auxiliaryUnitsHandles_; + bitField0_ = (bitField0_ & ~0x00000020); + } else { + ensureAuxiliaryUnitsHandlesIsMutable(); + auxiliaryUnitsHandles_.addAll(other.auxiliaryUnitsHandles_); + } + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.lang.Object name_ = ""; + /** + * <code>optional string name = 1;</code> + */ + public boolean hasName() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional string name = 1;</code> + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + name_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string name = 1;</code> + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string name = 1;</code> + */ + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + name_ = value; + onChanged(); + return this; + } + /** + * <code>optional string name = 1;</code> + */ + public Builder clearName() { + bitField0_ = (bitField0_ & ~0x00000001); + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * <code>optional string name = 1;</code> + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + name_ = value; + onChanged(); + return this; + } + + private int stackCount_ ; + /** + * <code>optional uint32 stack_count = 2;</code> + */ + public boolean hasStackCount() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional uint32 stack_count = 2;</code> + */ + public int getStackCount() { + return stackCount_; + } + /** + * <code>optional uint32 stack_count = 2;</code> + */ + public Builder setStackCount(int value) { + bitField0_ |= 0x00000002; + stackCount_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 stack_count = 2;</code> + */ + public Builder clearStackCount() { + bitField0_ = (bitField0_ & ~0x00000002); + stackCount_ = 0; + onChanged(); + return this; + } + + private int abilityHandle_ ; + /** + * <code>optional uint32 ability_handle = 3;</code> + */ + public boolean hasAbilityHandle() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional uint32 ability_handle = 3;</code> + */ + public int getAbilityHandle() { + return abilityHandle_; + } + /** + * <code>optional uint32 ability_handle = 3;</code> + */ + public Builder setAbilityHandle(int value) { + bitField0_ |= 0x00000004; + abilityHandle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 ability_handle = 3;</code> + */ + public Builder clearAbilityHandle() { + bitField0_ = (bitField0_ & ~0x00000004); + abilityHandle_ = 0; + onChanged(); + return this; + } + + private int abilityId_ ; + /** + * <code>optional uint32 ability_id = 4;</code> + */ + public boolean hasAbilityId() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional uint32 ability_id = 4;</code> + */ + public int getAbilityId() { + return abilityId_; + } + /** + * <code>optional uint32 ability_id = 4;</code> + */ + public Builder setAbilityId(int value) { + bitField0_ |= 0x00000008; + abilityId_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 ability_id = 4;</code> + */ + public Builder clearAbilityId() { + bitField0_ = (bitField0_ & ~0x00000008); + abilityId_ = 0; + onChanged(); + return this; + } + + private float remainingDuration_ ; + /** + * <code>optional float remaining_duration = 5;</code> + */ + public boolean hasRemainingDuration() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional float remaining_duration = 5;</code> + */ + public float getRemainingDuration() { + return remainingDuration_; + } + /** + * <code>optional float remaining_duration = 5;</code> + */ + public Builder setRemainingDuration(float value) { + bitField0_ |= 0x00000010; + remainingDuration_ = value; + onChanged(); + return this; + } + /** + * <code>optional float remaining_duration = 5;</code> + */ + public Builder clearRemainingDuration() { + bitField0_ = (bitField0_ & ~0x00000010); + remainingDuration_ = 0F; + onChanged(); + return this; + } + + private com.google.protobuf.Internal.IntList auxiliaryUnitsHandles_ = emptyIntList(); + private void ensureAuxiliaryUnitsHandlesIsMutable() { + if (!((bitField0_ & 0x00000020) != 0)) { + auxiliaryUnitsHandles_ = mutableCopy(auxiliaryUnitsHandles_); + bitField0_ |= 0x00000020; + } + } + /** + * <code>repeated uint32 auxiliary_units_handles = 6;</code> + */ + public java.util.List<java.lang.Integer> + getAuxiliaryUnitsHandlesList() { + return ((bitField0_ & 0x00000020) != 0) ? + java.util.Collections.unmodifiableList(auxiliaryUnitsHandles_) : auxiliaryUnitsHandles_; + } + /** + * <code>repeated uint32 auxiliary_units_handles = 6;</code> + */ + public int getAuxiliaryUnitsHandlesCount() { + return auxiliaryUnitsHandles_.size(); + } + /** + * <code>repeated uint32 auxiliary_units_handles = 6;</code> + */ + public int getAuxiliaryUnitsHandles(int index) { + return auxiliaryUnitsHandles_.getInt(index); + } + /** + * <code>repeated uint32 auxiliary_units_handles = 6;</code> + */ + public Builder setAuxiliaryUnitsHandles( + int index, int value) { + ensureAuxiliaryUnitsHandlesIsMutable(); + auxiliaryUnitsHandles_.setInt(index, value); + onChanged(); + return this; + } + /** + * <code>repeated uint32 auxiliary_units_handles = 6;</code> + */ + public Builder addAuxiliaryUnitsHandles(int value) { + ensureAuxiliaryUnitsHandlesIsMutable(); + auxiliaryUnitsHandles_.addInt(value); + onChanged(); + return this; + } + /** + * <code>repeated uint32 auxiliary_units_handles = 6;</code> + */ + public Builder addAllAuxiliaryUnitsHandles( + java.lang.Iterable<? extends java.lang.Integer> values) { + ensureAuxiliaryUnitsHandlesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, auxiliaryUnitsHandles_); + onChanged(); + return this; + } + /** + * <code>repeated uint32 auxiliary_units_handles = 6;</code> + */ + public Builder clearAuxiliaryUnitsHandles() { + auxiliaryUnitsHandles_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Modifier) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Modifier) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<Modifier> + PARSER = new com.google.protobuf.AbstractParser<Modifier>() { + @java.lang.Override + public Modifier parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Modifier(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Modifier> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Modifier> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface LinearProjectileOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.LinearProjectile) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional uint32 handle = 1;</code> + */ + boolean hasHandle(); + /** + * <code>optional uint32 handle = 1;</code> + */ + int getHandle(); + + /** + * <code>optional uint32 caster_handle = 2;</code> + */ + boolean hasCasterHandle(); + /** + * <code>optional uint32 caster_handle = 2;</code> + */ + int getCasterHandle(); + + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];</code> + */ + boolean hasCasterUnitType(); + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType getCasterUnitType(); + + /** + * <code>optional int32 caster_player_id = 3;</code> + */ + boolean hasCasterPlayerId(); + /** + * <code>optional int32 caster_player_id = 3;</code> + */ + int getCasterPlayerId(); + + /** + * <code>optional uint32 ability_handle = 4;</code> + */ + boolean hasAbilityHandle(); + /** + * <code>optional uint32 ability_handle = 4;</code> + */ + int getAbilityHandle(); + + /** + * <code>optional uint32 ability_id = 5;</code> + */ + boolean hasAbilityId(); + /** + * <code>optional uint32 ability_id = 5;</code> + */ + int getAbilityId(); + + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + boolean hasLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Vector velocity = 7;</code> + */ + boolean hasVelocity(); + /** + * <code>optional .CMsgBotWorldState.Vector velocity = 7;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getVelocity(); + /** + * <code>optional .CMsgBotWorldState.Vector velocity = 7;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getVelocityOrBuilder(); + + /** + * <code>optional uint32 radius = 8;</code> + */ + boolean hasRadius(); + /** + * <code>optional uint32 radius = 8;</code> + */ + int getRadius(); + } + /** + * Protobuf type {@code CMsgBotWorldState.LinearProjectile} + */ + public static final class LinearProjectile extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.LinearProjectile) + LinearProjectileOrBuilder { + private static final long serialVersionUID = 0L; + // Use LinearProjectile.newBuilder() to construct. + private LinearProjectile(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private LinearProjectile() { + casterUnitType_ = 0; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private LinearProjectile( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + handle_ = input.readUInt32(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + casterHandle_ = input.readUInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000008; + casterPlayerId_ = input.readInt32(); + break; + } + case 32: { + bitField0_ |= 0x00000010; + abilityHandle_ = input.readUInt32(); + break; + } + case 40: { + bitField0_ |= 0x00000020; + abilityId_ = input.readUInt32(); + break; + } + case 50: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000040) != 0)) { + subBuilder = location_.toBuilder(); + } + location_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(location_); + location_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000040; + break; + } + case 58: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000080) != 0)) { + subBuilder = velocity_.toBuilder(); + } + velocity_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(velocity_); + velocity_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000080; + break; + } + case 64: { + bitField0_ |= 0x00000100; + radius_ = input.readUInt32(); + break; + } + case 72: { + int rawValue = input.readEnum(); + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType value = CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(9, rawValue); + } else { + bitField0_ |= 0x00000004; + casterUnitType_ = rawValue; + } + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_LinearProjectile_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_LinearProjectile_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.Builder.class); + } + + private int bitField0_; + public static final int HANDLE_FIELD_NUMBER = 1; + private int handle_; + /** + * <code>optional uint32 handle = 1;</code> + */ + public boolean hasHandle() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 handle = 1;</code> + */ + public int getHandle() { + return handle_; + } + + public static final int CASTER_HANDLE_FIELD_NUMBER = 2; + private int casterHandle_; + /** + * <code>optional uint32 caster_handle = 2;</code> + */ + public boolean hasCasterHandle() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional uint32 caster_handle = 2;</code> + */ + public int getCasterHandle() { + return casterHandle_; + } + + public static final int CASTER_UNIT_TYPE_FIELD_NUMBER = 9; + private int casterUnitType_; + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];</code> + */ + public boolean hasCasterUnitType() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType getCasterUnitType() { + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType result = CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.valueOf(casterUnitType_); + return result == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.INVALID : result; + } + + public static final int CASTER_PLAYER_ID_FIELD_NUMBER = 3; + private int casterPlayerId_; + /** + * <code>optional int32 caster_player_id = 3;</code> + */ + public boolean hasCasterPlayerId() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional int32 caster_player_id = 3;</code> + */ + public int getCasterPlayerId() { + return casterPlayerId_; + } + + public static final int ABILITY_HANDLE_FIELD_NUMBER = 4; + private int abilityHandle_; + /** + * <code>optional uint32 ability_handle = 4;</code> + */ + public boolean hasAbilityHandle() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 ability_handle = 4;</code> + */ + public int getAbilityHandle() { + return abilityHandle_; + } + + public static final int ABILITY_ID_FIELD_NUMBER = 5; + private int abilityId_; + /** + * <code>optional uint32 ability_id = 5;</code> + */ + public boolean hasAbilityId() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional uint32 ability_id = 5;</code> + */ + public int getAbilityId() { + return abilityId_; + } + + public static final int LOCATION_FIELD_NUMBER = 6; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + + public static final int VELOCITY_FIELD_NUMBER = 7; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector velocity_; + /** + * <code>optional .CMsgBotWorldState.Vector velocity = 7;</code> + */ + public boolean hasVelocity() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector velocity = 7;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getVelocity() { + return velocity_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : velocity_; + } + /** + * <code>optional .CMsgBotWorldState.Vector velocity = 7;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getVelocityOrBuilder() { + return velocity_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : velocity_; + } + + public static final int RADIUS_FIELD_NUMBER = 8; + private int radius_; + /** + * <code>optional uint32 radius = 8;</code> + */ + public boolean hasRadius() { + return ((bitField0_ & 0x00000100) != 0); + } + /** + * <code>optional uint32 radius = 8;</code> + */ + public int getRadius() { + return radius_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (hasLocation()) { + if (!getLocation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasVelocity()) { + if (!getVelocity().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeUInt32(1, handle_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeUInt32(2, casterHandle_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeInt32(3, casterPlayerId_); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeUInt32(4, abilityHandle_); + } + if (((bitField0_ & 0x00000020) != 0)) { + output.writeUInt32(5, abilityId_); + } + if (((bitField0_ & 0x00000040) != 0)) { + output.writeMessage(6, getLocation()); + } + if (((bitField0_ & 0x00000080) != 0)) { + output.writeMessage(7, getVelocity()); + } + if (((bitField0_ & 0x00000100) != 0)) { + output.writeUInt32(8, radius_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeEnum(9, casterUnitType_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, handle_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(2, casterHandle_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, casterPlayerId_); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(4, abilityHandle_); + } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(5, abilityId_); + } + if (((bitField0_ & 0x00000040) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, getLocation()); + } + if (((bitField0_ & 0x00000080) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(7, getVelocity()); + } + if (((bitField0_ & 0x00000100) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(8, radius_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(9, casterUnitType_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile) obj; + + if (hasHandle() != other.hasHandle()) return false; + if (hasHandle()) { + if (getHandle() + != other.getHandle()) return false; + } + if (hasCasterHandle() != other.hasCasterHandle()) return false; + if (hasCasterHandle()) { + if (getCasterHandle() + != other.getCasterHandle()) return false; + } + if (hasCasterUnitType() != other.hasCasterUnitType()) return false; + if (hasCasterUnitType()) { + if (casterUnitType_ != other.casterUnitType_) return false; + } + if (hasCasterPlayerId() != other.hasCasterPlayerId()) return false; + if (hasCasterPlayerId()) { + if (getCasterPlayerId() + != other.getCasterPlayerId()) return false; + } + if (hasAbilityHandle() != other.hasAbilityHandle()) return false; + if (hasAbilityHandle()) { + if (getAbilityHandle() + != other.getAbilityHandle()) return false; + } + if (hasAbilityId() != other.hasAbilityId()) return false; + if (hasAbilityId()) { + if (getAbilityId() + != other.getAbilityId()) return false; + } + if (hasLocation() != other.hasLocation()) return false; + if (hasLocation()) { + if (!getLocation() + .equals(other.getLocation())) return false; + } + if (hasVelocity() != other.hasVelocity()) return false; + if (hasVelocity()) { + if (!getVelocity() + .equals(other.getVelocity())) return false; + } + if (hasRadius() != other.hasRadius()) return false; + if (hasRadius()) { + if (getRadius() + != other.getRadius()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasHandle()) { + hash = (37 * hash) + HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getHandle(); + } + if (hasCasterHandle()) { + hash = (37 * hash) + CASTER_HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getCasterHandle(); + } + if (hasCasterUnitType()) { + hash = (37 * hash) + CASTER_UNIT_TYPE_FIELD_NUMBER; + hash = (53 * hash) + casterUnitType_; + } + if (hasCasterPlayerId()) { + hash = (37 * hash) + CASTER_PLAYER_ID_FIELD_NUMBER; + hash = (53 * hash) + getCasterPlayerId(); + } + if (hasAbilityHandle()) { + hash = (37 * hash) + ABILITY_HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getAbilityHandle(); + } + if (hasAbilityId()) { + hash = (37 * hash) + ABILITY_ID_FIELD_NUMBER; + hash = (53 * hash) + getAbilityId(); + } + if (hasLocation()) { + hash = (37 * hash) + LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getLocation().hashCode(); + } + if (hasVelocity()) { + hash = (37 * hash) + VELOCITY_FIELD_NUMBER; + hash = (53 * hash) + getVelocity().hashCode(); + } + if (hasRadius()) { + hash = (37 * hash) + RADIUS_FIELD_NUMBER; + hash = (53 * hash) + getRadius(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.LinearProjectile} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.LinearProjectile) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectileOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_LinearProjectile_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_LinearProjectile_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getLocationFieldBuilder(); + getVelocityFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + handle_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + casterHandle_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + casterUnitType_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + casterPlayerId_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + abilityHandle_ = 0; + bitField0_ = (bitField0_ & ~0x00000010); + abilityId_ = 0; + bitField0_ = (bitField0_ & ~0x00000020); + if (locationBuilder_ == null) { + location_ = null; + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000040); + if (velocityBuilder_ == null) { + velocity_ = null; + } else { + velocityBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000080); + radius_ = 0; + bitField0_ = (bitField0_ & ~0x00000100); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_LinearProjectile_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.handle_ = handle_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.casterHandle_ = casterHandle_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + to_bitField0_ |= 0x00000004; + } + result.casterUnitType_ = casterUnitType_; + if (((from_bitField0_ & 0x00000008) != 0)) { + result.casterPlayerId_ = casterPlayerId_; + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.abilityHandle_ = abilityHandle_; + to_bitField0_ |= 0x00000010; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.abilityId_ = abilityId_; + to_bitField0_ |= 0x00000020; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + if (locationBuilder_ == null) { + result.location_ = location_; + } else { + result.location_ = locationBuilder_.build(); + } + to_bitField0_ |= 0x00000040; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + if (velocityBuilder_ == null) { + result.velocity_ = velocity_; + } else { + result.velocity_ = velocityBuilder_.build(); + } + to_bitField0_ |= 0x00000080; + } + if (((from_bitField0_ & 0x00000100) != 0)) { + result.radius_ = radius_; + to_bitField0_ |= 0x00000100; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.getDefaultInstance()) return this; + if (other.hasHandle()) { + setHandle(other.getHandle()); + } + if (other.hasCasterHandle()) { + setCasterHandle(other.getCasterHandle()); + } + if (other.hasCasterUnitType()) { + setCasterUnitType(other.getCasterUnitType()); + } + if (other.hasCasterPlayerId()) { + setCasterPlayerId(other.getCasterPlayerId()); + } + if (other.hasAbilityHandle()) { + setAbilityHandle(other.getAbilityHandle()); + } + if (other.hasAbilityId()) { + setAbilityId(other.getAbilityId()); + } + if (other.hasLocation()) { + mergeLocation(other.getLocation()); + } + if (other.hasVelocity()) { + mergeVelocity(other.getVelocity()); + } + if (other.hasRadius()) { + setRadius(other.getRadius()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (hasLocation()) { + if (!getLocation().isInitialized()) { + return false; + } + } + if (hasVelocity()) { + if (!getVelocity().isInitialized()) { + return false; + } + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int handle_ ; + /** + * <code>optional uint32 handle = 1;</code> + */ + public boolean hasHandle() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 handle = 1;</code> + */ + public int getHandle() { + return handle_; + } + /** + * <code>optional uint32 handle = 1;</code> + */ + public Builder setHandle(int value) { + bitField0_ |= 0x00000001; + handle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 handle = 1;</code> + */ + public Builder clearHandle() { + bitField0_ = (bitField0_ & ~0x00000001); + handle_ = 0; + onChanged(); + return this; + } + + private int casterHandle_ ; + /** + * <code>optional uint32 caster_handle = 2;</code> + */ + public boolean hasCasterHandle() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional uint32 caster_handle = 2;</code> + */ + public int getCasterHandle() { + return casterHandle_; + } + /** + * <code>optional uint32 caster_handle = 2;</code> + */ + public Builder setCasterHandle(int value) { + bitField0_ |= 0x00000002; + casterHandle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 caster_handle = 2;</code> + */ + public Builder clearCasterHandle() { + bitField0_ = (bitField0_ & ~0x00000002); + casterHandle_ = 0; + onChanged(); + return this; + } + + private int casterUnitType_ = 0; + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];</code> + */ + public boolean hasCasterUnitType() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType getCasterUnitType() { + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType result = CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.valueOf(casterUnitType_); + return result == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.INVALID : result; + } + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];</code> + */ + public Builder setCasterUnitType(CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + casterUnitType_ = value.getNumber(); + onChanged(); + return this; + } + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];</code> + */ + public Builder clearCasterUnitType() { + bitField0_ = (bitField0_ & ~0x00000004); + casterUnitType_ = 0; + onChanged(); + return this; + } + + private int casterPlayerId_ ; + /** + * <code>optional int32 caster_player_id = 3;</code> + */ + public boolean hasCasterPlayerId() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional int32 caster_player_id = 3;</code> + */ + public int getCasterPlayerId() { + return casterPlayerId_; + } + /** + * <code>optional int32 caster_player_id = 3;</code> + */ + public Builder setCasterPlayerId(int value) { + bitField0_ |= 0x00000008; + casterPlayerId_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 caster_player_id = 3;</code> + */ + public Builder clearCasterPlayerId() { + bitField0_ = (bitField0_ & ~0x00000008); + casterPlayerId_ = 0; + onChanged(); + return this; + } + + private int abilityHandle_ ; + /** + * <code>optional uint32 ability_handle = 4;</code> + */ + public boolean hasAbilityHandle() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 ability_handle = 4;</code> + */ + public int getAbilityHandle() { + return abilityHandle_; + } + /** + * <code>optional uint32 ability_handle = 4;</code> + */ + public Builder setAbilityHandle(int value) { + bitField0_ |= 0x00000010; + abilityHandle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 ability_handle = 4;</code> + */ + public Builder clearAbilityHandle() { + bitField0_ = (bitField0_ & ~0x00000010); + abilityHandle_ = 0; + onChanged(); + return this; + } + + private int abilityId_ ; + /** + * <code>optional uint32 ability_id = 5;</code> + */ + public boolean hasAbilityId() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional uint32 ability_id = 5;</code> + */ + public int getAbilityId() { + return abilityId_; + } + /** + * <code>optional uint32 ability_id = 5;</code> + */ + public Builder setAbilityId(int value) { + bitField0_ |= 0x00000020; + abilityId_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 ability_id = 5;</code> + */ + public Builder clearAbilityId() { + bitField0_ = (bitField0_ & ~0x00000020); + abilityId_ = 0; + onChanged(); + return this; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> locationBuilder_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + if (locationBuilder_ == null) { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } else { + return locationBuilder_.getMessage(); + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public Builder setLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + onChanged(); + } else { + locationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000040; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public Builder setLocation( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (locationBuilder_ == null) { + location_ = builderForValue.build(); + onChanged(); + } else { + locationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000040; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public Builder mergeLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (((bitField0_ & 0x00000040) != 0) && + location_ != null && + location_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + location_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(location_).mergeFrom(value).buildPartial(); + } else { + location_ = value; + } + onChanged(); + } else { + locationBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000040; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public Builder clearLocation() { + if (locationBuilder_ == null) { + location_ = null; + onChanged(); + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000040); + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getLocationBuilder() { + bitField0_ |= 0x00000040; + onChanged(); + return getLocationFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + if (locationBuilder_ != null) { + return locationBuilder_.getMessageOrBuilder(); + } else { + return location_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getLocationFieldBuilder() { + if (locationBuilder_ == null) { + locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getLocation(), + getParentForChildren(), + isClean()); + location_ = null; + } + return locationBuilder_; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector velocity_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> velocityBuilder_; + /** + * <code>optional .CMsgBotWorldState.Vector velocity = 7;</code> + */ + public boolean hasVelocity() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector velocity = 7;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getVelocity() { + if (velocityBuilder_ == null) { + return velocity_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : velocity_; + } else { + return velocityBuilder_.getMessage(); + } + } + /** + * <code>optional .CMsgBotWorldState.Vector velocity = 7;</code> + */ + public Builder setVelocity(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (velocityBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + velocity_ = value; + onChanged(); + } else { + velocityBuilder_.setMessage(value); + } + bitField0_ |= 0x00000080; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector velocity = 7;</code> + */ + public Builder setVelocity( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (velocityBuilder_ == null) { + velocity_ = builderForValue.build(); + onChanged(); + } else { + velocityBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000080; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector velocity = 7;</code> + */ + public Builder mergeVelocity(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (velocityBuilder_ == null) { + if (((bitField0_ & 0x00000080) != 0) && + velocity_ != null && + velocity_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + velocity_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(velocity_).mergeFrom(value).buildPartial(); + } else { + velocity_ = value; + } + onChanged(); + } else { + velocityBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000080; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector velocity = 7;</code> + */ + public Builder clearVelocity() { + if (velocityBuilder_ == null) { + velocity_ = null; + onChanged(); + } else { + velocityBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000080); + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector velocity = 7;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getVelocityBuilder() { + bitField0_ |= 0x00000080; + onChanged(); + return getVelocityFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Vector velocity = 7;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getVelocityOrBuilder() { + if (velocityBuilder_ != null) { + return velocityBuilder_.getMessageOrBuilder(); + } else { + return velocity_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : velocity_; + } + } + /** + * <code>optional .CMsgBotWorldState.Vector velocity = 7;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getVelocityFieldBuilder() { + if (velocityBuilder_ == null) { + velocityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getVelocity(), + getParentForChildren(), + isClean()); + velocity_ = null; + } + return velocityBuilder_; + } + + private int radius_ ; + /** + * <code>optional uint32 radius = 8;</code> + */ + public boolean hasRadius() { + return ((bitField0_ & 0x00000100) != 0); + } + /** + * <code>optional uint32 radius = 8;</code> + */ + public int getRadius() { + return radius_; + } + /** + * <code>optional uint32 radius = 8;</code> + */ + public Builder setRadius(int value) { + bitField0_ |= 0x00000100; + radius_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 radius = 8;</code> + */ + public Builder clearRadius() { + bitField0_ = (bitField0_ & ~0x00000100); + radius_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.LinearProjectile) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.LinearProjectile) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<LinearProjectile> + PARSER = new com.google.protobuf.AbstractParser<LinearProjectile>() { + @java.lang.Override + public LinearProjectile parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new LinearProjectile(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<LinearProjectile> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<LinearProjectile> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface TrackingProjectileOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.TrackingProjectile) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional uint32 caster_handle = 1;</code> + */ + boolean hasCasterHandle(); + /** + * <code>optional uint32 caster_handle = 1;</code> + */ + int getCasterHandle(); + + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];</code> + */ + boolean hasCasterUnitType(); + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType getCasterUnitType(); + + /** + * <code>optional int32 caster_player_id = 2;</code> + */ + boolean hasCasterPlayerId(); + /** + * <code>optional int32 caster_player_id = 2;</code> + */ + int getCasterPlayerId(); + + /** + * <code>optional uint32 ability_handle = 3;</code> + */ + boolean hasAbilityHandle(); + /** + * <code>optional uint32 ability_handle = 3;</code> + */ + int getAbilityHandle(); + + /** + * <code>optional uint32 ability_id = 4;</code> + */ + boolean hasAbilityId(); + /** + * <code>optional uint32 ability_id = 4;</code> + */ + int getAbilityId(); + + /** + * <code>optional .CMsgBotWorldState.Vector location = 5;</code> + */ + boolean hasLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 5;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 5;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder(); + + /** + * <code>optional uint32 velocity = 6;</code> + */ + boolean hasVelocity(); + /** + * <code>optional uint32 velocity = 6;</code> + */ + int getVelocity(); + + /** + * <code>optional bool is_dodgeable = 7;</code> + */ + boolean hasIsDodgeable(); + /** + * <code>optional bool is_dodgeable = 7;</code> + */ + boolean getIsDodgeable(); + + /** + * <code>optional bool is_attack = 8;</code> + */ + boolean hasIsAttack(); + /** + * <code>optional bool is_attack = 8;</code> + */ + boolean getIsAttack(); + } + /** + * Protobuf type {@code CMsgBotWorldState.TrackingProjectile} + */ + public static final class TrackingProjectile extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.TrackingProjectile) + TrackingProjectileOrBuilder { + private static final long serialVersionUID = 0L; + // Use TrackingProjectile.newBuilder() to construct. + private TrackingProjectile(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private TrackingProjectile() { + casterUnitType_ = 0; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private TrackingProjectile( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + casterHandle_ = input.readUInt32(); + break; + } + case 16: { + bitField0_ |= 0x00000004; + casterPlayerId_ = input.readInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000008; + abilityHandle_ = input.readUInt32(); + break; + } + case 32: { + bitField0_ |= 0x00000010; + abilityId_ = input.readUInt32(); + break; + } + case 42: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000020) != 0)) { + subBuilder = location_.toBuilder(); + } + location_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(location_); + location_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000020; + break; + } + case 48: { + bitField0_ |= 0x00000040; + velocity_ = input.readUInt32(); + break; + } + case 56: { + bitField0_ |= 0x00000080; + isDodgeable_ = input.readBool(); + break; + } + case 64: { + bitField0_ |= 0x00000100; + isAttack_ = input.readBool(); + break; + } + case 72: { + int rawValue = input.readEnum(); + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType value = CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(9, rawValue); + } else { + bitField0_ |= 0x00000002; + casterUnitType_ = rawValue; + } + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_TrackingProjectile_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_TrackingProjectile_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.Builder.class); + } + + private int bitField0_; + public static final int CASTER_HANDLE_FIELD_NUMBER = 1; + private int casterHandle_; + /** + * <code>optional uint32 caster_handle = 1;</code> + */ + public boolean hasCasterHandle() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 caster_handle = 1;</code> + */ + public int getCasterHandle() { + return casterHandle_; + } + + public static final int CASTER_UNIT_TYPE_FIELD_NUMBER = 9; + private int casterUnitType_; + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];</code> + */ + public boolean hasCasterUnitType() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType getCasterUnitType() { + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType result = CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.valueOf(casterUnitType_); + return result == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.INVALID : result; + } + + public static final int CASTER_PLAYER_ID_FIELD_NUMBER = 2; + private int casterPlayerId_; + /** + * <code>optional int32 caster_player_id = 2;</code> + */ + public boolean hasCasterPlayerId() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional int32 caster_player_id = 2;</code> + */ + public int getCasterPlayerId() { + return casterPlayerId_; + } + + public static final int ABILITY_HANDLE_FIELD_NUMBER = 3; + private int abilityHandle_; + /** + * <code>optional uint32 ability_handle = 3;</code> + */ + public boolean hasAbilityHandle() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional uint32 ability_handle = 3;</code> + */ + public int getAbilityHandle() { + return abilityHandle_; + } + + public static final int ABILITY_ID_FIELD_NUMBER = 4; + private int abilityId_; + /** + * <code>optional uint32 ability_id = 4;</code> + */ + public boolean hasAbilityId() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 ability_id = 4;</code> + */ + public int getAbilityId() { + return abilityId_; + } + + public static final int LOCATION_FIELD_NUMBER = 5; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 5;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 5;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 5;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + + public static final int VELOCITY_FIELD_NUMBER = 6; + private int velocity_; + /** + * <code>optional uint32 velocity = 6;</code> + */ + public boolean hasVelocity() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>optional uint32 velocity = 6;</code> + */ + public int getVelocity() { + return velocity_; + } + + public static final int IS_DODGEABLE_FIELD_NUMBER = 7; + private boolean isDodgeable_; + /** + * <code>optional bool is_dodgeable = 7;</code> + */ + public boolean hasIsDodgeable() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>optional bool is_dodgeable = 7;</code> + */ + public boolean getIsDodgeable() { + return isDodgeable_; + } + + public static final int IS_ATTACK_FIELD_NUMBER = 8; + private boolean isAttack_; + /** + * <code>optional bool is_attack = 8;</code> + */ + public boolean hasIsAttack() { + return ((bitField0_ & 0x00000100) != 0); + } + /** + * <code>optional bool is_attack = 8;</code> + */ + public boolean getIsAttack() { + return isAttack_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (hasLocation()) { + if (!getLocation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeUInt32(1, casterHandle_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeInt32(2, casterPlayerId_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeUInt32(3, abilityHandle_); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeUInt32(4, abilityId_); + } + if (((bitField0_ & 0x00000020) != 0)) { + output.writeMessage(5, getLocation()); + } + if (((bitField0_ & 0x00000040) != 0)) { + output.writeUInt32(6, velocity_); + } + if (((bitField0_ & 0x00000080) != 0)) { + output.writeBool(7, isDodgeable_); + } + if (((bitField0_ & 0x00000100) != 0)) { + output.writeBool(8, isAttack_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeEnum(9, casterUnitType_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, casterHandle_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, casterPlayerId_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(3, abilityHandle_); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(4, abilityId_); + } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getLocation()); + } + if (((bitField0_ & 0x00000040) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(6, velocity_); + } + if (((bitField0_ & 0x00000080) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(7, isDodgeable_); + } + if (((bitField0_ & 0x00000100) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(8, isAttack_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(9, casterUnitType_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile) obj; + + if (hasCasterHandle() != other.hasCasterHandle()) return false; + if (hasCasterHandle()) { + if (getCasterHandle() + != other.getCasterHandle()) return false; + } + if (hasCasterUnitType() != other.hasCasterUnitType()) return false; + if (hasCasterUnitType()) { + if (casterUnitType_ != other.casterUnitType_) return false; + } + if (hasCasterPlayerId() != other.hasCasterPlayerId()) return false; + if (hasCasterPlayerId()) { + if (getCasterPlayerId() + != other.getCasterPlayerId()) return false; + } + if (hasAbilityHandle() != other.hasAbilityHandle()) return false; + if (hasAbilityHandle()) { + if (getAbilityHandle() + != other.getAbilityHandle()) return false; + } + if (hasAbilityId() != other.hasAbilityId()) return false; + if (hasAbilityId()) { + if (getAbilityId() + != other.getAbilityId()) return false; + } + if (hasLocation() != other.hasLocation()) return false; + if (hasLocation()) { + if (!getLocation() + .equals(other.getLocation())) return false; + } + if (hasVelocity() != other.hasVelocity()) return false; + if (hasVelocity()) { + if (getVelocity() + != other.getVelocity()) return false; + } + if (hasIsDodgeable() != other.hasIsDodgeable()) return false; + if (hasIsDodgeable()) { + if (getIsDodgeable() + != other.getIsDodgeable()) return false; + } + if (hasIsAttack() != other.hasIsAttack()) return false; + if (hasIsAttack()) { + if (getIsAttack() + != other.getIsAttack()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasCasterHandle()) { + hash = (37 * hash) + CASTER_HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getCasterHandle(); + } + if (hasCasterUnitType()) { + hash = (37 * hash) + CASTER_UNIT_TYPE_FIELD_NUMBER; + hash = (53 * hash) + casterUnitType_; + } + if (hasCasterPlayerId()) { + hash = (37 * hash) + CASTER_PLAYER_ID_FIELD_NUMBER; + hash = (53 * hash) + getCasterPlayerId(); + } + if (hasAbilityHandle()) { + hash = (37 * hash) + ABILITY_HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getAbilityHandle(); + } + if (hasAbilityId()) { + hash = (37 * hash) + ABILITY_ID_FIELD_NUMBER; + hash = (53 * hash) + getAbilityId(); + } + if (hasLocation()) { + hash = (37 * hash) + LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getLocation().hashCode(); + } + if (hasVelocity()) { + hash = (37 * hash) + VELOCITY_FIELD_NUMBER; + hash = (53 * hash) + getVelocity(); + } + if (hasIsDodgeable()) { + hash = (37 * hash) + IS_DODGEABLE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsDodgeable()); + } + if (hasIsAttack()) { + hash = (37 * hash) + IS_ATTACK_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsAttack()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.TrackingProjectile} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.TrackingProjectile) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectileOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_TrackingProjectile_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_TrackingProjectile_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getLocationFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + casterHandle_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + casterUnitType_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + casterPlayerId_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + abilityHandle_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + abilityId_ = 0; + bitField0_ = (bitField0_ & ~0x00000010); + if (locationBuilder_ == null) { + location_ = null; + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000020); + velocity_ = 0; + bitField0_ = (bitField0_ & ~0x00000040); + isDodgeable_ = false; + bitField0_ = (bitField0_ & ~0x00000080); + isAttack_ = false; + bitField0_ = (bitField0_ & ~0x00000100); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_TrackingProjectile_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.casterHandle_ = casterHandle_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + to_bitField0_ |= 0x00000002; + } + result.casterUnitType_ = casterUnitType_; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.casterPlayerId_ = casterPlayerId_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.abilityHandle_ = abilityHandle_; + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.abilityId_ = abilityId_; + to_bitField0_ |= 0x00000010; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + if (locationBuilder_ == null) { + result.location_ = location_; + } else { + result.location_ = locationBuilder_.build(); + } + to_bitField0_ |= 0x00000020; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.velocity_ = velocity_; + to_bitField0_ |= 0x00000040; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.isDodgeable_ = isDodgeable_; + to_bitField0_ |= 0x00000080; + } + if (((from_bitField0_ & 0x00000100) != 0)) { + result.isAttack_ = isAttack_; + to_bitField0_ |= 0x00000100; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.getDefaultInstance()) return this; + if (other.hasCasterHandle()) { + setCasterHandle(other.getCasterHandle()); + } + if (other.hasCasterUnitType()) { + setCasterUnitType(other.getCasterUnitType()); + } + if (other.hasCasterPlayerId()) { + setCasterPlayerId(other.getCasterPlayerId()); + } + if (other.hasAbilityHandle()) { + setAbilityHandle(other.getAbilityHandle()); + } + if (other.hasAbilityId()) { + setAbilityId(other.getAbilityId()); + } + if (other.hasLocation()) { + mergeLocation(other.getLocation()); + } + if (other.hasVelocity()) { + setVelocity(other.getVelocity()); + } + if (other.hasIsDodgeable()) { + setIsDodgeable(other.getIsDodgeable()); + } + if (other.hasIsAttack()) { + setIsAttack(other.getIsAttack()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (hasLocation()) { + if (!getLocation().isInitialized()) { + return false; + } + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int casterHandle_ ; + /** + * <code>optional uint32 caster_handle = 1;</code> + */ + public boolean hasCasterHandle() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 caster_handle = 1;</code> + */ + public int getCasterHandle() { + return casterHandle_; + } + /** + * <code>optional uint32 caster_handle = 1;</code> + */ + public Builder setCasterHandle(int value) { + bitField0_ |= 0x00000001; + casterHandle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 caster_handle = 1;</code> + */ + public Builder clearCasterHandle() { + bitField0_ = (bitField0_ & ~0x00000001); + casterHandle_ = 0; + onChanged(); + return this; + } + + private int casterUnitType_ = 0; + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];</code> + */ + public boolean hasCasterUnitType() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType getCasterUnitType() { + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType result = CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.valueOf(casterUnitType_); + return result == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.INVALID : result; + } + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];</code> + */ + public Builder setCasterUnitType(CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + casterUnitType_ = value.getNumber(); + onChanged(); + return this; + } + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 9 [default = INVALID];</code> + */ + public Builder clearCasterUnitType() { + bitField0_ = (bitField0_ & ~0x00000002); + casterUnitType_ = 0; + onChanged(); + return this; + } + + private int casterPlayerId_ ; + /** + * <code>optional int32 caster_player_id = 2;</code> + */ + public boolean hasCasterPlayerId() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional int32 caster_player_id = 2;</code> + */ + public int getCasterPlayerId() { + return casterPlayerId_; + } + /** + * <code>optional int32 caster_player_id = 2;</code> + */ + public Builder setCasterPlayerId(int value) { + bitField0_ |= 0x00000004; + casterPlayerId_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 caster_player_id = 2;</code> + */ + public Builder clearCasterPlayerId() { + bitField0_ = (bitField0_ & ~0x00000004); + casterPlayerId_ = 0; + onChanged(); + return this; + } + + private int abilityHandle_ ; + /** + * <code>optional uint32 ability_handle = 3;</code> + */ + public boolean hasAbilityHandle() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional uint32 ability_handle = 3;</code> + */ + public int getAbilityHandle() { + return abilityHandle_; + } + /** + * <code>optional uint32 ability_handle = 3;</code> + */ + public Builder setAbilityHandle(int value) { + bitField0_ |= 0x00000008; + abilityHandle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 ability_handle = 3;</code> + */ + public Builder clearAbilityHandle() { + bitField0_ = (bitField0_ & ~0x00000008); + abilityHandle_ = 0; + onChanged(); + return this; + } + + private int abilityId_ ; + /** + * <code>optional uint32 ability_id = 4;</code> + */ + public boolean hasAbilityId() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 ability_id = 4;</code> + */ + public int getAbilityId() { + return abilityId_; + } + /** + * <code>optional uint32 ability_id = 4;</code> + */ + public Builder setAbilityId(int value) { + bitField0_ |= 0x00000010; + abilityId_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 ability_id = 4;</code> + */ + public Builder clearAbilityId() { + bitField0_ = (bitField0_ & ~0x00000010); + abilityId_ = 0; + onChanged(); + return this; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> locationBuilder_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 5;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 5;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + if (locationBuilder_ == null) { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } else { + return locationBuilder_.getMessage(); + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 5;</code> + */ + public Builder setLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + onChanged(); + } else { + locationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 5;</code> + */ + public Builder setLocation( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (locationBuilder_ == null) { + location_ = builderForValue.build(); + onChanged(); + } else { + locationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 5;</code> + */ + public Builder mergeLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0) && + location_ != null && + location_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + location_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(location_).mergeFrom(value).buildPartial(); + } else { + location_ = value; + } + onChanged(); + } else { + locationBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000020; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 5;</code> + */ + public Builder clearLocation() { + if (locationBuilder_ == null) { + location_ = null; + onChanged(); + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000020); + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 5;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getLocationBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return getLocationFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 5;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + if (locationBuilder_ != null) { + return locationBuilder_.getMessageOrBuilder(); + } else { + return location_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 5;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getLocationFieldBuilder() { + if (locationBuilder_ == null) { + locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getLocation(), + getParentForChildren(), + isClean()); + location_ = null; + } + return locationBuilder_; + } + + private int velocity_ ; + /** + * <code>optional uint32 velocity = 6;</code> + */ + public boolean hasVelocity() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>optional uint32 velocity = 6;</code> + */ + public int getVelocity() { + return velocity_; + } + /** + * <code>optional uint32 velocity = 6;</code> + */ + public Builder setVelocity(int value) { + bitField0_ |= 0x00000040; + velocity_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 velocity = 6;</code> + */ + public Builder clearVelocity() { + bitField0_ = (bitField0_ & ~0x00000040); + velocity_ = 0; + onChanged(); + return this; + } + + private boolean isDodgeable_ ; + /** + * <code>optional bool is_dodgeable = 7;</code> + */ + public boolean hasIsDodgeable() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>optional bool is_dodgeable = 7;</code> + */ + public boolean getIsDodgeable() { + return isDodgeable_; + } + /** + * <code>optional bool is_dodgeable = 7;</code> + */ + public Builder setIsDodgeable(boolean value) { + bitField0_ |= 0x00000080; + isDodgeable_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_dodgeable = 7;</code> + */ + public Builder clearIsDodgeable() { + bitField0_ = (bitField0_ & ~0x00000080); + isDodgeable_ = false; + onChanged(); + return this; + } + + private boolean isAttack_ ; + /** + * <code>optional bool is_attack = 8;</code> + */ + public boolean hasIsAttack() { + return ((bitField0_ & 0x00000100) != 0); + } + /** + * <code>optional bool is_attack = 8;</code> + */ + public boolean getIsAttack() { + return isAttack_; + } + /** + * <code>optional bool is_attack = 8;</code> + */ + public Builder setIsAttack(boolean value) { + bitField0_ |= 0x00000100; + isAttack_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_attack = 8;</code> + */ + public Builder clearIsAttack() { + bitField0_ = (bitField0_ & ~0x00000100); + isAttack_ = false; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.TrackingProjectile) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.TrackingProjectile) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<TrackingProjectile> + PARSER = new com.google.protobuf.AbstractParser<TrackingProjectile>() { + @java.lang.Override + public TrackingProjectile parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new TrackingProjectile(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<TrackingProjectile> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<TrackingProjectile> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface AvoidanceZoneOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.AvoidanceZone) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional .CMsgBotWorldState.Vector location = 1;</code> + */ + boolean hasLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 1;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 1;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder(); + + /** + * <code>optional uint32 caster_handle = 2;</code> + */ + boolean hasCasterHandle(); + /** + * <code>optional uint32 caster_handle = 2;</code> + */ + int getCasterHandle(); + + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 7 [default = INVALID];</code> + */ + boolean hasCasterUnitType(); + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 7 [default = INVALID];</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType getCasterUnitType(); + + /** + * <code>optional int32 caster_player_id = 3;</code> + */ + boolean hasCasterPlayerId(); + /** + * <code>optional int32 caster_player_id = 3;</code> + */ + int getCasterPlayerId(); + + /** + * <code>optional uint32 ability_handle = 4;</code> + */ + boolean hasAbilityHandle(); + /** + * <code>optional uint32 ability_handle = 4;</code> + */ + int getAbilityHandle(); + + /** + * <code>optional uint32 ability_id = 5;</code> + */ + boolean hasAbilityId(); + /** + * <code>optional uint32 ability_id = 5;</code> + */ + int getAbilityId(); + + /** + * <code>optional uint32 radius = 6;</code> + */ + boolean hasRadius(); + /** + * <code>optional uint32 radius = 6;</code> + */ + int getRadius(); + } + /** + * Protobuf type {@code CMsgBotWorldState.AvoidanceZone} + */ + public static final class AvoidanceZone extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.AvoidanceZone) + AvoidanceZoneOrBuilder { + private static final long serialVersionUID = 0L; + // Use AvoidanceZone.newBuilder() to construct. + private AvoidanceZone(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private AvoidanceZone() { + casterUnitType_ = 0; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private AvoidanceZone( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000001) != 0)) { + subBuilder = location_.toBuilder(); + } + location_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(location_); + location_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000001; + break; + } + case 16: { + bitField0_ |= 0x00000002; + casterHandle_ = input.readUInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000008; + casterPlayerId_ = input.readInt32(); + break; + } + case 32: { + bitField0_ |= 0x00000010; + abilityHandle_ = input.readUInt32(); + break; + } + case 40: { + bitField0_ |= 0x00000020; + abilityId_ = input.readUInt32(); + break; + } + case 48: { + bitField0_ |= 0x00000040; + radius_ = input.readUInt32(); + break; + } + case 56: { + int rawValue = input.readEnum(); + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType value = CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(7, rawValue); + } else { + bitField0_ |= 0x00000004; + casterUnitType_ = rawValue; + } + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_AvoidanceZone_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_AvoidanceZone_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.Builder.class); + } + + private int bitField0_; + public static final int LOCATION_FIELD_NUMBER = 1; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 1;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + + public static final int CASTER_HANDLE_FIELD_NUMBER = 2; + private int casterHandle_; + /** + * <code>optional uint32 caster_handle = 2;</code> + */ + public boolean hasCasterHandle() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional uint32 caster_handle = 2;</code> + */ + public int getCasterHandle() { + return casterHandle_; + } + + public static final int CASTER_UNIT_TYPE_FIELD_NUMBER = 7; + private int casterUnitType_; + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 7 [default = INVALID];</code> + */ + public boolean hasCasterUnitType() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 7 [default = INVALID];</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType getCasterUnitType() { + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType result = CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.valueOf(casterUnitType_); + return result == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.INVALID : result; + } + + public static final int CASTER_PLAYER_ID_FIELD_NUMBER = 3; + private int casterPlayerId_; + /** + * <code>optional int32 caster_player_id = 3;</code> + */ + public boolean hasCasterPlayerId() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional int32 caster_player_id = 3;</code> + */ + public int getCasterPlayerId() { + return casterPlayerId_; + } + + public static final int ABILITY_HANDLE_FIELD_NUMBER = 4; + private int abilityHandle_; + /** + * <code>optional uint32 ability_handle = 4;</code> + */ + public boolean hasAbilityHandle() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 ability_handle = 4;</code> + */ + public int getAbilityHandle() { + return abilityHandle_; + } + + public static final int ABILITY_ID_FIELD_NUMBER = 5; + private int abilityId_; + /** + * <code>optional uint32 ability_id = 5;</code> + */ + public boolean hasAbilityId() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional uint32 ability_id = 5;</code> + */ + public int getAbilityId() { + return abilityId_; + } + + public static final int RADIUS_FIELD_NUMBER = 6; + private int radius_; + /** + * <code>optional uint32 radius = 6;</code> + */ + public boolean hasRadius() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>optional uint32 radius = 6;</code> + */ + public int getRadius() { + return radius_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (hasLocation()) { + if (!getLocation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getLocation()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeUInt32(2, casterHandle_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeInt32(3, casterPlayerId_); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeUInt32(4, abilityHandle_); + } + if (((bitField0_ & 0x00000020) != 0)) { + output.writeUInt32(5, abilityId_); + } + if (((bitField0_ & 0x00000040) != 0)) { + output.writeUInt32(6, radius_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeEnum(7, casterUnitType_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getLocation()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(2, casterHandle_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, casterPlayerId_); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(4, abilityHandle_); + } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(5, abilityId_); + } + if (((bitField0_ & 0x00000040) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(6, radius_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(7, casterUnitType_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone) obj; + + if (hasLocation() != other.hasLocation()) return false; + if (hasLocation()) { + if (!getLocation() + .equals(other.getLocation())) return false; + } + if (hasCasterHandle() != other.hasCasterHandle()) return false; + if (hasCasterHandle()) { + if (getCasterHandle() + != other.getCasterHandle()) return false; + } + if (hasCasterUnitType() != other.hasCasterUnitType()) return false; + if (hasCasterUnitType()) { + if (casterUnitType_ != other.casterUnitType_) return false; + } + if (hasCasterPlayerId() != other.hasCasterPlayerId()) return false; + if (hasCasterPlayerId()) { + if (getCasterPlayerId() + != other.getCasterPlayerId()) return false; + } + if (hasAbilityHandle() != other.hasAbilityHandle()) return false; + if (hasAbilityHandle()) { + if (getAbilityHandle() + != other.getAbilityHandle()) return false; + } + if (hasAbilityId() != other.hasAbilityId()) return false; + if (hasAbilityId()) { + if (getAbilityId() + != other.getAbilityId()) return false; + } + if (hasRadius() != other.hasRadius()) return false; + if (hasRadius()) { + if (getRadius() + != other.getRadius()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasLocation()) { + hash = (37 * hash) + LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getLocation().hashCode(); + } + if (hasCasterHandle()) { + hash = (37 * hash) + CASTER_HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getCasterHandle(); + } + if (hasCasterUnitType()) { + hash = (37 * hash) + CASTER_UNIT_TYPE_FIELD_NUMBER; + hash = (53 * hash) + casterUnitType_; + } + if (hasCasterPlayerId()) { + hash = (37 * hash) + CASTER_PLAYER_ID_FIELD_NUMBER; + hash = (53 * hash) + getCasterPlayerId(); + } + if (hasAbilityHandle()) { + hash = (37 * hash) + ABILITY_HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getAbilityHandle(); + } + if (hasAbilityId()) { + hash = (37 * hash) + ABILITY_ID_FIELD_NUMBER; + hash = (53 * hash) + getAbilityId(); + } + if (hasRadius()) { + hash = (37 * hash) + RADIUS_FIELD_NUMBER; + hash = (53 * hash) + getRadius(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.AvoidanceZone} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.AvoidanceZone) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZoneOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_AvoidanceZone_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_AvoidanceZone_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getLocationFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (locationBuilder_ == null) { + location_ = null; + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + casterHandle_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + casterUnitType_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + casterPlayerId_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + abilityHandle_ = 0; + bitField0_ = (bitField0_ & ~0x00000010); + abilityId_ = 0; + bitField0_ = (bitField0_ & ~0x00000020); + radius_ = 0; + bitField0_ = (bitField0_ & ~0x00000040); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_AvoidanceZone_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + if (locationBuilder_ == null) { + result.location_ = location_; + } else { + result.location_ = locationBuilder_.build(); + } + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.casterHandle_ = casterHandle_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + to_bitField0_ |= 0x00000004; + } + result.casterUnitType_ = casterUnitType_; + if (((from_bitField0_ & 0x00000008) != 0)) { + result.casterPlayerId_ = casterPlayerId_; + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.abilityHandle_ = abilityHandle_; + to_bitField0_ |= 0x00000010; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.abilityId_ = abilityId_; + to_bitField0_ |= 0x00000020; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.radius_ = radius_; + to_bitField0_ |= 0x00000040; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.getDefaultInstance()) return this; + if (other.hasLocation()) { + mergeLocation(other.getLocation()); + } + if (other.hasCasterHandle()) { + setCasterHandle(other.getCasterHandle()); + } + if (other.hasCasterUnitType()) { + setCasterUnitType(other.getCasterUnitType()); + } + if (other.hasCasterPlayerId()) { + setCasterPlayerId(other.getCasterPlayerId()); + } + if (other.hasAbilityHandle()) { + setAbilityHandle(other.getAbilityHandle()); + } + if (other.hasAbilityId()) { + setAbilityId(other.getAbilityId()); + } + if (other.hasRadius()) { + setRadius(other.getRadius()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (hasLocation()) { + if (!getLocation().isInitialized()) { + return false; + } + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> locationBuilder_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 1;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + if (locationBuilder_ == null) { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } else { + return locationBuilder_.getMessage(); + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 1;</code> + */ + public Builder setLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + onChanged(); + } else { + locationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 1;</code> + */ + public Builder setLocation( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (locationBuilder_ == null) { + location_ = builderForValue.build(); + onChanged(); + } else { + locationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 1;</code> + */ + public Builder mergeLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) && + location_ != null && + location_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + location_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(location_).mergeFrom(value).buildPartial(); + } else { + location_ = value; + } + onChanged(); + } else { + locationBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 1;</code> + */ + public Builder clearLocation() { + if (locationBuilder_ == null) { + location_ = null; + onChanged(); + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getLocationBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return getLocationFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + if (locationBuilder_ != null) { + return locationBuilder_.getMessageOrBuilder(); + } else { + return location_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 1;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getLocationFieldBuilder() { + if (locationBuilder_ == null) { + locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getLocation(), + getParentForChildren(), + isClean()); + location_ = null; + } + return locationBuilder_; + } + + private int casterHandle_ ; + /** + * <code>optional uint32 caster_handle = 2;</code> + */ + public boolean hasCasterHandle() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional uint32 caster_handle = 2;</code> + */ + public int getCasterHandle() { + return casterHandle_; + } + /** + * <code>optional uint32 caster_handle = 2;</code> + */ + public Builder setCasterHandle(int value) { + bitField0_ |= 0x00000002; + casterHandle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 caster_handle = 2;</code> + */ + public Builder clearCasterHandle() { + bitField0_ = (bitField0_ & ~0x00000002); + casterHandle_ = 0; + onChanged(); + return this; + } + + private int casterUnitType_ = 0; + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 7 [default = INVALID];</code> + */ + public boolean hasCasterUnitType() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 7 [default = INVALID];</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType getCasterUnitType() { + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType result = CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.valueOf(casterUnitType_); + return result == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.INVALID : result; + } + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 7 [default = INVALID];</code> + */ + public Builder setCasterUnitType(CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + casterUnitType_ = value.getNumber(); + onChanged(); + return this; + } + /** + * <code>optional .CMsgBotWorldState.UnitType caster_unit_type = 7 [default = INVALID];</code> + */ + public Builder clearCasterUnitType() { + bitField0_ = (bitField0_ & ~0x00000004); + casterUnitType_ = 0; + onChanged(); + return this; + } + + private int casterPlayerId_ ; + /** + * <code>optional int32 caster_player_id = 3;</code> + */ + public boolean hasCasterPlayerId() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional int32 caster_player_id = 3;</code> + */ + public int getCasterPlayerId() { + return casterPlayerId_; + } + /** + * <code>optional int32 caster_player_id = 3;</code> + */ + public Builder setCasterPlayerId(int value) { + bitField0_ |= 0x00000008; + casterPlayerId_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 caster_player_id = 3;</code> + */ + public Builder clearCasterPlayerId() { + bitField0_ = (bitField0_ & ~0x00000008); + casterPlayerId_ = 0; + onChanged(); + return this; + } + + private int abilityHandle_ ; + /** + * <code>optional uint32 ability_handle = 4;</code> + */ + public boolean hasAbilityHandle() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 ability_handle = 4;</code> + */ + public int getAbilityHandle() { + return abilityHandle_; + } + /** + * <code>optional uint32 ability_handle = 4;</code> + */ + public Builder setAbilityHandle(int value) { + bitField0_ |= 0x00000010; + abilityHandle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 ability_handle = 4;</code> + */ + public Builder clearAbilityHandle() { + bitField0_ = (bitField0_ & ~0x00000010); + abilityHandle_ = 0; + onChanged(); + return this; + } + + private int abilityId_ ; + /** + * <code>optional uint32 ability_id = 5;</code> + */ + public boolean hasAbilityId() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional uint32 ability_id = 5;</code> + */ + public int getAbilityId() { + return abilityId_; + } + /** + * <code>optional uint32 ability_id = 5;</code> + */ + public Builder setAbilityId(int value) { + bitField0_ |= 0x00000020; + abilityId_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 ability_id = 5;</code> + */ + public Builder clearAbilityId() { + bitField0_ = (bitField0_ & ~0x00000020); + abilityId_ = 0; + onChanged(); + return this; + } + + private int radius_ ; + /** + * <code>optional uint32 radius = 6;</code> + */ + public boolean hasRadius() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>optional uint32 radius = 6;</code> + */ + public int getRadius() { + return radius_; + } + /** + * <code>optional uint32 radius = 6;</code> + */ + public Builder setRadius(int value) { + bitField0_ |= 0x00000040; + radius_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 radius = 6;</code> + */ + public Builder clearRadius() { + bitField0_ = (bitField0_ & ~0x00000040); + radius_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.AvoidanceZone) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.AvoidanceZone) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<AvoidanceZone> + PARSER = new com.google.protobuf.AbstractParser<AvoidanceZone>() { + @java.lang.Override + public AvoidanceZone parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new AvoidanceZone(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<AvoidanceZone> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<AvoidanceZone> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface CourierOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Courier) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional uint32 handle = 1;</code> + */ + boolean hasHandle(); + /** + * <code>optional uint32 handle = 1;</code> + */ + int getHandle(); + + /** + * <code>optional .CMsgBotWorldState.CourierState state = 2 [default = COURIER_STATE_INIT];</code> + */ + boolean hasState(); + /** + * <code>optional .CMsgBotWorldState.CourierState state = 2 [default = COURIER_STATE_INIT];</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierState getState(); + + /** + * <code>optional int32 player_id = 3;</code> + */ + boolean hasPlayerId(); + /** + * <code>optional int32 player_id = 3;</code> + */ + int getPlayerId(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Courier} + */ + public static final class Courier extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Courier) + CourierOrBuilder { + private static final long serialVersionUID = 0L; + // Use Courier.newBuilder() to construct. + private Courier(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Courier() { + state_ = -1; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Courier( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + handle_ = input.readUInt32(); + break; + } + case 16: { + int rawValue = input.readEnum(); + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierState value = CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierState.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(2, rawValue); + } else { + bitField0_ |= 0x00000002; + state_ = rawValue; + } + break; + } + case 24: { + bitField0_ |= 0x00000004; + playerId_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Courier_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Courier_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.Builder.class); + } + + private int bitField0_; + public static final int HANDLE_FIELD_NUMBER = 1; + private int handle_; + /** + * <code>optional uint32 handle = 1;</code> + */ + public boolean hasHandle() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 handle = 1;</code> + */ + public int getHandle() { + return handle_; + } + + public static final int STATE_FIELD_NUMBER = 2; + private int state_; + /** + * <code>optional .CMsgBotWorldState.CourierState state = 2 [default = COURIER_STATE_INIT];</code> + */ + public boolean hasState() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional .CMsgBotWorldState.CourierState state = 2 [default = COURIER_STATE_INIT];</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierState getState() { + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierState result = CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierState.valueOf(state_); + return result == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierState.COURIER_STATE_INIT : result; + } + + public static final int PLAYER_ID_FIELD_NUMBER = 3; + private int playerId_; + /** + * <code>optional int32 player_id = 3;</code> + */ + public boolean hasPlayerId() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional int32 player_id = 3;</code> + */ + public int getPlayerId() { + return playerId_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeUInt32(1, handle_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeEnum(2, state_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeInt32(3, playerId_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, handle_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(2, state_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, playerId_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier) obj; + + if (hasHandle() != other.hasHandle()) return false; + if (hasHandle()) { + if (getHandle() + != other.getHandle()) return false; + } + if (hasState() != other.hasState()) return false; + if (hasState()) { + if (state_ != other.state_) return false; + } + if (hasPlayerId() != other.hasPlayerId()) return false; + if (hasPlayerId()) { + if (getPlayerId() + != other.getPlayerId()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasHandle()) { + hash = (37 * hash) + HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getHandle(); + } + if (hasState()) { + hash = (37 * hash) + STATE_FIELD_NUMBER; + hash = (53 * hash) + state_; + } + if (hasPlayerId()) { + hash = (37 * hash) + PLAYER_ID_FIELD_NUMBER; + hash = (53 * hash) + getPlayerId(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Courier} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Courier) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Courier_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Courier_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + handle_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + state_ = -1; + bitField0_ = (bitField0_ & ~0x00000002); + playerId_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Courier_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.handle_ = handle_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + to_bitField0_ |= 0x00000002; + } + result.state_ = state_; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.playerId_ = playerId_; + to_bitField0_ |= 0x00000004; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.getDefaultInstance()) return this; + if (other.hasHandle()) { + setHandle(other.getHandle()); + } + if (other.hasState()) { + setState(other.getState()); + } + if (other.hasPlayerId()) { + setPlayerId(other.getPlayerId()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int handle_ ; + /** + * <code>optional uint32 handle = 1;</code> + */ + public boolean hasHandle() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 handle = 1;</code> + */ + public int getHandle() { + return handle_; + } + /** + * <code>optional uint32 handle = 1;</code> + */ + public Builder setHandle(int value) { + bitField0_ |= 0x00000001; + handle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 handle = 1;</code> + */ + public Builder clearHandle() { + bitField0_ = (bitField0_ & ~0x00000001); + handle_ = 0; + onChanged(); + return this; + } + + private int state_ = -1; + /** + * <code>optional .CMsgBotWorldState.CourierState state = 2 [default = COURIER_STATE_INIT];</code> + */ + public boolean hasState() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional .CMsgBotWorldState.CourierState state = 2 [default = COURIER_STATE_INIT];</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierState getState() { + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierState result = CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierState.valueOf(state_); + return result == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierState.COURIER_STATE_INIT : result; + } + /** + * <code>optional .CMsgBotWorldState.CourierState state = 2 [default = COURIER_STATE_INIT];</code> + */ + public Builder setState(CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierState value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + state_ = value.getNumber(); + onChanged(); + return this; + } + /** + * <code>optional .CMsgBotWorldState.CourierState state = 2 [default = COURIER_STATE_INIT];</code> + */ + public Builder clearState() { + bitField0_ = (bitField0_ & ~0x00000002); + state_ = -1; + onChanged(); + return this; + } + + private int playerId_ ; + /** + * <code>optional int32 player_id = 3;</code> + */ + public boolean hasPlayerId() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional int32 player_id = 3;</code> + */ + public int getPlayerId() { + return playerId_; + } + /** + * <code>optional int32 player_id = 3;</code> + */ + public Builder setPlayerId(int value) { + bitField0_ |= 0x00000004; + playerId_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 player_id = 3;</code> + */ + public Builder clearPlayerId() { + bitField0_ = (bitField0_ & ~0x00000004); + playerId_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Courier) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Courier) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<Courier> + PARSER = new com.google.protobuf.AbstractParser<Courier>() { + @java.lang.Override + public Courier parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Courier(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Courier> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Courier> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface EventAbilityOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.EventAbility) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional uint32 ability_id = 1;</code> + */ + boolean hasAbilityId(); + /** + * <code>optional uint32 ability_id = 1;</code> + */ + int getAbilityId(); + + /** + * <code>optional int32 player_id = 2;</code> + */ + boolean hasPlayerId(); + /** + * <code>optional int32 player_id = 2;</code> + */ + int getPlayerId(); + + /** + * <code>optional uint32 unit_handle = 3;</code> + */ + boolean hasUnitHandle(); + /** + * <code>optional uint32 unit_handle = 3;</code> + */ + int getUnitHandle(); + + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + boolean hasLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder(); + + /** + * <code>optional bool is_channel_start = 5;</code> + */ + boolean hasIsChannelStart(); + /** + * <code>optional bool is_channel_start = 5;</code> + */ + boolean getIsChannelStart(); + } + /** + * Protobuf type {@code CMsgBotWorldState.EventAbility} + */ + public static final class EventAbility extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.EventAbility) + EventAbilityOrBuilder { + private static final long serialVersionUID = 0L; + // Use EventAbility.newBuilder() to construct. + private EventAbility(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private EventAbility() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private EventAbility( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + abilityId_ = input.readUInt32(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + playerId_ = input.readInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + unitHandle_ = input.readUInt32(); + break; + } + case 34: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000008) != 0)) { + subBuilder = location_.toBuilder(); + } + location_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(location_); + location_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000008; + break; + } + case 40: { + bitField0_ |= 0x00000010; + isChannelStart_ = input.readBool(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventAbility_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventAbility_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.Builder.class); + } + + private int bitField0_; + public static final int ABILITY_ID_FIELD_NUMBER = 1; + private int abilityId_; + /** + * <code>optional uint32 ability_id = 1;</code> + */ + public boolean hasAbilityId() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 ability_id = 1;</code> + */ + public int getAbilityId() { + return abilityId_; + } + + public static final int PLAYER_ID_FIELD_NUMBER = 2; + private int playerId_; + /** + * <code>optional int32 player_id = 2;</code> + */ + public boolean hasPlayerId() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional int32 player_id = 2;</code> + */ + public int getPlayerId() { + return playerId_; + } + + public static final int UNIT_HANDLE_FIELD_NUMBER = 3; + private int unitHandle_; + /** + * <code>optional uint32 unit_handle = 3;</code> + */ + public boolean hasUnitHandle() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional uint32 unit_handle = 3;</code> + */ + public int getUnitHandle() { + return unitHandle_; + } + + public static final int LOCATION_FIELD_NUMBER = 4; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + + public static final int IS_CHANNEL_START_FIELD_NUMBER = 5; + private boolean isChannelStart_; + /** + * <code>optional bool is_channel_start = 5;</code> + */ + public boolean hasIsChannelStart() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional bool is_channel_start = 5;</code> + */ + public boolean getIsChannelStart() { + return isChannelStart_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (hasLocation()) { + if (!getLocation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeUInt32(1, abilityId_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeInt32(2, playerId_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeUInt32(3, unitHandle_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeMessage(4, getLocation()); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeBool(5, isChannelStart_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, abilityId_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, playerId_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(3, unitHandle_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, getLocation()); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(5, isChannelStart_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility) obj; + + if (hasAbilityId() != other.hasAbilityId()) return false; + if (hasAbilityId()) { + if (getAbilityId() + != other.getAbilityId()) return false; + } + if (hasPlayerId() != other.hasPlayerId()) return false; + if (hasPlayerId()) { + if (getPlayerId() + != other.getPlayerId()) return false; + } + if (hasUnitHandle() != other.hasUnitHandle()) return false; + if (hasUnitHandle()) { + if (getUnitHandle() + != other.getUnitHandle()) return false; + } + if (hasLocation() != other.hasLocation()) return false; + if (hasLocation()) { + if (!getLocation() + .equals(other.getLocation())) return false; + } + if (hasIsChannelStart() != other.hasIsChannelStart()) return false; + if (hasIsChannelStart()) { + if (getIsChannelStart() + != other.getIsChannelStart()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasAbilityId()) { + hash = (37 * hash) + ABILITY_ID_FIELD_NUMBER; + hash = (53 * hash) + getAbilityId(); + } + if (hasPlayerId()) { + hash = (37 * hash) + PLAYER_ID_FIELD_NUMBER; + hash = (53 * hash) + getPlayerId(); + } + if (hasUnitHandle()) { + hash = (37 * hash) + UNIT_HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getUnitHandle(); + } + if (hasLocation()) { + hash = (37 * hash) + LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getLocation().hashCode(); + } + if (hasIsChannelStart()) { + hash = (37 * hash) + IS_CHANNEL_START_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsChannelStart()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.EventAbility} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.EventAbility) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbilityOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventAbility_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventAbility_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getLocationFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + abilityId_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + playerId_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + unitHandle_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + if (locationBuilder_ == null) { + location_ = null; + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + isChannelStart_ = false; + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventAbility_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.abilityId_ = abilityId_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.playerId_ = playerId_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.unitHandle_ = unitHandle_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + if (locationBuilder_ == null) { + result.location_ = location_; + } else { + result.location_ = locationBuilder_.build(); + } + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.isChannelStart_ = isChannelStart_; + to_bitField0_ |= 0x00000010; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.getDefaultInstance()) return this; + if (other.hasAbilityId()) { + setAbilityId(other.getAbilityId()); + } + if (other.hasPlayerId()) { + setPlayerId(other.getPlayerId()); + } + if (other.hasUnitHandle()) { + setUnitHandle(other.getUnitHandle()); + } + if (other.hasLocation()) { + mergeLocation(other.getLocation()); + } + if (other.hasIsChannelStart()) { + setIsChannelStart(other.getIsChannelStart()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (hasLocation()) { + if (!getLocation().isInitialized()) { + return false; + } + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int abilityId_ ; + /** + * <code>optional uint32 ability_id = 1;</code> + */ + public boolean hasAbilityId() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 ability_id = 1;</code> + */ + public int getAbilityId() { + return abilityId_; + } + /** + * <code>optional uint32 ability_id = 1;</code> + */ + public Builder setAbilityId(int value) { + bitField0_ |= 0x00000001; + abilityId_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 ability_id = 1;</code> + */ + public Builder clearAbilityId() { + bitField0_ = (bitField0_ & ~0x00000001); + abilityId_ = 0; + onChanged(); + return this; + } + + private int playerId_ ; + /** + * <code>optional int32 player_id = 2;</code> + */ + public boolean hasPlayerId() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional int32 player_id = 2;</code> + */ + public int getPlayerId() { + return playerId_; + } + /** + * <code>optional int32 player_id = 2;</code> + */ + public Builder setPlayerId(int value) { + bitField0_ |= 0x00000002; + playerId_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 player_id = 2;</code> + */ + public Builder clearPlayerId() { + bitField0_ = (bitField0_ & ~0x00000002); + playerId_ = 0; + onChanged(); + return this; + } + + private int unitHandle_ ; + /** + * <code>optional uint32 unit_handle = 3;</code> + */ + public boolean hasUnitHandle() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional uint32 unit_handle = 3;</code> + */ + public int getUnitHandle() { + return unitHandle_; + } + /** + * <code>optional uint32 unit_handle = 3;</code> + */ + public Builder setUnitHandle(int value) { + bitField0_ |= 0x00000004; + unitHandle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 unit_handle = 3;</code> + */ + public Builder clearUnitHandle() { + bitField0_ = (bitField0_ & ~0x00000004); + unitHandle_ = 0; + onChanged(); + return this; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> locationBuilder_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + if (locationBuilder_ == null) { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } else { + return locationBuilder_.getMessage(); + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public Builder setLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + onChanged(); + } else { + locationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public Builder setLocation( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (locationBuilder_ == null) { + location_ = builderForValue.build(); + onChanged(); + } else { + locationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public Builder mergeLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0) && + location_ != null && + location_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + location_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(location_).mergeFrom(value).buildPartial(); + } else { + location_ = value; + } + onChanged(); + } else { + locationBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public Builder clearLocation() { + if (locationBuilder_ == null) { + location_ = null; + onChanged(); + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getLocationBuilder() { + bitField0_ |= 0x00000008; + onChanged(); + return getLocationFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + if (locationBuilder_ != null) { + return locationBuilder_.getMessageOrBuilder(); + } else { + return location_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getLocationFieldBuilder() { + if (locationBuilder_ == null) { + locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getLocation(), + getParentForChildren(), + isClean()); + location_ = null; + } + return locationBuilder_; + } + + private boolean isChannelStart_ ; + /** + * <code>optional bool is_channel_start = 5;</code> + */ + public boolean hasIsChannelStart() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional bool is_channel_start = 5;</code> + */ + public boolean getIsChannelStart() { + return isChannelStart_; + } + /** + * <code>optional bool is_channel_start = 5;</code> + */ + public Builder setIsChannelStart(boolean value) { + bitField0_ |= 0x00000010; + isChannelStart_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_channel_start = 5;</code> + */ + public Builder clearIsChannelStart() { + bitField0_ = (bitField0_ & ~0x00000010); + isChannelStart_ = false; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.EventAbility) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.EventAbility) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<EventAbility> + PARSER = new com.google.protobuf.AbstractParser<EventAbility>() { + @java.lang.Override + public EventAbility parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new EventAbility(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<EventAbility> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<EventAbility> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface EventDamageOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.EventDamage) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional uint32 damage = 1;</code> + */ + boolean hasDamage(); + /** + * <code>optional uint32 damage = 1;</code> + */ + int getDamage(); + + /** + * <code>optional int32 victim_player_id = 2;</code> + */ + boolean hasVictimPlayerId(); + /** + * <code>optional int32 victim_player_id = 2;</code> + */ + int getVictimPlayerId(); + + /** + * <code>optional uint32 victim_unit_handle = 3;</code> + */ + boolean hasVictimUnitHandle(); + /** + * <code>optional uint32 victim_unit_handle = 3;</code> + */ + int getVictimUnitHandle(); + + /** + * <code>optional int32 attacker_player_id = 4;</code> + */ + boolean hasAttackerPlayerId(); + /** + * <code>optional int32 attacker_player_id = 4;</code> + */ + int getAttackerPlayerId(); + + /** + * <code>optional uint32 attacker_unit_handle = 5;</code> + */ + boolean hasAttackerUnitHandle(); + /** + * <code>optional uint32 attacker_unit_handle = 5;</code> + */ + int getAttackerUnitHandle(); + + /** + * <code>optional uint32 ability_id = 6;</code> + */ + boolean hasAbilityId(); + /** + * <code>optional uint32 ability_id = 6;</code> + */ + int getAbilityId(); + } + /** + * Protobuf type {@code CMsgBotWorldState.EventDamage} + */ + public static final class EventDamage extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.EventDamage) + EventDamageOrBuilder { + private static final long serialVersionUID = 0L; + // Use EventDamage.newBuilder() to construct. + private EventDamage(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private EventDamage() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private EventDamage( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + damage_ = input.readUInt32(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + victimPlayerId_ = input.readInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + victimUnitHandle_ = input.readUInt32(); + break; + } + case 32: { + bitField0_ |= 0x00000008; + attackerPlayerId_ = input.readInt32(); + break; + } + case 40: { + bitField0_ |= 0x00000010; + attackerUnitHandle_ = input.readUInt32(); + break; + } + case 48: { + bitField0_ |= 0x00000020; + abilityId_ = input.readUInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventDamage_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventDamage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.Builder.class); + } + + private int bitField0_; + public static final int DAMAGE_FIELD_NUMBER = 1; + private int damage_; + /** + * <code>optional uint32 damage = 1;</code> + */ + public boolean hasDamage() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 damage = 1;</code> + */ + public int getDamage() { + return damage_; + } + + public static final int VICTIM_PLAYER_ID_FIELD_NUMBER = 2; + private int victimPlayerId_; + /** + * <code>optional int32 victim_player_id = 2;</code> + */ + public boolean hasVictimPlayerId() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional int32 victim_player_id = 2;</code> + */ + public int getVictimPlayerId() { + return victimPlayerId_; + } + + public static final int VICTIM_UNIT_HANDLE_FIELD_NUMBER = 3; + private int victimUnitHandle_; + /** + * <code>optional uint32 victim_unit_handle = 3;</code> + */ + public boolean hasVictimUnitHandle() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional uint32 victim_unit_handle = 3;</code> + */ + public int getVictimUnitHandle() { + return victimUnitHandle_; + } + + public static final int ATTACKER_PLAYER_ID_FIELD_NUMBER = 4; + private int attackerPlayerId_; + /** + * <code>optional int32 attacker_player_id = 4;</code> + */ + public boolean hasAttackerPlayerId() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional int32 attacker_player_id = 4;</code> + */ + public int getAttackerPlayerId() { + return attackerPlayerId_; + } + + public static final int ATTACKER_UNIT_HANDLE_FIELD_NUMBER = 5; + private int attackerUnitHandle_; + /** + * <code>optional uint32 attacker_unit_handle = 5;</code> + */ + public boolean hasAttackerUnitHandle() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 attacker_unit_handle = 5;</code> + */ + public int getAttackerUnitHandle() { + return attackerUnitHandle_; + } + + public static final int ABILITY_ID_FIELD_NUMBER = 6; + private int abilityId_; + /** + * <code>optional uint32 ability_id = 6;</code> + */ + public boolean hasAbilityId() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional uint32 ability_id = 6;</code> + */ + public int getAbilityId() { + return abilityId_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeUInt32(1, damage_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeInt32(2, victimPlayerId_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeUInt32(3, victimUnitHandle_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeInt32(4, attackerPlayerId_); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeUInt32(5, attackerUnitHandle_); + } + if (((bitField0_ & 0x00000020) != 0)) { + output.writeUInt32(6, abilityId_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, damage_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, victimPlayerId_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(3, victimUnitHandle_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(4, attackerPlayerId_); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(5, attackerUnitHandle_); + } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(6, abilityId_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage) obj; + + if (hasDamage() != other.hasDamage()) return false; + if (hasDamage()) { + if (getDamage() + != other.getDamage()) return false; + } + if (hasVictimPlayerId() != other.hasVictimPlayerId()) return false; + if (hasVictimPlayerId()) { + if (getVictimPlayerId() + != other.getVictimPlayerId()) return false; + } + if (hasVictimUnitHandle() != other.hasVictimUnitHandle()) return false; + if (hasVictimUnitHandle()) { + if (getVictimUnitHandle() + != other.getVictimUnitHandle()) return false; + } + if (hasAttackerPlayerId() != other.hasAttackerPlayerId()) return false; + if (hasAttackerPlayerId()) { + if (getAttackerPlayerId() + != other.getAttackerPlayerId()) return false; + } + if (hasAttackerUnitHandle() != other.hasAttackerUnitHandle()) return false; + if (hasAttackerUnitHandle()) { + if (getAttackerUnitHandle() + != other.getAttackerUnitHandle()) return false; + } + if (hasAbilityId() != other.hasAbilityId()) return false; + if (hasAbilityId()) { + if (getAbilityId() + != other.getAbilityId()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasDamage()) { + hash = (37 * hash) + DAMAGE_FIELD_NUMBER; + hash = (53 * hash) + getDamage(); + } + if (hasVictimPlayerId()) { + hash = (37 * hash) + VICTIM_PLAYER_ID_FIELD_NUMBER; + hash = (53 * hash) + getVictimPlayerId(); + } + if (hasVictimUnitHandle()) { + hash = (37 * hash) + VICTIM_UNIT_HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getVictimUnitHandle(); + } + if (hasAttackerPlayerId()) { + hash = (37 * hash) + ATTACKER_PLAYER_ID_FIELD_NUMBER; + hash = (53 * hash) + getAttackerPlayerId(); + } + if (hasAttackerUnitHandle()) { + hash = (37 * hash) + ATTACKER_UNIT_HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getAttackerUnitHandle(); + } + if (hasAbilityId()) { + hash = (37 * hash) + ABILITY_ID_FIELD_NUMBER; + hash = (53 * hash) + getAbilityId(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.EventDamage} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.EventDamage) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamageOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventDamage_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventDamage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + damage_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + victimPlayerId_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + victimUnitHandle_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + attackerPlayerId_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + attackerUnitHandle_ = 0; + bitField0_ = (bitField0_ & ~0x00000010); + abilityId_ = 0; + bitField0_ = (bitField0_ & ~0x00000020); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventDamage_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.damage_ = damage_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.victimPlayerId_ = victimPlayerId_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.victimUnitHandle_ = victimUnitHandle_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.attackerPlayerId_ = attackerPlayerId_; + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.attackerUnitHandle_ = attackerUnitHandle_; + to_bitField0_ |= 0x00000010; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.abilityId_ = abilityId_; + to_bitField0_ |= 0x00000020; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.getDefaultInstance()) return this; + if (other.hasDamage()) { + setDamage(other.getDamage()); + } + if (other.hasVictimPlayerId()) { + setVictimPlayerId(other.getVictimPlayerId()); + } + if (other.hasVictimUnitHandle()) { + setVictimUnitHandle(other.getVictimUnitHandle()); + } + if (other.hasAttackerPlayerId()) { + setAttackerPlayerId(other.getAttackerPlayerId()); + } + if (other.hasAttackerUnitHandle()) { + setAttackerUnitHandle(other.getAttackerUnitHandle()); + } + if (other.hasAbilityId()) { + setAbilityId(other.getAbilityId()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int damage_ ; + /** + * <code>optional uint32 damage = 1;</code> + */ + public boolean hasDamage() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 damage = 1;</code> + */ + public int getDamage() { + return damage_; + } + /** + * <code>optional uint32 damage = 1;</code> + */ + public Builder setDamage(int value) { + bitField0_ |= 0x00000001; + damage_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 damage = 1;</code> + */ + public Builder clearDamage() { + bitField0_ = (bitField0_ & ~0x00000001); + damage_ = 0; + onChanged(); + return this; + } + + private int victimPlayerId_ ; + /** + * <code>optional int32 victim_player_id = 2;</code> + */ + public boolean hasVictimPlayerId() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional int32 victim_player_id = 2;</code> + */ + public int getVictimPlayerId() { + return victimPlayerId_; + } + /** + * <code>optional int32 victim_player_id = 2;</code> + */ + public Builder setVictimPlayerId(int value) { + bitField0_ |= 0x00000002; + victimPlayerId_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 victim_player_id = 2;</code> + */ + public Builder clearVictimPlayerId() { + bitField0_ = (bitField0_ & ~0x00000002); + victimPlayerId_ = 0; + onChanged(); + return this; + } + + private int victimUnitHandle_ ; + /** + * <code>optional uint32 victim_unit_handle = 3;</code> + */ + public boolean hasVictimUnitHandle() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional uint32 victim_unit_handle = 3;</code> + */ + public int getVictimUnitHandle() { + return victimUnitHandle_; + } + /** + * <code>optional uint32 victim_unit_handle = 3;</code> + */ + public Builder setVictimUnitHandle(int value) { + bitField0_ |= 0x00000004; + victimUnitHandle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 victim_unit_handle = 3;</code> + */ + public Builder clearVictimUnitHandle() { + bitField0_ = (bitField0_ & ~0x00000004); + victimUnitHandle_ = 0; + onChanged(); + return this; + } + + private int attackerPlayerId_ ; + /** + * <code>optional int32 attacker_player_id = 4;</code> + */ + public boolean hasAttackerPlayerId() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional int32 attacker_player_id = 4;</code> + */ + public int getAttackerPlayerId() { + return attackerPlayerId_; + } + /** + * <code>optional int32 attacker_player_id = 4;</code> + */ + public Builder setAttackerPlayerId(int value) { + bitField0_ |= 0x00000008; + attackerPlayerId_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 attacker_player_id = 4;</code> + */ + public Builder clearAttackerPlayerId() { + bitField0_ = (bitField0_ & ~0x00000008); + attackerPlayerId_ = 0; + onChanged(); + return this; + } + + private int attackerUnitHandle_ ; + /** + * <code>optional uint32 attacker_unit_handle = 5;</code> + */ + public boolean hasAttackerUnitHandle() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 attacker_unit_handle = 5;</code> + */ + public int getAttackerUnitHandle() { + return attackerUnitHandle_; + } + /** + * <code>optional uint32 attacker_unit_handle = 5;</code> + */ + public Builder setAttackerUnitHandle(int value) { + bitField0_ |= 0x00000010; + attackerUnitHandle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 attacker_unit_handle = 5;</code> + */ + public Builder clearAttackerUnitHandle() { + bitField0_ = (bitField0_ & ~0x00000010); + attackerUnitHandle_ = 0; + onChanged(); + return this; + } + + private int abilityId_ ; + /** + * <code>optional uint32 ability_id = 6;</code> + */ + public boolean hasAbilityId() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional uint32 ability_id = 6;</code> + */ + public int getAbilityId() { + return abilityId_; + } + /** + * <code>optional uint32 ability_id = 6;</code> + */ + public Builder setAbilityId(int value) { + bitField0_ |= 0x00000020; + abilityId_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 ability_id = 6;</code> + */ + public Builder clearAbilityId() { + bitField0_ = (bitField0_ & ~0x00000020); + abilityId_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.EventDamage) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.EventDamage) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<EventDamage> + PARSER = new com.google.protobuf.AbstractParser<EventDamage>() { + @java.lang.Override + public EventDamage parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new EventDamage(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<EventDamage> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<EventDamage> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface EventCourierKilledOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.EventCourierKilled) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional uint32 team_id = 1;</code> + */ + boolean hasTeamId(); + /** + * <code>optional uint32 team_id = 1;</code> + */ + int getTeamId(); + + /** + * <code>optional uint32 courier_unit_handle = 2;</code> + */ + boolean hasCourierUnitHandle(); + /** + * <code>optional uint32 courier_unit_handle = 2;</code> + */ + int getCourierUnitHandle(); + + /** + * <code>optional int32 killer_player_id = 3;</code> + */ + boolean hasKillerPlayerId(); + /** + * <code>optional int32 killer_player_id = 3;</code> + */ + int getKillerPlayerId(); + + /** + * <code>optional uint32 killer_unit_handle = 4;</code> + */ + boolean hasKillerUnitHandle(); + /** + * <code>optional uint32 killer_unit_handle = 4;</code> + */ + int getKillerUnitHandle(); + } + /** + * Protobuf type {@code CMsgBotWorldState.EventCourierKilled} + */ + public static final class EventCourierKilled extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.EventCourierKilled) + EventCourierKilledOrBuilder { + private static final long serialVersionUID = 0L; + // Use EventCourierKilled.newBuilder() to construct. + private EventCourierKilled(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private EventCourierKilled() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private EventCourierKilled( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + teamId_ = input.readUInt32(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + courierUnitHandle_ = input.readUInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + killerPlayerId_ = input.readInt32(); + break; + } + case 32: { + bitField0_ |= 0x00000008; + killerUnitHandle_ = input.readUInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventCourierKilled_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventCourierKilled_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.Builder.class); + } + + private int bitField0_; + public static final int TEAM_ID_FIELD_NUMBER = 1; + private int teamId_; + /** + * <code>optional uint32 team_id = 1;</code> + */ + public boolean hasTeamId() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 team_id = 1;</code> + */ + public int getTeamId() { + return teamId_; + } + + public static final int COURIER_UNIT_HANDLE_FIELD_NUMBER = 2; + private int courierUnitHandle_; + /** + * <code>optional uint32 courier_unit_handle = 2;</code> + */ + public boolean hasCourierUnitHandle() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional uint32 courier_unit_handle = 2;</code> + */ + public int getCourierUnitHandle() { + return courierUnitHandle_; + } + + public static final int KILLER_PLAYER_ID_FIELD_NUMBER = 3; + private int killerPlayerId_; + /** + * <code>optional int32 killer_player_id = 3;</code> + */ + public boolean hasKillerPlayerId() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional int32 killer_player_id = 3;</code> + */ + public int getKillerPlayerId() { + return killerPlayerId_; + } + + public static final int KILLER_UNIT_HANDLE_FIELD_NUMBER = 4; + private int killerUnitHandle_; + /** + * <code>optional uint32 killer_unit_handle = 4;</code> + */ + public boolean hasKillerUnitHandle() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional uint32 killer_unit_handle = 4;</code> + */ + public int getKillerUnitHandle() { + return killerUnitHandle_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeUInt32(1, teamId_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeUInt32(2, courierUnitHandle_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeInt32(3, killerPlayerId_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeUInt32(4, killerUnitHandle_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, teamId_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(2, courierUnitHandle_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, killerPlayerId_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(4, killerUnitHandle_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled) obj; + + if (hasTeamId() != other.hasTeamId()) return false; + if (hasTeamId()) { + if (getTeamId() + != other.getTeamId()) return false; + } + if (hasCourierUnitHandle() != other.hasCourierUnitHandle()) return false; + if (hasCourierUnitHandle()) { + if (getCourierUnitHandle() + != other.getCourierUnitHandle()) return false; + } + if (hasKillerPlayerId() != other.hasKillerPlayerId()) return false; + if (hasKillerPlayerId()) { + if (getKillerPlayerId() + != other.getKillerPlayerId()) return false; + } + if (hasKillerUnitHandle() != other.hasKillerUnitHandle()) return false; + if (hasKillerUnitHandle()) { + if (getKillerUnitHandle() + != other.getKillerUnitHandle()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasTeamId()) { + hash = (37 * hash) + TEAM_ID_FIELD_NUMBER; + hash = (53 * hash) + getTeamId(); + } + if (hasCourierUnitHandle()) { + hash = (37 * hash) + COURIER_UNIT_HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getCourierUnitHandle(); + } + if (hasKillerPlayerId()) { + hash = (37 * hash) + KILLER_PLAYER_ID_FIELD_NUMBER; + hash = (53 * hash) + getKillerPlayerId(); + } + if (hasKillerUnitHandle()) { + hash = (37 * hash) + KILLER_UNIT_HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getKillerUnitHandle(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.EventCourierKilled} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.EventCourierKilled) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilledOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventCourierKilled_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventCourierKilled_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + teamId_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + courierUnitHandle_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + killerPlayerId_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + killerUnitHandle_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventCourierKilled_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.teamId_ = teamId_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.courierUnitHandle_ = courierUnitHandle_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.killerPlayerId_ = killerPlayerId_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.killerUnitHandle_ = killerUnitHandle_; + to_bitField0_ |= 0x00000008; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.getDefaultInstance()) return this; + if (other.hasTeamId()) { + setTeamId(other.getTeamId()); + } + if (other.hasCourierUnitHandle()) { + setCourierUnitHandle(other.getCourierUnitHandle()); + } + if (other.hasKillerPlayerId()) { + setKillerPlayerId(other.getKillerPlayerId()); + } + if (other.hasKillerUnitHandle()) { + setKillerUnitHandle(other.getKillerUnitHandle()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int teamId_ ; + /** + * <code>optional uint32 team_id = 1;</code> + */ + public boolean hasTeamId() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 team_id = 1;</code> + */ + public int getTeamId() { + return teamId_; + } + /** + * <code>optional uint32 team_id = 1;</code> + */ + public Builder setTeamId(int value) { + bitField0_ |= 0x00000001; + teamId_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 team_id = 1;</code> + */ + public Builder clearTeamId() { + bitField0_ = (bitField0_ & ~0x00000001); + teamId_ = 0; + onChanged(); + return this; + } + + private int courierUnitHandle_ ; + /** + * <code>optional uint32 courier_unit_handle = 2;</code> + */ + public boolean hasCourierUnitHandle() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional uint32 courier_unit_handle = 2;</code> + */ + public int getCourierUnitHandle() { + return courierUnitHandle_; + } + /** + * <code>optional uint32 courier_unit_handle = 2;</code> + */ + public Builder setCourierUnitHandle(int value) { + bitField0_ |= 0x00000002; + courierUnitHandle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 courier_unit_handle = 2;</code> + */ + public Builder clearCourierUnitHandle() { + bitField0_ = (bitField0_ & ~0x00000002); + courierUnitHandle_ = 0; + onChanged(); + return this; + } + + private int killerPlayerId_ ; + /** + * <code>optional int32 killer_player_id = 3;</code> + */ + public boolean hasKillerPlayerId() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional int32 killer_player_id = 3;</code> + */ + public int getKillerPlayerId() { + return killerPlayerId_; + } + /** + * <code>optional int32 killer_player_id = 3;</code> + */ + public Builder setKillerPlayerId(int value) { + bitField0_ |= 0x00000004; + killerPlayerId_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 killer_player_id = 3;</code> + */ + public Builder clearKillerPlayerId() { + bitField0_ = (bitField0_ & ~0x00000004); + killerPlayerId_ = 0; + onChanged(); + return this; + } + + private int killerUnitHandle_ ; + /** + * <code>optional uint32 killer_unit_handle = 4;</code> + */ + public boolean hasKillerUnitHandle() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional uint32 killer_unit_handle = 4;</code> + */ + public int getKillerUnitHandle() { + return killerUnitHandle_; + } + /** + * <code>optional uint32 killer_unit_handle = 4;</code> + */ + public Builder setKillerUnitHandle(int value) { + bitField0_ |= 0x00000008; + killerUnitHandle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 killer_unit_handle = 4;</code> + */ + public Builder clearKillerUnitHandle() { + bitField0_ = (bitField0_ & ~0x00000008); + killerUnitHandle_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.EventCourierKilled) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.EventCourierKilled) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<EventCourierKilled> + PARSER = new com.google.protobuf.AbstractParser<EventCourierKilled>() { + @java.lang.Override + public EventCourierKilled parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new EventCourierKilled(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<EventCourierKilled> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<EventCourierKilled> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface EventRoshanKilledOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.EventRoshanKilled) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional int32 killer_player_id = 1;</code> + */ + boolean hasKillerPlayerId(); + /** + * <code>optional int32 killer_player_id = 1;</code> + */ + int getKillerPlayerId(); + + /** + * <code>optional uint32 killer_unit_handle = 2;</code> + */ + boolean hasKillerUnitHandle(); + /** + * <code>optional uint32 killer_unit_handle = 2;</code> + */ + int getKillerUnitHandle(); + } + /** + * Protobuf type {@code CMsgBotWorldState.EventRoshanKilled} + */ + public static final class EventRoshanKilled extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.EventRoshanKilled) + EventRoshanKilledOrBuilder { + private static final long serialVersionUID = 0L; + // Use EventRoshanKilled.newBuilder() to construct. + private EventRoshanKilled(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private EventRoshanKilled() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private EventRoshanKilled( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + killerPlayerId_ = input.readInt32(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + killerUnitHandle_ = input.readUInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventRoshanKilled_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventRoshanKilled_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.Builder.class); + } + + private int bitField0_; + public static final int KILLER_PLAYER_ID_FIELD_NUMBER = 1; + private int killerPlayerId_; + /** + * <code>optional int32 killer_player_id = 1;</code> + */ + public boolean hasKillerPlayerId() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional int32 killer_player_id = 1;</code> + */ + public int getKillerPlayerId() { + return killerPlayerId_; + } + + public static final int KILLER_UNIT_HANDLE_FIELD_NUMBER = 2; + private int killerUnitHandle_; + /** + * <code>optional uint32 killer_unit_handle = 2;</code> + */ + public boolean hasKillerUnitHandle() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional uint32 killer_unit_handle = 2;</code> + */ + public int getKillerUnitHandle() { + return killerUnitHandle_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(1, killerPlayerId_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeUInt32(2, killerUnitHandle_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, killerPlayerId_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(2, killerUnitHandle_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled) obj; + + if (hasKillerPlayerId() != other.hasKillerPlayerId()) return false; + if (hasKillerPlayerId()) { + if (getKillerPlayerId() + != other.getKillerPlayerId()) return false; + } + if (hasKillerUnitHandle() != other.hasKillerUnitHandle()) return false; + if (hasKillerUnitHandle()) { + if (getKillerUnitHandle() + != other.getKillerUnitHandle()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasKillerPlayerId()) { + hash = (37 * hash) + KILLER_PLAYER_ID_FIELD_NUMBER; + hash = (53 * hash) + getKillerPlayerId(); + } + if (hasKillerUnitHandle()) { + hash = (37 * hash) + KILLER_UNIT_HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getKillerUnitHandle(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.EventRoshanKilled} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.EventRoshanKilled) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilledOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventRoshanKilled_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventRoshanKilled_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + killerPlayerId_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + killerUnitHandle_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventRoshanKilled_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.killerPlayerId_ = killerPlayerId_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.killerUnitHandle_ = killerUnitHandle_; + to_bitField0_ |= 0x00000002; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.getDefaultInstance()) return this; + if (other.hasKillerPlayerId()) { + setKillerPlayerId(other.getKillerPlayerId()); + } + if (other.hasKillerUnitHandle()) { + setKillerUnitHandle(other.getKillerUnitHandle()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int killerPlayerId_ ; + /** + * <code>optional int32 killer_player_id = 1;</code> + */ + public boolean hasKillerPlayerId() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional int32 killer_player_id = 1;</code> + */ + public int getKillerPlayerId() { + return killerPlayerId_; + } + /** + * <code>optional int32 killer_player_id = 1;</code> + */ + public Builder setKillerPlayerId(int value) { + bitField0_ |= 0x00000001; + killerPlayerId_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 killer_player_id = 1;</code> + */ + public Builder clearKillerPlayerId() { + bitField0_ = (bitField0_ & ~0x00000001); + killerPlayerId_ = 0; + onChanged(); + return this; + } + + private int killerUnitHandle_ ; + /** + * <code>optional uint32 killer_unit_handle = 2;</code> + */ + public boolean hasKillerUnitHandle() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional uint32 killer_unit_handle = 2;</code> + */ + public int getKillerUnitHandle() { + return killerUnitHandle_; + } + /** + * <code>optional uint32 killer_unit_handle = 2;</code> + */ + public Builder setKillerUnitHandle(int value) { + bitField0_ |= 0x00000002; + killerUnitHandle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 killer_unit_handle = 2;</code> + */ + public Builder clearKillerUnitHandle() { + bitField0_ = (bitField0_ & ~0x00000002); + killerUnitHandle_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.EventRoshanKilled) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.EventRoshanKilled) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<EventRoshanKilled> + PARSER = new com.google.protobuf.AbstractParser<EventRoshanKilled>() { + @java.lang.Override + public EventRoshanKilled parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new EventRoshanKilled(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<EventRoshanKilled> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<EventRoshanKilled> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface EventTreeOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.EventTree) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional uint32 tree_id = 1;</code> + */ + boolean hasTreeId(); + /** + * <code>optional uint32 tree_id = 1;</code> + */ + int getTreeId(); + + /** + * <code>optional bool destroyed = 2;</code> + */ + boolean hasDestroyed(); + /** + * <code>optional bool destroyed = 2;</code> + */ + boolean getDestroyed(); + + /** + * <code>optional bool respawned = 3;</code> + */ + boolean hasRespawned(); + /** + * <code>optional bool respawned = 3;</code> + */ + boolean getRespawned(); + + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + boolean hasLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder(); + + /** + * <code>optional bool delayed = 5;</code> + */ + boolean hasDelayed(); + /** + * <code>optional bool delayed = 5;</code> + */ + boolean getDelayed(); + } + /** + * Protobuf type {@code CMsgBotWorldState.EventTree} + */ + public static final class EventTree extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.EventTree) + EventTreeOrBuilder { + private static final long serialVersionUID = 0L; + // Use EventTree.newBuilder() to construct. + private EventTree(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private EventTree() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private EventTree( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + treeId_ = input.readUInt32(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + destroyed_ = input.readBool(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + respawned_ = input.readBool(); + break; + } + case 34: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000008) != 0)) { + subBuilder = location_.toBuilder(); + } + location_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(location_); + location_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000008; + break; + } + case 40: { + bitField0_ |= 0x00000010; + delayed_ = input.readBool(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventTree_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventTree_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.Builder.class); + } + + private int bitField0_; + public static final int TREE_ID_FIELD_NUMBER = 1; + private int treeId_; + /** + * <code>optional uint32 tree_id = 1;</code> + */ + public boolean hasTreeId() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 tree_id = 1;</code> + */ + public int getTreeId() { + return treeId_; + } + + public static final int DESTROYED_FIELD_NUMBER = 2; + private boolean destroyed_; + /** + * <code>optional bool destroyed = 2;</code> + */ + public boolean hasDestroyed() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional bool destroyed = 2;</code> + */ + public boolean getDestroyed() { + return destroyed_; + } + + public static final int RESPAWNED_FIELD_NUMBER = 3; + private boolean respawned_; + /** + * <code>optional bool respawned = 3;</code> + */ + public boolean hasRespawned() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional bool respawned = 3;</code> + */ + public boolean getRespawned() { + return respawned_; + } + + public static final int LOCATION_FIELD_NUMBER = 4; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + + public static final int DELAYED_FIELD_NUMBER = 5; + private boolean delayed_; + /** + * <code>optional bool delayed = 5;</code> + */ + public boolean hasDelayed() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional bool delayed = 5;</code> + */ + public boolean getDelayed() { + return delayed_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (hasLocation()) { + if (!getLocation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeUInt32(1, treeId_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeBool(2, destroyed_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeBool(3, respawned_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeMessage(4, getLocation()); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeBool(5, delayed_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, treeId_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(2, destroyed_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(3, respawned_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, getLocation()); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(5, delayed_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree) obj; + + if (hasTreeId() != other.hasTreeId()) return false; + if (hasTreeId()) { + if (getTreeId() + != other.getTreeId()) return false; + } + if (hasDestroyed() != other.hasDestroyed()) return false; + if (hasDestroyed()) { + if (getDestroyed() + != other.getDestroyed()) return false; + } + if (hasRespawned() != other.hasRespawned()) return false; + if (hasRespawned()) { + if (getRespawned() + != other.getRespawned()) return false; + } + if (hasLocation() != other.hasLocation()) return false; + if (hasLocation()) { + if (!getLocation() + .equals(other.getLocation())) return false; + } + if (hasDelayed() != other.hasDelayed()) return false; + if (hasDelayed()) { + if (getDelayed() + != other.getDelayed()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasTreeId()) { + hash = (37 * hash) + TREE_ID_FIELD_NUMBER; + hash = (53 * hash) + getTreeId(); + } + if (hasDestroyed()) { + hash = (37 * hash) + DESTROYED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getDestroyed()); + } + if (hasRespawned()) { + hash = (37 * hash) + RESPAWNED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getRespawned()); + } + if (hasLocation()) { + hash = (37 * hash) + LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getLocation().hashCode(); + } + if (hasDelayed()) { + hash = (37 * hash) + DELAYED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getDelayed()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.EventTree} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.EventTree) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTreeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventTree_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventTree_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getLocationFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + treeId_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + destroyed_ = false; + bitField0_ = (bitField0_ & ~0x00000002); + respawned_ = false; + bitField0_ = (bitField0_ & ~0x00000004); + if (locationBuilder_ == null) { + location_ = null; + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + delayed_ = false; + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_EventTree_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.treeId_ = treeId_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.destroyed_ = destroyed_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.respawned_ = respawned_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + if (locationBuilder_ == null) { + result.location_ = location_; + } else { + result.location_ = locationBuilder_.build(); + } + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.delayed_ = delayed_; + to_bitField0_ |= 0x00000010; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.getDefaultInstance()) return this; + if (other.hasTreeId()) { + setTreeId(other.getTreeId()); + } + if (other.hasDestroyed()) { + setDestroyed(other.getDestroyed()); + } + if (other.hasRespawned()) { + setRespawned(other.getRespawned()); + } + if (other.hasLocation()) { + mergeLocation(other.getLocation()); + } + if (other.hasDelayed()) { + setDelayed(other.getDelayed()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (hasLocation()) { + if (!getLocation().isInitialized()) { + return false; + } + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int treeId_ ; + /** + * <code>optional uint32 tree_id = 1;</code> + */ + public boolean hasTreeId() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 tree_id = 1;</code> + */ + public int getTreeId() { + return treeId_; + } + /** + * <code>optional uint32 tree_id = 1;</code> + */ + public Builder setTreeId(int value) { + bitField0_ |= 0x00000001; + treeId_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 tree_id = 1;</code> + */ + public Builder clearTreeId() { + bitField0_ = (bitField0_ & ~0x00000001); + treeId_ = 0; + onChanged(); + return this; + } + + private boolean destroyed_ ; + /** + * <code>optional bool destroyed = 2;</code> + */ + public boolean hasDestroyed() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional bool destroyed = 2;</code> + */ + public boolean getDestroyed() { + return destroyed_; + } + /** + * <code>optional bool destroyed = 2;</code> + */ + public Builder setDestroyed(boolean value) { + bitField0_ |= 0x00000002; + destroyed_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool destroyed = 2;</code> + */ + public Builder clearDestroyed() { + bitField0_ = (bitField0_ & ~0x00000002); + destroyed_ = false; + onChanged(); + return this; + } + + private boolean respawned_ ; + /** + * <code>optional bool respawned = 3;</code> + */ + public boolean hasRespawned() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional bool respawned = 3;</code> + */ + public boolean getRespawned() { + return respawned_; + } + /** + * <code>optional bool respawned = 3;</code> + */ + public Builder setRespawned(boolean value) { + bitField0_ |= 0x00000004; + respawned_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool respawned = 3;</code> + */ + public Builder clearRespawned() { + bitField0_ = (bitField0_ & ~0x00000004); + respawned_ = false; + onChanged(); + return this; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> locationBuilder_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + if (locationBuilder_ == null) { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } else { + return locationBuilder_.getMessage(); + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public Builder setLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + onChanged(); + } else { + locationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public Builder setLocation( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (locationBuilder_ == null) { + location_ = builderForValue.build(); + onChanged(); + } else { + locationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public Builder mergeLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0) && + location_ != null && + location_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + location_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(location_).mergeFrom(value).buildPartial(); + } else { + location_ = value; + } + onChanged(); + } else { + locationBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public Builder clearLocation() { + if (locationBuilder_ == null) { + location_ = null; + onChanged(); + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getLocationBuilder() { + bitField0_ |= 0x00000008; + onChanged(); + return getLocationFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + if (locationBuilder_ != null) { + return locationBuilder_.getMessageOrBuilder(); + } else { + return location_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 4;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getLocationFieldBuilder() { + if (locationBuilder_ == null) { + locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getLocation(), + getParentForChildren(), + isClean()); + location_ = null; + } + return locationBuilder_; + } + + private boolean delayed_ ; + /** + * <code>optional bool delayed = 5;</code> + */ + public boolean hasDelayed() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional bool delayed = 5;</code> + */ + public boolean getDelayed() { + return delayed_; + } + /** + * <code>optional bool delayed = 5;</code> + */ + public Builder setDelayed(boolean value) { + bitField0_ |= 0x00000010; + delayed_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool delayed = 5;</code> + */ + public Builder clearDelayed() { + bitField0_ = (bitField0_ & ~0x00000010); + delayed_ = false; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.EventTree) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.EventTree) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<EventTree> + PARSER = new com.google.protobuf.AbstractParser<EventTree>() { + @java.lang.Override + public EventTree parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new EventTree(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<EventTree> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<EventTree> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface UnitOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Unit) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional uint32 handle = 1;</code> + */ + boolean hasHandle(); + /** + * <code>optional uint32 handle = 1;</code> + */ + int getHandle(); + + /** + * <code>optional .CMsgBotWorldState.UnitType unit_type = 2 [default = INVALID];</code> + */ + boolean hasUnitType(); + /** + * <code>optional .CMsgBotWorldState.UnitType unit_type = 2 [default = INVALID];</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType getUnitType(); + + /** + * <code>optional string name = 3;</code> + */ + boolean hasName(); + /** + * <code>optional string name = 3;</code> + */ + java.lang.String getName(); + /** + * <code>optional string name = 3;</code> + */ + com.google.protobuf.ByteString + getNameBytes(); + + /** + * <code>optional uint32 team_id = 4;</code> + */ + boolean hasTeamId(); + /** + * <code>optional uint32 team_id = 4;</code> + */ + int getTeamId(); + + /** + * <code>optional uint32 level = 5;</code> + */ + boolean hasLevel(); + /** + * <code>optional uint32 level = 5;</code> + */ + int getLevel(); + + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + boolean hasLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder(); + + /** + * <code>optional bool is_alive = 7;</code> + */ + boolean hasIsAlive(); + /** + * <code>optional bool is_alive = 7;</code> + */ + boolean getIsAlive(); + + /** + * <code>optional int32 player_id = 8;</code> + */ + boolean hasPlayerId(); + /** + * <code>optional int32 player_id = 8;</code> + */ + int getPlayerId(); + + /** + * <code>optional int32 bounding_radius = 10;</code> + */ + boolean hasBoundingRadius(); + /** + * <code>optional int32 bounding_radius = 10;</code> + */ + int getBoundingRadius(); + + /** + * <code>optional int32 facing = 11;</code> + */ + boolean hasFacing(); + /** + * <code>optional int32 facing = 11;</code> + */ + int getFacing(); + + /** + * <code>optional uint32 ground_height = 12;</code> + */ + boolean hasGroundHeight(); + /** + * <code>optional uint32 ground_height = 12;</code> + */ + int getGroundHeight(); + + /** + * <code>optional uint32 vision_range_daytime = 15;</code> + */ + boolean hasVisionRangeDaytime(); + /** + * <code>optional uint32 vision_range_daytime = 15;</code> + */ + int getVisionRangeDaytime(); + + /** + * <code>optional uint32 vision_range_nighttime = 16;</code> + */ + boolean hasVisionRangeNighttime(); + /** + * <code>optional uint32 vision_range_nighttime = 16;</code> + */ + int getVisionRangeNighttime(); + + /** + * <code>optional int32 health = 20;</code> + */ + boolean hasHealth(); + /** + * <code>optional int32 health = 20;</code> + */ + int getHealth(); + + /** + * <code>optional int32 health_max = 21;</code> + */ + boolean hasHealthMax(); + /** + * <code>optional int32 health_max = 21;</code> + */ + int getHealthMax(); + + /** + * <code>optional float health_regen = 22;</code> + */ + boolean hasHealthRegen(); + /** + * <code>optional float health_regen = 22;</code> + */ + float getHealthRegen(); + + /** + * <code>optional int32 mana = 25;</code> + */ + boolean hasMana(); + /** + * <code>optional int32 mana = 25;</code> + */ + int getMana(); + + /** + * <code>optional int32 mana_max = 26;</code> + */ + boolean hasManaMax(); + /** + * <code>optional int32 mana_max = 26;</code> + */ + int getManaMax(); + + /** + * <code>optional float mana_regen = 27;</code> + */ + boolean hasManaRegen(); + /** + * <code>optional float mana_regen = 27;</code> + */ + float getManaRegen(); + + /** + * <code>optional int32 base_movement_speed = 30;</code> + */ + boolean hasBaseMovementSpeed(); + /** + * <code>optional int32 base_movement_speed = 30;</code> + */ + int getBaseMovementSpeed(); + + /** + * <code>optional int32 current_movement_speed = 31;</code> + */ + boolean hasCurrentMovementSpeed(); + /** + * <code>optional int32 current_movement_speed = 31;</code> + */ + int getCurrentMovementSpeed(); + + /** + * <code>optional int32 anim_activity = 35;</code> + */ + boolean hasAnimActivity(); + /** + * <code>optional int32 anim_activity = 35;</code> + */ + int getAnimActivity(); + + /** + * <code>optional float anim_cycle = 36;</code> + */ + boolean hasAnimCycle(); + /** + * <code>optional float anim_cycle = 36;</code> + */ + float getAnimCycle(); + + /** + * <code>optional int32 base_damage = 40;</code> + */ + boolean hasBaseDamage(); + /** + * <code>optional int32 base_damage = 40;</code> + */ + int getBaseDamage(); + + /** + * <code>optional int32 base_damage_variance = 41;</code> + */ + boolean hasBaseDamageVariance(); + /** + * <code>optional int32 base_damage_variance = 41;</code> + */ + int getBaseDamageVariance(); + + /** + * <code>optional int32 bonus_damage = 42;</code> + */ + boolean hasBonusDamage(); + /** + * <code>optional int32 bonus_damage = 42;</code> + */ + int getBonusDamage(); + + /** + * <code>optional int32 attack_damage = 43;</code> + */ + boolean hasAttackDamage(); + /** + * <code>optional int32 attack_damage = 43;</code> + */ + int getAttackDamage(); + + /** + * <code>optional int32 attack_range = 44;</code> + */ + boolean hasAttackRange(); + /** + * <code>optional int32 attack_range = 44;</code> + */ + int getAttackRange(); + + /** + * <code>optional float attack_speed = 45;</code> + */ + boolean hasAttackSpeed(); + /** + * <code>optional float attack_speed = 45;</code> + */ + float getAttackSpeed(); + + /** + * <code>optional float attack_anim_point = 46;</code> + */ + boolean hasAttackAnimPoint(); + /** + * <code>optional float attack_anim_point = 46;</code> + */ + float getAttackAnimPoint(); + + /** + * <code>optional int32 attack_acquisition_range = 47;</code> + */ + boolean hasAttackAcquisitionRange(); + /** + * <code>optional int32 attack_acquisition_range = 47;</code> + */ + int getAttackAcquisitionRange(); + + /** + * <code>optional int32 attack_projectile_speed = 48;</code> + */ + boolean hasAttackProjectileSpeed(); + /** + * <code>optional int32 attack_projectile_speed = 48;</code> + */ + int getAttackProjectileSpeed(); + + /** + * <code>optional uint32 attack_target_handle = 49;</code> + */ + boolean hasAttackTargetHandle(); + /** + * <code>optional uint32 attack_target_handle = 49;</code> + */ + int getAttackTargetHandle(); + + /** + * <code>optional string attack_target_name = 52;</code> + */ + boolean hasAttackTargetName(); + /** + * <code>optional string attack_target_name = 52;</code> + */ + java.lang.String getAttackTargetName(); + /** + * <code>optional string attack_target_name = 52;</code> + */ + com.google.protobuf.ByteString + getAttackTargetNameBytes(); + + /** + * <code>optional int32 attacks_per_second = 50 [default = -1];</code> + */ + boolean hasAttacksPerSecond(); + /** + * <code>optional int32 attacks_per_second = 50 [default = -1];</code> + */ + int getAttacksPerSecond(); + + /** + * <code>optional float last_attack_time = 51 [default = -1];</code> + */ + boolean hasLastAttackTime(); + /** + * <code>optional float last_attack_time = 51 [default = -1];</code> + */ + float getLastAttackTime(); + + /** + * <code>optional uint32 bounty_xp = 60;</code> + */ + boolean hasBountyXp(); + /** + * <code>optional uint32 bounty_xp = 60;</code> + */ + int getBountyXp(); + + /** + * <code>optional uint32 bounty_gold_min = 61;</code> + */ + boolean hasBountyGoldMin(); + /** + * <code>optional uint32 bounty_gold_min = 61;</code> + */ + int getBountyGoldMin(); + + /** + * <code>optional uint32 bounty_gold_max = 62;</code> + */ + boolean hasBountyGoldMax(); + /** + * <code>optional uint32 bounty_gold_max = 62;</code> + */ + int getBountyGoldMax(); + + /** + * <code>optional bool is_channeling = 65;</code> + */ + boolean hasIsChanneling(); + /** + * <code>optional bool is_channeling = 65;</code> + */ + boolean getIsChanneling(); + + /** + * <code>optional uint32 active_ability_handle = 66;</code> + */ + boolean hasActiveAbilityHandle(); + /** + * <code>optional uint32 active_ability_handle = 66;</code> + */ + int getActiveAbilityHandle(); + + /** + * <code>optional bool is_attack_immune = 70;</code> + */ + boolean hasIsAttackImmune(); + /** + * <code>optional bool is_attack_immune = 70;</code> + */ + boolean getIsAttackImmune(); + + /** + * <code>optional bool is_blind = 71;</code> + */ + boolean hasIsBlind(); + /** + * <code>optional bool is_blind = 71;</code> + */ + boolean getIsBlind(); + + /** + * <code>optional bool is_block_disabled = 72;</code> + */ + boolean hasIsBlockDisabled(); + /** + * <code>optional bool is_block_disabled = 72;</code> + */ + boolean getIsBlockDisabled(); + + /** + * <code>optional bool is_disarmed = 73;</code> + */ + boolean hasIsDisarmed(); + /** + * <code>optional bool is_disarmed = 73;</code> + */ + boolean getIsDisarmed(); + + /** + * <code>optional bool is_dominated = 74;</code> + */ + boolean hasIsDominated(); + /** + * <code>optional bool is_dominated = 74;</code> + */ + boolean getIsDominated(); + + /** + * <code>optional bool is_evade_disabled = 75;</code> + */ + boolean hasIsEvadeDisabled(); + /** + * <code>optional bool is_evade_disabled = 75;</code> + */ + boolean getIsEvadeDisabled(); + + /** + * <code>optional bool is_hexed = 76;</code> + */ + boolean hasIsHexed(); + /** + * <code>optional bool is_hexed = 76;</code> + */ + boolean getIsHexed(); + + /** + * <code>optional bool is_invisible = 77;</code> + */ + boolean hasIsInvisible(); + /** + * <code>optional bool is_invisible = 77;</code> + */ + boolean getIsInvisible(); + + /** + * <code>optional bool is_invulnerable = 78;</code> + */ + boolean hasIsInvulnerable(); + /** + * <code>optional bool is_invulnerable = 78;</code> + */ + boolean getIsInvulnerable(); + + /** + * <code>optional bool is_magic_immune = 79;</code> + */ + boolean hasIsMagicImmune(); + /** + * <code>optional bool is_magic_immune = 79;</code> + */ + boolean getIsMagicImmune(); + + /** + * <code>optional bool is_muted = 80;</code> + */ + boolean hasIsMuted(); + /** + * <code>optional bool is_muted = 80;</code> + */ + boolean getIsMuted(); + + /** + * <code>optional bool is_nightmared = 82;</code> + */ + boolean hasIsNightmared(); + /** + * <code>optional bool is_nightmared = 82;</code> + */ + boolean getIsNightmared(); + + /** + * <code>optional bool is_rooted = 83;</code> + */ + boolean hasIsRooted(); + /** + * <code>optional bool is_rooted = 83;</code> + */ + boolean getIsRooted(); + + /** + * <code>optional bool is_silenced = 84;</code> + */ + boolean hasIsSilenced(); + /** + * <code>optional bool is_silenced = 84;</code> + */ + boolean getIsSilenced(); + + /** + * <code>optional bool is_specially_deniable = 85;</code> + */ + boolean hasIsSpeciallyDeniable(); + /** + * <code>optional bool is_specially_deniable = 85;</code> + */ + boolean getIsSpeciallyDeniable(); + + /** + * <code>optional bool is_stunned = 86;</code> + */ + boolean hasIsStunned(); + /** + * <code>optional bool is_stunned = 86;</code> + */ + boolean getIsStunned(); + + /** + * <code>optional bool is_unable_to_miss = 87;</code> + */ + boolean hasIsUnableToMiss(); + /** + * <code>optional bool is_unable_to_miss = 87;</code> + */ + boolean getIsUnableToMiss(); + + /** + * <code>optional bool has_scepter = 88;</code> + */ + boolean hasHasScepter(); + /** + * <code>optional bool has_scepter = 88;</code> + */ + boolean getHasScepter(); + + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability> + getAbilitiesList(); + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability getAbilities(int index); + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + int getAbilitiesCount(); + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder> + getAbilitiesOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder getAbilitiesOrBuilder( + int index); + + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability> + getItemsList(); + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability getItems(int index); + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + int getItemsCount(); + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder> + getItemsOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder getItemsOrBuilder( + int index); + + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier> + getModifiersList(); + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier getModifiers(int index); + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + int getModifiersCount(); + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.ModifierOrBuilder> + getModifiersOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.ModifierOrBuilder getModifiersOrBuilder( + int index); + + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile> + getIncomingTrackingProjectilesList(); + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile getIncomingTrackingProjectiles(int index); + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + int getIncomingTrackingProjectilesCount(); + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectileOrBuilder> + getIncomingTrackingProjectilesOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectileOrBuilder getIncomingTrackingProjectilesOrBuilder( + int index); + + /** + * <code>optional uint32 action_type = 100;</code> + */ + boolean hasActionType(); + /** + * <code>optional uint32 action_type = 100;</code> + */ + int getActionType(); + + /** + * <code>optional uint32 ability_target_handle = 101;</code> + */ + boolean hasAbilityTargetHandle(); + /** + * <code>optional uint32 ability_target_handle = 101;</code> + */ + int getAbilityTargetHandle(); + + /** + * <code>optional string ability_target_name = 103;</code> + */ + boolean hasAbilityTargetName(); + /** + * <code>optional string ability_target_name = 103;</code> + */ + java.lang.String getAbilityTargetName(); + /** + * <code>optional string ability_target_name = 103;</code> + */ + com.google.protobuf.ByteString + getAbilityTargetNameBytes(); + + /** + * <code>optional bool is_using_ability = 102;</code> + */ + boolean hasIsUsingAbility(); + /** + * <code>optional bool is_using_ability = 102;</code> + */ + boolean getIsUsingAbility(); + + /** + * <code>optional uint32 primary_attribute = 110;</code> + */ + boolean hasPrimaryAttribute(); + /** + * <code>optional uint32 primary_attribute = 110;</code> + */ + int getPrimaryAttribute(); + + /** + * <code>optional bool is_illusion = 111;</code> + */ + boolean hasIsIllusion(); + /** + * <code>optional bool is_illusion = 111;</code> + */ + boolean getIsIllusion(); + + /** + * <code>optional float respawn_time = 112;</code> + */ + boolean hasRespawnTime(); + /** + * <code>optional float respawn_time = 112;</code> + */ + float getRespawnTime(); + + /** + * <code>optional uint32 buyback_cost = 113;</code> + */ + boolean hasBuybackCost(); + /** + * <code>optional uint32 buyback_cost = 113;</code> + */ + int getBuybackCost(); + + /** + * <code>optional float buyback_cooldown = 114;</code> + */ + boolean hasBuybackCooldown(); + /** + * <code>optional float buyback_cooldown = 114;</code> + */ + float getBuybackCooldown(); + + /** + * <code>optional float spell_amplification = 115;</code> + */ + boolean hasSpellAmplification(); + /** + * <code>optional float spell_amplification = 115;</code> + */ + float getSpellAmplification(); + + /** + * <code>optional float armor = 116;</code> + */ + boolean hasArmor(); + /** + * <code>optional float armor = 116;</code> + */ + float getArmor(); + + /** + * <code>optional float magic_resist = 117;</code> + */ + boolean hasMagicResist(); + /** + * <code>optional float magic_resist = 117;</code> + */ + float getMagicResist(); + + /** + * <code>optional float evasion = 118;</code> + */ + boolean hasEvasion(); + /** + * <code>optional float evasion = 118;</code> + */ + float getEvasion(); + + /** + * <code>optional uint32 xp_needed_to_level = 120;</code> + */ + boolean hasXpNeededToLevel(); + /** + * <code>optional uint32 xp_needed_to_level = 120;</code> + */ + int getXpNeededToLevel(); + + /** + * <code>optional uint32 ability_points = 121;</code> + */ + boolean hasAbilityPoints(); + /** + * <code>optional uint32 ability_points = 121;</code> + */ + int getAbilityPoints(); + + /** + * <code>optional int32 reliable_gold = 122 [default = -1];</code> + */ + boolean hasReliableGold(); + /** + * <code>optional int32 reliable_gold = 122 [default = -1];</code> + */ + int getReliableGold(); + + /** + * <code>optional int32 unreliable_gold = 123 [default = -1];</code> + */ + boolean hasUnreliableGold(); + /** + * <code>optional int32 unreliable_gold = 123 [default = -1];</code> + */ + int getUnreliableGold(); + + /** + * <code>optional uint32 last_hits = 124;</code> + */ + boolean hasLastHits(); + /** + * <code>optional uint32 last_hits = 124;</code> + */ + int getLastHits(); + + /** + * <code>optional uint32 denies = 125;</code> + */ + boolean hasDenies(); + /** + * <code>optional uint32 denies = 125;</code> + */ + int getDenies(); + + /** + * <code>optional uint32 net_worth = 126;</code> + */ + boolean hasNetWorth(); + /** + * <code>optional uint32 net_worth = 126;</code> + */ + int getNetWorth(); + + /** + * <code>optional uint32 strength = 127;</code> + */ + boolean hasStrength(); + /** + * <code>optional uint32 strength = 127;</code> + */ + int getStrength(); + + /** + * <code>optional uint32 agility = 128;</code> + */ + boolean hasAgility(); + /** + * <code>optional uint32 agility = 128;</code> + */ + int getAgility(); + + /** + * <code>optional uint32 intelligence = 129;</code> + */ + boolean hasIntelligence(); + /** + * <code>optional uint32 intelligence = 129;</code> + */ + int getIntelligence(); + + /** + * <code>optional float remaining_lifespan = 130;</code> + */ + boolean hasRemainingLifespan(); + /** + * <code>optional float remaining_lifespan = 130;</code> + */ + float getRemainingLifespan(); + + /** + * <code>optional bool flying_courier = 140;</code> + */ + boolean hasFlyingCourier(); + /** + * <code>optional bool flying_courier = 140;</code> + */ + boolean getFlyingCourier(); + + /** + * <code>optional float shrine_cooldown = 150;</code> + */ + boolean hasShrineCooldown(); + /** + * <code>optional float shrine_cooldown = 150;</code> + */ + float getShrineCooldown(); + + /** + * <code>optional bool is_shrine_healing = 151;</code> + */ + boolean hasIsShrineHealing(); + /** + * <code>optional bool is_shrine_healing = 151;</code> + */ + boolean getIsShrineHealing(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Unit} + */ + public static final class Unit extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Unit) + UnitOrBuilder { + private static final long serialVersionUID = 0L; + // Use Unit.newBuilder() to construct. + private Unit(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Unit() { + unitType_ = 0; + name_ = ""; + attackTargetName_ = ""; + attacksPerSecond_ = -1; + lastAttackTime_ = -1F; + abilities_ = java.util.Collections.emptyList(); + items_ = java.util.Collections.emptyList(); + modifiers_ = java.util.Collections.emptyList(); + incomingTrackingProjectiles_ = java.util.Collections.emptyList(); + abilityTargetName_ = ""; + reliableGold_ = -1; + unreliableGold_ = -1; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Unit( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + int mutable_bitField1_ = 0; + int mutable_bitField2_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + handle_ = input.readUInt32(); + break; + } + case 16: { + int rawValue = input.readEnum(); + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType value = CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(2, rawValue); + } else { + bitField0_ |= 0x00000002; + unitType_ = rawValue; + } + break; + } + case 26: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000004; + name_ = bs; + break; + } + case 32: { + bitField0_ |= 0x00000008; + teamId_ = input.readUInt32(); + break; + } + case 40: { + bitField0_ |= 0x00000010; + level_ = input.readUInt32(); + break; + } + case 50: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000020) != 0)) { + subBuilder = location_.toBuilder(); + } + location_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(location_); + location_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000020; + break; + } + case 56: { + bitField0_ |= 0x00000040; + isAlive_ = input.readBool(); + break; + } + case 64: { + bitField0_ |= 0x00000080; + playerId_ = input.readInt32(); + break; + } + case 80: { + bitField0_ |= 0x00000100; + boundingRadius_ = input.readInt32(); + break; + } + case 88: { + bitField0_ |= 0x00000200; + facing_ = input.readInt32(); + break; + } + case 96: { + bitField0_ |= 0x00000400; + groundHeight_ = input.readUInt32(); + break; + } + case 120: { + bitField0_ |= 0x00000800; + visionRangeDaytime_ = input.readUInt32(); + break; + } + case 128: { + bitField0_ |= 0x00001000; + visionRangeNighttime_ = input.readUInt32(); + break; + } + case 160: { + bitField0_ |= 0x00002000; + health_ = input.readInt32(); + break; + } + case 168: { + bitField0_ |= 0x00004000; + healthMax_ = input.readInt32(); + break; + } + case 181: { + bitField0_ |= 0x00008000; + healthRegen_ = input.readFloat(); + break; + } + case 200: { + bitField0_ |= 0x00010000; + mana_ = input.readInt32(); + break; + } + case 208: { + bitField0_ |= 0x00020000; + manaMax_ = input.readInt32(); + break; + } + case 221: { + bitField0_ |= 0x00040000; + manaRegen_ = input.readFloat(); + break; + } + case 240: { + bitField0_ |= 0x00080000; + baseMovementSpeed_ = input.readInt32(); + break; + } + case 248: { + bitField0_ |= 0x00100000; + currentMovementSpeed_ = input.readInt32(); + break; + } + case 280: { + bitField0_ |= 0x00200000; + animActivity_ = input.readInt32(); + break; + } + case 293: { + bitField0_ |= 0x00400000; + animCycle_ = input.readFloat(); + break; + } + case 320: { + bitField0_ |= 0x00800000; + baseDamage_ = input.readInt32(); + break; + } + case 328: { + bitField0_ |= 0x01000000; + baseDamageVariance_ = input.readInt32(); + break; + } + case 336: { + bitField0_ |= 0x02000000; + bonusDamage_ = input.readInt32(); + break; + } + case 344: { + bitField0_ |= 0x04000000; + attackDamage_ = input.readInt32(); + break; + } + case 352: { + bitField0_ |= 0x08000000; + attackRange_ = input.readInt32(); + break; + } + case 365: { + bitField0_ |= 0x10000000; + attackSpeed_ = input.readFloat(); + break; + } + case 373: { + bitField0_ |= 0x20000000; + attackAnimPoint_ = input.readFloat(); + break; + } + case 376: { + bitField0_ |= 0x40000000; + attackAcquisitionRange_ = input.readInt32(); + break; + } + case 384: { + bitField0_ |= 0x80000000; + attackProjectileSpeed_ = input.readInt32(); + break; + } + case 392: { + bitField1_ |= 0x00000001; + attackTargetHandle_ = input.readUInt32(); + break; + } + case 400: { + bitField1_ |= 0x00000004; + attacksPerSecond_ = input.readInt32(); + break; + } + case 413: { + bitField1_ |= 0x00000008; + lastAttackTime_ = input.readFloat(); + break; + } + case 418: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField1_ |= 0x00000002; + attackTargetName_ = bs; + break; + } + case 480: { + bitField1_ |= 0x00000010; + bountyXp_ = input.readUInt32(); + break; + } + case 488: { + bitField1_ |= 0x00000020; + bountyGoldMin_ = input.readUInt32(); + break; + } + case 496: { + bitField1_ |= 0x00000040; + bountyGoldMax_ = input.readUInt32(); + break; + } + case 520: { + bitField1_ |= 0x00000080; + isChanneling_ = input.readBool(); + break; + } + case 528: { + bitField1_ |= 0x00000100; + activeAbilityHandle_ = input.readUInt32(); + break; + } + case 560: { + bitField1_ |= 0x00000200; + isAttackImmune_ = input.readBool(); + break; + } + case 568: { + bitField1_ |= 0x00000400; + isBlind_ = input.readBool(); + break; + } + case 576: { + bitField1_ |= 0x00000800; + isBlockDisabled_ = input.readBool(); + break; + } + case 584: { + bitField1_ |= 0x00001000; + isDisarmed_ = input.readBool(); + break; + } + case 592: { + bitField1_ |= 0x00002000; + isDominated_ = input.readBool(); + break; + } + case 600: { + bitField1_ |= 0x00004000; + isEvadeDisabled_ = input.readBool(); + break; + } + case 608: { + bitField1_ |= 0x00008000; + isHexed_ = input.readBool(); + break; + } + case 616: { + bitField1_ |= 0x00010000; + isInvisible_ = input.readBool(); + break; + } + case 624: { + bitField1_ |= 0x00020000; + isInvulnerable_ = input.readBool(); + break; + } + case 632: { + bitField1_ |= 0x00040000; + isMagicImmune_ = input.readBool(); + break; + } + case 640: { + bitField1_ |= 0x00080000; + isMuted_ = input.readBool(); + break; + } + case 656: { + bitField1_ |= 0x00100000; + isNightmared_ = input.readBool(); + break; + } + case 664: { + bitField1_ |= 0x00200000; + isRooted_ = input.readBool(); + break; + } + case 672: { + bitField1_ |= 0x00400000; + isSilenced_ = input.readBool(); + break; + } + case 680: { + bitField1_ |= 0x00800000; + isSpeciallyDeniable_ = input.readBool(); + break; + } + case 688: { + bitField1_ |= 0x01000000; + isStunned_ = input.readBool(); + break; + } + case 696: { + bitField1_ |= 0x02000000; + isUnableToMiss_ = input.readBool(); + break; + } + case 704: { + bitField1_ |= 0x04000000; + hasScepter_ = input.readBool(); + break; + } + case 722: { + if (!((mutable_bitField1_ & 0x08000000) != 0)) { + abilities_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability>(); + mutable_bitField1_ |= 0x08000000; + } + abilities_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.PARSER, extensionRegistry)); + break; + } + case 730: { + if (!((mutable_bitField1_ & 0x10000000) != 0)) { + items_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability>(); + mutable_bitField1_ |= 0x10000000; + } + items_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.PARSER, extensionRegistry)); + break; + } + case 738: { + if (!((mutable_bitField1_ & 0x20000000) != 0)) { + modifiers_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier>(); + mutable_bitField1_ |= 0x20000000; + } + modifiers_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.PARSER, extensionRegistry)); + break; + } + case 746: { + if (!((mutable_bitField1_ & 0x40000000) != 0)) { + incomingTrackingProjectiles_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile>(); + mutable_bitField1_ |= 0x40000000; + } + incomingTrackingProjectiles_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.PARSER, extensionRegistry)); + break; + } + case 800: { + bitField1_ |= 0x08000000; + actionType_ = input.readUInt32(); + break; + } + case 808: { + bitField1_ |= 0x10000000; + abilityTargetHandle_ = input.readUInt32(); + break; + } + case 816: { + bitField1_ |= 0x40000000; + isUsingAbility_ = input.readBool(); + break; + } + case 826: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField1_ |= 0x20000000; + abilityTargetName_ = bs; + break; + } + case 880: { + bitField1_ |= 0x80000000; + primaryAttribute_ = input.readUInt32(); + break; + } + case 888: { + bitField2_ |= 0x00000001; + isIllusion_ = input.readBool(); + break; + } + case 901: { + bitField2_ |= 0x00000002; + respawnTime_ = input.readFloat(); + break; + } + case 904: { + bitField2_ |= 0x00000004; + buybackCost_ = input.readUInt32(); + break; + } + case 917: { + bitField2_ |= 0x00000008; + buybackCooldown_ = input.readFloat(); + break; + } + case 925: { + bitField2_ |= 0x00000010; + spellAmplification_ = input.readFloat(); + break; + } + case 933: { + bitField2_ |= 0x00000020; + armor_ = input.readFloat(); + break; + } + case 941: { + bitField2_ |= 0x00000040; + magicResist_ = input.readFloat(); + break; + } + case 949: { + bitField2_ |= 0x00000080; + evasion_ = input.readFloat(); + break; + } + case 960: { + bitField2_ |= 0x00000100; + xpNeededToLevel_ = input.readUInt32(); + break; + } + case 968: { + bitField2_ |= 0x00000200; + abilityPoints_ = input.readUInt32(); + break; + } + case 976: { + bitField2_ |= 0x00000400; + reliableGold_ = input.readInt32(); + break; + } + case 984: { + bitField2_ |= 0x00000800; + unreliableGold_ = input.readInt32(); + break; + } + case 992: { + bitField2_ |= 0x00001000; + lastHits_ = input.readUInt32(); + break; + } + case 1000: { + bitField2_ |= 0x00002000; + denies_ = input.readUInt32(); + break; + } + case 1008: { + bitField2_ |= 0x00004000; + netWorth_ = input.readUInt32(); + break; + } + case 1016: { + bitField2_ |= 0x00008000; + strength_ = input.readUInt32(); + break; + } + case 1024: { + bitField2_ |= 0x00010000; + agility_ = input.readUInt32(); + break; + } + case 1032: { + bitField2_ |= 0x00020000; + intelligence_ = input.readUInt32(); + break; + } + case 1045: { + bitField2_ |= 0x00040000; + remainingLifespan_ = input.readFloat(); + break; + } + case 1120: { + bitField2_ |= 0x00080000; + flyingCourier_ = input.readBool(); + break; + } + case 1205: { + bitField2_ |= 0x00100000; + shrineCooldown_ = input.readFloat(); + break; + } + case 1208: { + bitField2_ |= 0x00200000; + isShrineHealing_ = input.readBool(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField1_ & 0x08000000) != 0)) { + abilities_ = java.util.Collections.unmodifiableList(abilities_); + } + if (((mutable_bitField1_ & 0x10000000) != 0)) { + items_ = java.util.Collections.unmodifiableList(items_); + } + if (((mutable_bitField1_ & 0x20000000) != 0)) { + modifiers_ = java.util.Collections.unmodifiableList(modifiers_); + } + if (((mutable_bitField1_ & 0x40000000) != 0)) { + incomingTrackingProjectiles_ = java.util.Collections.unmodifiableList(incomingTrackingProjectiles_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Unit_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Unit_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.Builder.class); + } + + private int bitField0_; + private int bitField1_; + private int bitField2_; + public static final int HANDLE_FIELD_NUMBER = 1; + private int handle_; + /** + * <code>optional uint32 handle = 1;</code> + */ + public boolean hasHandle() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 handle = 1;</code> + */ + public int getHandle() { + return handle_; + } + + public static final int UNIT_TYPE_FIELD_NUMBER = 2; + private int unitType_; + /** + * <code>optional .CMsgBotWorldState.UnitType unit_type = 2 [default = INVALID];</code> + */ + public boolean hasUnitType() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional .CMsgBotWorldState.UnitType unit_type = 2 [default = INVALID];</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType getUnitType() { + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType result = CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.valueOf(unitType_); + return result == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.INVALID : result; + } + + public static final int NAME_FIELD_NUMBER = 3; + private volatile java.lang.Object name_; + /** + * <code>optional string name = 3;</code> + */ + public boolean hasName() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional string name = 3;</code> + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + name_ = s; + } + return s; + } + } + /** + * <code>optional string name = 3;</code> + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TEAM_ID_FIELD_NUMBER = 4; + private int teamId_; + /** + * <code>optional uint32 team_id = 4;</code> + */ + public boolean hasTeamId() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional uint32 team_id = 4;</code> + */ + public int getTeamId() { + return teamId_; + } + + public static final int LEVEL_FIELD_NUMBER = 5; + private int level_; + /** + * <code>optional uint32 level = 5;</code> + */ + public boolean hasLevel() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 level = 5;</code> + */ + public int getLevel() { + return level_; + } + + public static final int LOCATION_FIELD_NUMBER = 6; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + + public static final int IS_ALIVE_FIELD_NUMBER = 7; + private boolean isAlive_; + /** + * <code>optional bool is_alive = 7;</code> + */ + public boolean hasIsAlive() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>optional bool is_alive = 7;</code> + */ + public boolean getIsAlive() { + return isAlive_; + } + + public static final int PLAYER_ID_FIELD_NUMBER = 8; + private int playerId_; + /** + * <code>optional int32 player_id = 8;</code> + */ + public boolean hasPlayerId() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>optional int32 player_id = 8;</code> + */ + public int getPlayerId() { + return playerId_; + } + + public static final int BOUNDING_RADIUS_FIELD_NUMBER = 10; + private int boundingRadius_; + /** + * <code>optional int32 bounding_radius = 10;</code> + */ + public boolean hasBoundingRadius() { + return ((bitField0_ & 0x00000100) != 0); + } + /** + * <code>optional int32 bounding_radius = 10;</code> + */ + public int getBoundingRadius() { + return boundingRadius_; + } + + public static final int FACING_FIELD_NUMBER = 11; + private int facing_; + /** + * <code>optional int32 facing = 11;</code> + */ + public boolean hasFacing() { + return ((bitField0_ & 0x00000200) != 0); + } + /** + * <code>optional int32 facing = 11;</code> + */ + public int getFacing() { + return facing_; + } + + public static final int GROUND_HEIGHT_FIELD_NUMBER = 12; + private int groundHeight_; + /** + * <code>optional uint32 ground_height = 12;</code> + */ + public boolean hasGroundHeight() { + return ((bitField0_ & 0x00000400) != 0); + } + /** + * <code>optional uint32 ground_height = 12;</code> + */ + public int getGroundHeight() { + return groundHeight_; + } + + public static final int VISION_RANGE_DAYTIME_FIELD_NUMBER = 15; + private int visionRangeDaytime_; + /** + * <code>optional uint32 vision_range_daytime = 15;</code> + */ + public boolean hasVisionRangeDaytime() { + return ((bitField0_ & 0x00000800) != 0); + } + /** + * <code>optional uint32 vision_range_daytime = 15;</code> + */ + public int getVisionRangeDaytime() { + return visionRangeDaytime_; + } + + public static final int VISION_RANGE_NIGHTTIME_FIELD_NUMBER = 16; + private int visionRangeNighttime_; + /** + * <code>optional uint32 vision_range_nighttime = 16;</code> + */ + public boolean hasVisionRangeNighttime() { + return ((bitField0_ & 0x00001000) != 0); + } + /** + * <code>optional uint32 vision_range_nighttime = 16;</code> + */ + public int getVisionRangeNighttime() { + return visionRangeNighttime_; + } + + public static final int HEALTH_FIELD_NUMBER = 20; + private int health_; + /** + * <code>optional int32 health = 20;</code> + */ + public boolean hasHealth() { + return ((bitField0_ & 0x00002000) != 0); + } + /** + * <code>optional int32 health = 20;</code> + */ + public int getHealth() { + return health_; + } + + public static final int HEALTH_MAX_FIELD_NUMBER = 21; + private int healthMax_; + /** + * <code>optional int32 health_max = 21;</code> + */ + public boolean hasHealthMax() { + return ((bitField0_ & 0x00004000) != 0); + } + /** + * <code>optional int32 health_max = 21;</code> + */ + public int getHealthMax() { + return healthMax_; + } + + public static final int HEALTH_REGEN_FIELD_NUMBER = 22; + private float healthRegen_; + /** + * <code>optional float health_regen = 22;</code> + */ + public boolean hasHealthRegen() { + return ((bitField0_ & 0x00008000) != 0); + } + /** + * <code>optional float health_regen = 22;</code> + */ + public float getHealthRegen() { + return healthRegen_; + } + + public static final int MANA_FIELD_NUMBER = 25; + private int mana_; + /** + * <code>optional int32 mana = 25;</code> + */ + public boolean hasMana() { + return ((bitField0_ & 0x00010000) != 0); + } + /** + * <code>optional int32 mana = 25;</code> + */ + public int getMana() { + return mana_; + } + + public static final int MANA_MAX_FIELD_NUMBER = 26; + private int manaMax_; + /** + * <code>optional int32 mana_max = 26;</code> + */ + public boolean hasManaMax() { + return ((bitField0_ & 0x00020000) != 0); + } + /** + * <code>optional int32 mana_max = 26;</code> + */ + public int getManaMax() { + return manaMax_; + } + + public static final int MANA_REGEN_FIELD_NUMBER = 27; + private float manaRegen_; + /** + * <code>optional float mana_regen = 27;</code> + */ + public boolean hasManaRegen() { + return ((bitField0_ & 0x00040000) != 0); + } + /** + * <code>optional float mana_regen = 27;</code> + */ + public float getManaRegen() { + return manaRegen_; + } + + public static final int BASE_MOVEMENT_SPEED_FIELD_NUMBER = 30; + private int baseMovementSpeed_; + /** + * <code>optional int32 base_movement_speed = 30;</code> + */ + public boolean hasBaseMovementSpeed() { + return ((bitField0_ & 0x00080000) != 0); + } + /** + * <code>optional int32 base_movement_speed = 30;</code> + */ + public int getBaseMovementSpeed() { + return baseMovementSpeed_; + } + + public static final int CURRENT_MOVEMENT_SPEED_FIELD_NUMBER = 31; + private int currentMovementSpeed_; + /** + * <code>optional int32 current_movement_speed = 31;</code> + */ + public boolean hasCurrentMovementSpeed() { + return ((bitField0_ & 0x00100000) != 0); + } + /** + * <code>optional int32 current_movement_speed = 31;</code> + */ + public int getCurrentMovementSpeed() { + return currentMovementSpeed_; + } + + public static final int ANIM_ACTIVITY_FIELD_NUMBER = 35; + private int animActivity_; + /** + * <code>optional int32 anim_activity = 35;</code> + */ + public boolean hasAnimActivity() { + return ((bitField0_ & 0x00200000) != 0); + } + /** + * <code>optional int32 anim_activity = 35;</code> + */ + public int getAnimActivity() { + return animActivity_; + } + + public static final int ANIM_CYCLE_FIELD_NUMBER = 36; + private float animCycle_; + /** + * <code>optional float anim_cycle = 36;</code> + */ + public boolean hasAnimCycle() { + return ((bitField0_ & 0x00400000) != 0); + } + /** + * <code>optional float anim_cycle = 36;</code> + */ + public float getAnimCycle() { + return animCycle_; + } + + public static final int BASE_DAMAGE_FIELD_NUMBER = 40; + private int baseDamage_; + /** + * <code>optional int32 base_damage = 40;</code> + */ + public boolean hasBaseDamage() { + return ((bitField0_ & 0x00800000) != 0); + } + /** + * <code>optional int32 base_damage = 40;</code> + */ + public int getBaseDamage() { + return baseDamage_; + } + + public static final int BASE_DAMAGE_VARIANCE_FIELD_NUMBER = 41; + private int baseDamageVariance_; + /** + * <code>optional int32 base_damage_variance = 41;</code> + */ + public boolean hasBaseDamageVariance() { + return ((bitField0_ & 0x01000000) != 0); + } + /** + * <code>optional int32 base_damage_variance = 41;</code> + */ + public int getBaseDamageVariance() { + return baseDamageVariance_; + } + + public static final int BONUS_DAMAGE_FIELD_NUMBER = 42; + private int bonusDamage_; + /** + * <code>optional int32 bonus_damage = 42;</code> + */ + public boolean hasBonusDamage() { + return ((bitField0_ & 0x02000000) != 0); + } + /** + * <code>optional int32 bonus_damage = 42;</code> + */ + public int getBonusDamage() { + return bonusDamage_; + } + + public static final int ATTACK_DAMAGE_FIELD_NUMBER = 43; + private int attackDamage_; + /** + * <code>optional int32 attack_damage = 43;</code> + */ + public boolean hasAttackDamage() { + return ((bitField0_ & 0x04000000) != 0); + } + /** + * <code>optional int32 attack_damage = 43;</code> + */ + public int getAttackDamage() { + return attackDamage_; + } + + public static final int ATTACK_RANGE_FIELD_NUMBER = 44; + private int attackRange_; + /** + * <code>optional int32 attack_range = 44;</code> + */ + public boolean hasAttackRange() { + return ((bitField0_ & 0x08000000) != 0); + } + /** + * <code>optional int32 attack_range = 44;</code> + */ + public int getAttackRange() { + return attackRange_; + } + + public static final int ATTACK_SPEED_FIELD_NUMBER = 45; + private float attackSpeed_; + /** + * <code>optional float attack_speed = 45;</code> + */ + public boolean hasAttackSpeed() { + return ((bitField0_ & 0x10000000) != 0); + } + /** + * <code>optional float attack_speed = 45;</code> + */ + public float getAttackSpeed() { + return attackSpeed_; + } + + public static final int ATTACK_ANIM_POINT_FIELD_NUMBER = 46; + private float attackAnimPoint_; + /** + * <code>optional float attack_anim_point = 46;</code> + */ + public boolean hasAttackAnimPoint() { + return ((bitField0_ & 0x20000000) != 0); + } + /** + * <code>optional float attack_anim_point = 46;</code> + */ + public float getAttackAnimPoint() { + return attackAnimPoint_; + } + + public static final int ATTACK_ACQUISITION_RANGE_FIELD_NUMBER = 47; + private int attackAcquisitionRange_; + /** + * <code>optional int32 attack_acquisition_range = 47;</code> + */ + public boolean hasAttackAcquisitionRange() { + return ((bitField0_ & 0x40000000) != 0); + } + /** + * <code>optional int32 attack_acquisition_range = 47;</code> + */ + public int getAttackAcquisitionRange() { + return attackAcquisitionRange_; + } + + public static final int ATTACK_PROJECTILE_SPEED_FIELD_NUMBER = 48; + private int attackProjectileSpeed_; + /** + * <code>optional int32 attack_projectile_speed = 48;</code> + */ + public boolean hasAttackProjectileSpeed() { + return ((bitField0_ & 0x80000000) != 0); + } + /** + * <code>optional int32 attack_projectile_speed = 48;</code> + */ + public int getAttackProjectileSpeed() { + return attackProjectileSpeed_; + } + + public static final int ATTACK_TARGET_HANDLE_FIELD_NUMBER = 49; + private int attackTargetHandle_; + /** + * <code>optional uint32 attack_target_handle = 49;</code> + */ + public boolean hasAttackTargetHandle() { + return ((bitField1_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 attack_target_handle = 49;</code> + */ + public int getAttackTargetHandle() { + return attackTargetHandle_; + } + + public static final int ATTACK_TARGET_NAME_FIELD_NUMBER = 52; + private volatile java.lang.Object attackTargetName_; + /** + * <code>optional string attack_target_name = 52;</code> + */ + public boolean hasAttackTargetName() { + return ((bitField1_ & 0x00000002) != 0); + } + /** + * <code>optional string attack_target_name = 52;</code> + */ + public java.lang.String getAttackTargetName() { + java.lang.Object ref = attackTargetName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + attackTargetName_ = s; + } + return s; + } + } + /** + * <code>optional string attack_target_name = 52;</code> + */ + public com.google.protobuf.ByteString + getAttackTargetNameBytes() { + java.lang.Object ref = attackTargetName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + attackTargetName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ATTACKS_PER_SECOND_FIELD_NUMBER = 50; + private int attacksPerSecond_; + /** + * <code>optional int32 attacks_per_second = 50 [default = -1];</code> + */ + public boolean hasAttacksPerSecond() { + return ((bitField1_ & 0x00000004) != 0); + } + /** + * <code>optional int32 attacks_per_second = 50 [default = -1];</code> + */ + public int getAttacksPerSecond() { + return attacksPerSecond_; + } + + public static final int LAST_ATTACK_TIME_FIELD_NUMBER = 51; + private float lastAttackTime_; + /** + * <code>optional float last_attack_time = 51 [default = -1];</code> + */ + public boolean hasLastAttackTime() { + return ((bitField1_ & 0x00000008) != 0); + } + /** + * <code>optional float last_attack_time = 51 [default = -1];</code> + */ + public float getLastAttackTime() { + return lastAttackTime_; + } + + public static final int BOUNTY_XP_FIELD_NUMBER = 60; + private int bountyXp_; + /** + * <code>optional uint32 bounty_xp = 60;</code> + */ + public boolean hasBountyXp() { + return ((bitField1_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 bounty_xp = 60;</code> + */ + public int getBountyXp() { + return bountyXp_; + } + + public static final int BOUNTY_GOLD_MIN_FIELD_NUMBER = 61; + private int bountyGoldMin_; + /** + * <code>optional uint32 bounty_gold_min = 61;</code> + */ + public boolean hasBountyGoldMin() { + return ((bitField1_ & 0x00000020) != 0); + } + /** + * <code>optional uint32 bounty_gold_min = 61;</code> + */ + public int getBountyGoldMin() { + return bountyGoldMin_; + } + + public static final int BOUNTY_GOLD_MAX_FIELD_NUMBER = 62; + private int bountyGoldMax_; + /** + * <code>optional uint32 bounty_gold_max = 62;</code> + */ + public boolean hasBountyGoldMax() { + return ((bitField1_ & 0x00000040) != 0); + } + /** + * <code>optional uint32 bounty_gold_max = 62;</code> + */ + public int getBountyGoldMax() { + return bountyGoldMax_; + } + + public static final int IS_CHANNELING_FIELD_NUMBER = 65; + private boolean isChanneling_; + /** + * <code>optional bool is_channeling = 65;</code> + */ + public boolean hasIsChanneling() { + return ((bitField1_ & 0x00000080) != 0); + } + /** + * <code>optional bool is_channeling = 65;</code> + */ + public boolean getIsChanneling() { + return isChanneling_; + } + + public static final int ACTIVE_ABILITY_HANDLE_FIELD_NUMBER = 66; + private int activeAbilityHandle_; + /** + * <code>optional uint32 active_ability_handle = 66;</code> + */ + public boolean hasActiveAbilityHandle() { + return ((bitField1_ & 0x00000100) != 0); + } + /** + * <code>optional uint32 active_ability_handle = 66;</code> + */ + public int getActiveAbilityHandle() { + return activeAbilityHandle_; + } + + public static final int IS_ATTACK_IMMUNE_FIELD_NUMBER = 70; + private boolean isAttackImmune_; + /** + * <code>optional bool is_attack_immune = 70;</code> + */ + public boolean hasIsAttackImmune() { + return ((bitField1_ & 0x00000200) != 0); + } + /** + * <code>optional bool is_attack_immune = 70;</code> + */ + public boolean getIsAttackImmune() { + return isAttackImmune_; + } + + public static final int IS_BLIND_FIELD_NUMBER = 71; + private boolean isBlind_; + /** + * <code>optional bool is_blind = 71;</code> + */ + public boolean hasIsBlind() { + return ((bitField1_ & 0x00000400) != 0); + } + /** + * <code>optional bool is_blind = 71;</code> + */ + public boolean getIsBlind() { + return isBlind_; + } + + public static final int IS_BLOCK_DISABLED_FIELD_NUMBER = 72; + private boolean isBlockDisabled_; + /** + * <code>optional bool is_block_disabled = 72;</code> + */ + public boolean hasIsBlockDisabled() { + return ((bitField1_ & 0x00000800) != 0); + } + /** + * <code>optional bool is_block_disabled = 72;</code> + */ + public boolean getIsBlockDisabled() { + return isBlockDisabled_; + } + + public static final int IS_DISARMED_FIELD_NUMBER = 73; + private boolean isDisarmed_; + /** + * <code>optional bool is_disarmed = 73;</code> + */ + public boolean hasIsDisarmed() { + return ((bitField1_ & 0x00001000) != 0); + } + /** + * <code>optional bool is_disarmed = 73;</code> + */ + public boolean getIsDisarmed() { + return isDisarmed_; + } + + public static final int IS_DOMINATED_FIELD_NUMBER = 74; + private boolean isDominated_; + /** + * <code>optional bool is_dominated = 74;</code> + */ + public boolean hasIsDominated() { + return ((bitField1_ & 0x00002000) != 0); + } + /** + * <code>optional bool is_dominated = 74;</code> + */ + public boolean getIsDominated() { + return isDominated_; + } + + public static final int IS_EVADE_DISABLED_FIELD_NUMBER = 75; + private boolean isEvadeDisabled_; + /** + * <code>optional bool is_evade_disabled = 75;</code> + */ + public boolean hasIsEvadeDisabled() { + return ((bitField1_ & 0x00004000) != 0); + } + /** + * <code>optional bool is_evade_disabled = 75;</code> + */ + public boolean getIsEvadeDisabled() { + return isEvadeDisabled_; + } + + public static final int IS_HEXED_FIELD_NUMBER = 76; + private boolean isHexed_; + /** + * <code>optional bool is_hexed = 76;</code> + */ + public boolean hasIsHexed() { + return ((bitField1_ & 0x00008000) != 0); + } + /** + * <code>optional bool is_hexed = 76;</code> + */ + public boolean getIsHexed() { + return isHexed_; + } + + public static final int IS_INVISIBLE_FIELD_NUMBER = 77; + private boolean isInvisible_; + /** + * <code>optional bool is_invisible = 77;</code> + */ + public boolean hasIsInvisible() { + return ((bitField1_ & 0x00010000) != 0); + } + /** + * <code>optional bool is_invisible = 77;</code> + */ + public boolean getIsInvisible() { + return isInvisible_; + } + + public static final int IS_INVULNERABLE_FIELD_NUMBER = 78; + private boolean isInvulnerable_; + /** + * <code>optional bool is_invulnerable = 78;</code> + */ + public boolean hasIsInvulnerable() { + return ((bitField1_ & 0x00020000) != 0); + } + /** + * <code>optional bool is_invulnerable = 78;</code> + */ + public boolean getIsInvulnerable() { + return isInvulnerable_; + } + + public static final int IS_MAGIC_IMMUNE_FIELD_NUMBER = 79; + private boolean isMagicImmune_; + /** + * <code>optional bool is_magic_immune = 79;</code> + */ + public boolean hasIsMagicImmune() { + return ((bitField1_ & 0x00040000) != 0); + } + /** + * <code>optional bool is_magic_immune = 79;</code> + */ + public boolean getIsMagicImmune() { + return isMagicImmune_; + } + + public static final int IS_MUTED_FIELD_NUMBER = 80; + private boolean isMuted_; + /** + * <code>optional bool is_muted = 80;</code> + */ + public boolean hasIsMuted() { + return ((bitField1_ & 0x00080000) != 0); + } + /** + * <code>optional bool is_muted = 80;</code> + */ + public boolean getIsMuted() { + return isMuted_; + } + + public static final int IS_NIGHTMARED_FIELD_NUMBER = 82; + private boolean isNightmared_; + /** + * <code>optional bool is_nightmared = 82;</code> + */ + public boolean hasIsNightmared() { + return ((bitField1_ & 0x00100000) != 0); + } + /** + * <code>optional bool is_nightmared = 82;</code> + */ + public boolean getIsNightmared() { + return isNightmared_; + } + + public static final int IS_ROOTED_FIELD_NUMBER = 83; + private boolean isRooted_; + /** + * <code>optional bool is_rooted = 83;</code> + */ + public boolean hasIsRooted() { + return ((bitField1_ & 0x00200000) != 0); + } + /** + * <code>optional bool is_rooted = 83;</code> + */ + public boolean getIsRooted() { + return isRooted_; + } + + public static final int IS_SILENCED_FIELD_NUMBER = 84; + private boolean isSilenced_; + /** + * <code>optional bool is_silenced = 84;</code> + */ + public boolean hasIsSilenced() { + return ((bitField1_ & 0x00400000) != 0); + } + /** + * <code>optional bool is_silenced = 84;</code> + */ + public boolean getIsSilenced() { + return isSilenced_; + } + + public static final int IS_SPECIALLY_DENIABLE_FIELD_NUMBER = 85; + private boolean isSpeciallyDeniable_; + /** + * <code>optional bool is_specially_deniable = 85;</code> + */ + public boolean hasIsSpeciallyDeniable() { + return ((bitField1_ & 0x00800000) != 0); + } + /** + * <code>optional bool is_specially_deniable = 85;</code> + */ + public boolean getIsSpeciallyDeniable() { + return isSpeciallyDeniable_; + } + + public static final int IS_STUNNED_FIELD_NUMBER = 86; + private boolean isStunned_; + /** + * <code>optional bool is_stunned = 86;</code> + */ + public boolean hasIsStunned() { + return ((bitField1_ & 0x01000000) != 0); + } + /** + * <code>optional bool is_stunned = 86;</code> + */ + public boolean getIsStunned() { + return isStunned_; + } + + public static final int IS_UNABLE_TO_MISS_FIELD_NUMBER = 87; + private boolean isUnableToMiss_; + /** + * <code>optional bool is_unable_to_miss = 87;</code> + */ + public boolean hasIsUnableToMiss() { + return ((bitField1_ & 0x02000000) != 0); + } + /** + * <code>optional bool is_unable_to_miss = 87;</code> + */ + public boolean getIsUnableToMiss() { + return isUnableToMiss_; + } + + public static final int HAS_SCEPTER_FIELD_NUMBER = 88; + private boolean hasScepter_; + /** + * <code>optional bool has_scepter = 88;</code> + */ + public boolean hasHasScepter() { + return ((bitField1_ & 0x04000000) != 0); + } + /** + * <code>optional bool has_scepter = 88;</code> + */ + public boolean getHasScepter() { + return hasScepter_; + } + + public static final int ABILITIES_FIELD_NUMBER = 90; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability> abilities_; + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability> getAbilitiesList() { + return abilities_; + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder> + getAbilitiesOrBuilderList() { + return abilities_; + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public int getAbilitiesCount() { + return abilities_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability getAbilities(int index) { + return abilities_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder getAbilitiesOrBuilder( + int index) { + return abilities_.get(index); + } + + public static final int ITEMS_FIELD_NUMBER = 91; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability> items_; + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability> getItemsList() { + return items_; + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder> + getItemsOrBuilderList() { + return items_; + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public int getItemsCount() { + return items_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability getItems(int index) { + return items_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder getItemsOrBuilder( + int index) { + return items_.get(index); + } + + public static final int MODIFIERS_FIELD_NUMBER = 92; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier> modifiers_; + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier> getModifiersList() { + return modifiers_; + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.ModifierOrBuilder> + getModifiersOrBuilderList() { + return modifiers_; + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public int getModifiersCount() { + return modifiers_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier getModifiers(int index) { + return modifiers_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.ModifierOrBuilder getModifiersOrBuilder( + int index) { + return modifiers_.get(index); + } + + public static final int INCOMING_TRACKING_PROJECTILES_FIELD_NUMBER = 93; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile> incomingTrackingProjectiles_; + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile> getIncomingTrackingProjectilesList() { + return incomingTrackingProjectiles_; + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectileOrBuilder> + getIncomingTrackingProjectilesOrBuilderList() { + return incomingTrackingProjectiles_; + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public int getIncomingTrackingProjectilesCount() { + return incomingTrackingProjectiles_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile getIncomingTrackingProjectiles(int index) { + return incomingTrackingProjectiles_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectileOrBuilder getIncomingTrackingProjectilesOrBuilder( + int index) { + return incomingTrackingProjectiles_.get(index); + } + + public static final int ACTION_TYPE_FIELD_NUMBER = 100; + private int actionType_; + /** + * <code>optional uint32 action_type = 100;</code> + */ + public boolean hasActionType() { + return ((bitField1_ & 0x08000000) != 0); + } + /** + * <code>optional uint32 action_type = 100;</code> + */ + public int getActionType() { + return actionType_; + } + + public static final int ABILITY_TARGET_HANDLE_FIELD_NUMBER = 101; + private int abilityTargetHandle_; + /** + * <code>optional uint32 ability_target_handle = 101;</code> + */ + public boolean hasAbilityTargetHandle() { + return ((bitField1_ & 0x10000000) != 0); + } + /** + * <code>optional uint32 ability_target_handle = 101;</code> + */ + public int getAbilityTargetHandle() { + return abilityTargetHandle_; + } + + public static final int ABILITY_TARGET_NAME_FIELD_NUMBER = 103; + private volatile java.lang.Object abilityTargetName_; + /** + * <code>optional string ability_target_name = 103;</code> + */ + public boolean hasAbilityTargetName() { + return ((bitField1_ & 0x20000000) != 0); + } + /** + * <code>optional string ability_target_name = 103;</code> + */ + public java.lang.String getAbilityTargetName() { + java.lang.Object ref = abilityTargetName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + abilityTargetName_ = s; + } + return s; + } + } + /** + * <code>optional string ability_target_name = 103;</code> + */ + public com.google.protobuf.ByteString + getAbilityTargetNameBytes() { + java.lang.Object ref = abilityTargetName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + abilityTargetName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int IS_USING_ABILITY_FIELD_NUMBER = 102; + private boolean isUsingAbility_; + /** + * <code>optional bool is_using_ability = 102;</code> + */ + public boolean hasIsUsingAbility() { + return ((bitField1_ & 0x40000000) != 0); + } + /** + * <code>optional bool is_using_ability = 102;</code> + */ + public boolean getIsUsingAbility() { + return isUsingAbility_; + } + + public static final int PRIMARY_ATTRIBUTE_FIELD_NUMBER = 110; + private int primaryAttribute_; + /** + * <code>optional uint32 primary_attribute = 110;</code> + */ + public boolean hasPrimaryAttribute() { + return ((bitField1_ & 0x80000000) != 0); + } + /** + * <code>optional uint32 primary_attribute = 110;</code> + */ + public int getPrimaryAttribute() { + return primaryAttribute_; + } + + public static final int IS_ILLUSION_FIELD_NUMBER = 111; + private boolean isIllusion_; + /** + * <code>optional bool is_illusion = 111;</code> + */ + public boolean hasIsIllusion() { + return ((bitField2_ & 0x00000001) != 0); + } + /** + * <code>optional bool is_illusion = 111;</code> + */ + public boolean getIsIllusion() { + return isIllusion_; + } + + public static final int RESPAWN_TIME_FIELD_NUMBER = 112; + private float respawnTime_; + /** + * <code>optional float respawn_time = 112;</code> + */ + public boolean hasRespawnTime() { + return ((bitField2_ & 0x00000002) != 0); + } + /** + * <code>optional float respawn_time = 112;</code> + */ + public float getRespawnTime() { + return respawnTime_; + } + + public static final int BUYBACK_COST_FIELD_NUMBER = 113; + private int buybackCost_; + /** + * <code>optional uint32 buyback_cost = 113;</code> + */ + public boolean hasBuybackCost() { + return ((bitField2_ & 0x00000004) != 0); + } + /** + * <code>optional uint32 buyback_cost = 113;</code> + */ + public int getBuybackCost() { + return buybackCost_; + } + + public static final int BUYBACK_COOLDOWN_FIELD_NUMBER = 114; + private float buybackCooldown_; + /** + * <code>optional float buyback_cooldown = 114;</code> + */ + public boolean hasBuybackCooldown() { + return ((bitField2_ & 0x00000008) != 0); + } + /** + * <code>optional float buyback_cooldown = 114;</code> + */ + public float getBuybackCooldown() { + return buybackCooldown_; + } + + public static final int SPELL_AMPLIFICATION_FIELD_NUMBER = 115; + private float spellAmplification_; + /** + * <code>optional float spell_amplification = 115;</code> + */ + public boolean hasSpellAmplification() { + return ((bitField2_ & 0x00000010) != 0); + } + /** + * <code>optional float spell_amplification = 115;</code> + */ + public float getSpellAmplification() { + return spellAmplification_; + } + + public static final int ARMOR_FIELD_NUMBER = 116; + private float armor_; + /** + * <code>optional float armor = 116;</code> + */ + public boolean hasArmor() { + return ((bitField2_ & 0x00000020) != 0); + } + /** + * <code>optional float armor = 116;</code> + */ + public float getArmor() { + return armor_; + } + + public static final int MAGIC_RESIST_FIELD_NUMBER = 117; + private float magicResist_; + /** + * <code>optional float magic_resist = 117;</code> + */ + public boolean hasMagicResist() { + return ((bitField2_ & 0x00000040) != 0); + } + /** + * <code>optional float magic_resist = 117;</code> + */ + public float getMagicResist() { + return magicResist_; + } + + public static final int EVASION_FIELD_NUMBER = 118; + private float evasion_; + /** + * <code>optional float evasion = 118;</code> + */ + public boolean hasEvasion() { + return ((bitField2_ & 0x00000080) != 0); + } + /** + * <code>optional float evasion = 118;</code> + */ + public float getEvasion() { + return evasion_; + } + + public static final int XP_NEEDED_TO_LEVEL_FIELD_NUMBER = 120; + private int xpNeededToLevel_; + /** + * <code>optional uint32 xp_needed_to_level = 120;</code> + */ + public boolean hasXpNeededToLevel() { + return ((bitField2_ & 0x00000100) != 0); + } + /** + * <code>optional uint32 xp_needed_to_level = 120;</code> + */ + public int getXpNeededToLevel() { + return xpNeededToLevel_; + } + + public static final int ABILITY_POINTS_FIELD_NUMBER = 121; + private int abilityPoints_; + /** + * <code>optional uint32 ability_points = 121;</code> + */ + public boolean hasAbilityPoints() { + return ((bitField2_ & 0x00000200) != 0); + } + /** + * <code>optional uint32 ability_points = 121;</code> + */ + public int getAbilityPoints() { + return abilityPoints_; + } + + public static final int RELIABLE_GOLD_FIELD_NUMBER = 122; + private int reliableGold_; + /** + * <code>optional int32 reliable_gold = 122 [default = -1];</code> + */ + public boolean hasReliableGold() { + return ((bitField2_ & 0x00000400) != 0); + } + /** + * <code>optional int32 reliable_gold = 122 [default = -1];</code> + */ + public int getReliableGold() { + return reliableGold_; + } + + public static final int UNRELIABLE_GOLD_FIELD_NUMBER = 123; + private int unreliableGold_; + /** + * <code>optional int32 unreliable_gold = 123 [default = -1];</code> + */ + public boolean hasUnreliableGold() { + return ((bitField2_ & 0x00000800) != 0); + } + /** + * <code>optional int32 unreliable_gold = 123 [default = -1];</code> + */ + public int getUnreliableGold() { + return unreliableGold_; + } + + public static final int LAST_HITS_FIELD_NUMBER = 124; + private int lastHits_; + /** + * <code>optional uint32 last_hits = 124;</code> + */ + public boolean hasLastHits() { + return ((bitField2_ & 0x00001000) != 0); + } + /** + * <code>optional uint32 last_hits = 124;</code> + */ + public int getLastHits() { + return lastHits_; + } + + public static final int DENIES_FIELD_NUMBER = 125; + private int denies_; + /** + * <code>optional uint32 denies = 125;</code> + */ + public boolean hasDenies() { + return ((bitField2_ & 0x00002000) != 0); + } + /** + * <code>optional uint32 denies = 125;</code> + */ + public int getDenies() { + return denies_; + } + + public static final int NET_WORTH_FIELD_NUMBER = 126; + private int netWorth_; + /** + * <code>optional uint32 net_worth = 126;</code> + */ + public boolean hasNetWorth() { + return ((bitField2_ & 0x00004000) != 0); + } + /** + * <code>optional uint32 net_worth = 126;</code> + */ + public int getNetWorth() { + return netWorth_; + } + + public static final int STRENGTH_FIELD_NUMBER = 127; + private int strength_; + /** + * <code>optional uint32 strength = 127;</code> + */ + public boolean hasStrength() { + return ((bitField2_ & 0x00008000) != 0); + } + /** + * <code>optional uint32 strength = 127;</code> + */ + public int getStrength() { + return strength_; + } + + public static final int AGILITY_FIELD_NUMBER = 128; + private int agility_; + /** + * <code>optional uint32 agility = 128;</code> + */ + public boolean hasAgility() { + return ((bitField2_ & 0x00010000) != 0); + } + /** + * <code>optional uint32 agility = 128;</code> + */ + public int getAgility() { + return agility_; + } + + public static final int INTELLIGENCE_FIELD_NUMBER = 129; + private int intelligence_; + /** + * <code>optional uint32 intelligence = 129;</code> + */ + public boolean hasIntelligence() { + return ((bitField2_ & 0x00020000) != 0); + } + /** + * <code>optional uint32 intelligence = 129;</code> + */ + public int getIntelligence() { + return intelligence_; + } + + public static final int REMAINING_LIFESPAN_FIELD_NUMBER = 130; + private float remainingLifespan_; + /** + * <code>optional float remaining_lifespan = 130;</code> + */ + public boolean hasRemainingLifespan() { + return ((bitField2_ & 0x00040000) != 0); + } + /** + * <code>optional float remaining_lifespan = 130;</code> + */ + public float getRemainingLifespan() { + return remainingLifespan_; + } + + public static final int FLYING_COURIER_FIELD_NUMBER = 140; + private boolean flyingCourier_; + /** + * <code>optional bool flying_courier = 140;</code> + */ + public boolean hasFlyingCourier() { + return ((bitField2_ & 0x00080000) != 0); + } + /** + * <code>optional bool flying_courier = 140;</code> + */ + public boolean getFlyingCourier() { + return flyingCourier_; + } + + public static final int SHRINE_COOLDOWN_FIELD_NUMBER = 150; + private float shrineCooldown_; + /** + * <code>optional float shrine_cooldown = 150;</code> + */ + public boolean hasShrineCooldown() { + return ((bitField2_ & 0x00100000) != 0); + } + /** + * <code>optional float shrine_cooldown = 150;</code> + */ + public float getShrineCooldown() { + return shrineCooldown_; + } + + public static final int IS_SHRINE_HEALING_FIELD_NUMBER = 151; + private boolean isShrineHealing_; + /** + * <code>optional bool is_shrine_healing = 151;</code> + */ + public boolean hasIsShrineHealing() { + return ((bitField2_ & 0x00200000) != 0); + } + /** + * <code>optional bool is_shrine_healing = 151;</code> + */ + public boolean getIsShrineHealing() { + return isShrineHealing_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (hasLocation()) { + if (!getLocation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + for (int i = 0; i < getIncomingTrackingProjectilesCount(); i++) { + if (!getIncomingTrackingProjectiles(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeUInt32(1, handle_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeEnum(2, unitType_); + } + if (((bitField0_ & 0x00000004) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, name_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeUInt32(4, teamId_); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeUInt32(5, level_); + } + if (((bitField0_ & 0x00000020) != 0)) { + output.writeMessage(6, getLocation()); + } + if (((bitField0_ & 0x00000040) != 0)) { + output.writeBool(7, isAlive_); + } + if (((bitField0_ & 0x00000080) != 0)) { + output.writeInt32(8, playerId_); + } + if (((bitField0_ & 0x00000100) != 0)) { + output.writeInt32(10, boundingRadius_); + } + if (((bitField0_ & 0x00000200) != 0)) { + output.writeInt32(11, facing_); + } + if (((bitField0_ & 0x00000400) != 0)) { + output.writeUInt32(12, groundHeight_); + } + if (((bitField0_ & 0x00000800) != 0)) { + output.writeUInt32(15, visionRangeDaytime_); + } + if (((bitField0_ & 0x00001000) != 0)) { + output.writeUInt32(16, visionRangeNighttime_); + } + if (((bitField0_ & 0x00002000) != 0)) { + output.writeInt32(20, health_); + } + if (((bitField0_ & 0x00004000) != 0)) { + output.writeInt32(21, healthMax_); + } + if (((bitField0_ & 0x00008000) != 0)) { + output.writeFloat(22, healthRegen_); + } + if (((bitField0_ & 0x00010000) != 0)) { + output.writeInt32(25, mana_); + } + if (((bitField0_ & 0x00020000) != 0)) { + output.writeInt32(26, manaMax_); + } + if (((bitField0_ & 0x00040000) != 0)) { + output.writeFloat(27, manaRegen_); + } + if (((bitField0_ & 0x00080000) != 0)) { + output.writeInt32(30, baseMovementSpeed_); + } + if (((bitField0_ & 0x00100000) != 0)) { + output.writeInt32(31, currentMovementSpeed_); + } + if (((bitField0_ & 0x00200000) != 0)) { + output.writeInt32(35, animActivity_); + } + if (((bitField0_ & 0x00400000) != 0)) { + output.writeFloat(36, animCycle_); + } + if (((bitField0_ & 0x00800000) != 0)) { + output.writeInt32(40, baseDamage_); + } + if (((bitField0_ & 0x01000000) != 0)) { + output.writeInt32(41, baseDamageVariance_); + } + if (((bitField0_ & 0x02000000) != 0)) { + output.writeInt32(42, bonusDamage_); + } + if (((bitField0_ & 0x04000000) != 0)) { + output.writeInt32(43, attackDamage_); + } + if (((bitField0_ & 0x08000000) != 0)) { + output.writeInt32(44, attackRange_); + } + if (((bitField0_ & 0x10000000) != 0)) { + output.writeFloat(45, attackSpeed_); + } + if (((bitField0_ & 0x20000000) != 0)) { + output.writeFloat(46, attackAnimPoint_); + } + if (((bitField0_ & 0x40000000) != 0)) { + output.writeInt32(47, attackAcquisitionRange_); + } + if (((bitField0_ & 0x80000000) != 0)) { + output.writeInt32(48, attackProjectileSpeed_); + } + if (((bitField1_ & 0x00000001) != 0)) { + output.writeUInt32(49, attackTargetHandle_); + } + if (((bitField1_ & 0x00000004) != 0)) { + output.writeInt32(50, attacksPerSecond_); + } + if (((bitField1_ & 0x00000008) != 0)) { + output.writeFloat(51, lastAttackTime_); + } + if (((bitField1_ & 0x00000002) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 52, attackTargetName_); + } + if (((bitField1_ & 0x00000010) != 0)) { + output.writeUInt32(60, bountyXp_); + } + if (((bitField1_ & 0x00000020) != 0)) { + output.writeUInt32(61, bountyGoldMin_); + } + if (((bitField1_ & 0x00000040) != 0)) { + output.writeUInt32(62, bountyGoldMax_); + } + if (((bitField1_ & 0x00000080) != 0)) { + output.writeBool(65, isChanneling_); + } + if (((bitField1_ & 0x00000100) != 0)) { + output.writeUInt32(66, activeAbilityHandle_); + } + if (((bitField1_ & 0x00000200) != 0)) { + output.writeBool(70, isAttackImmune_); + } + if (((bitField1_ & 0x00000400) != 0)) { + output.writeBool(71, isBlind_); + } + if (((bitField1_ & 0x00000800) != 0)) { + output.writeBool(72, isBlockDisabled_); + } + if (((bitField1_ & 0x00001000) != 0)) { + output.writeBool(73, isDisarmed_); + } + if (((bitField1_ & 0x00002000) != 0)) { + output.writeBool(74, isDominated_); + } + if (((bitField1_ & 0x00004000) != 0)) { + output.writeBool(75, isEvadeDisabled_); + } + if (((bitField1_ & 0x00008000) != 0)) { + output.writeBool(76, isHexed_); + } + if (((bitField1_ & 0x00010000) != 0)) { + output.writeBool(77, isInvisible_); + } + if (((bitField1_ & 0x00020000) != 0)) { + output.writeBool(78, isInvulnerable_); + } + if (((bitField1_ & 0x00040000) != 0)) { + output.writeBool(79, isMagicImmune_); + } + if (((bitField1_ & 0x00080000) != 0)) { + output.writeBool(80, isMuted_); + } + if (((bitField1_ & 0x00100000) != 0)) { + output.writeBool(82, isNightmared_); + } + if (((bitField1_ & 0x00200000) != 0)) { + output.writeBool(83, isRooted_); + } + if (((bitField1_ & 0x00400000) != 0)) { + output.writeBool(84, isSilenced_); + } + if (((bitField1_ & 0x00800000) != 0)) { + output.writeBool(85, isSpeciallyDeniable_); + } + if (((bitField1_ & 0x01000000) != 0)) { + output.writeBool(86, isStunned_); + } + if (((bitField1_ & 0x02000000) != 0)) { + output.writeBool(87, isUnableToMiss_); + } + if (((bitField1_ & 0x04000000) != 0)) { + output.writeBool(88, hasScepter_); + } + for (int i = 0; i < abilities_.size(); i++) { + output.writeMessage(90, abilities_.get(i)); + } + for (int i = 0; i < items_.size(); i++) { + output.writeMessage(91, items_.get(i)); + } + for (int i = 0; i < modifiers_.size(); i++) { + output.writeMessage(92, modifiers_.get(i)); + } + for (int i = 0; i < incomingTrackingProjectiles_.size(); i++) { + output.writeMessage(93, incomingTrackingProjectiles_.get(i)); + } + if (((bitField1_ & 0x08000000) != 0)) { + output.writeUInt32(100, actionType_); + } + if (((bitField1_ & 0x10000000) != 0)) { + output.writeUInt32(101, abilityTargetHandle_); + } + if (((bitField1_ & 0x40000000) != 0)) { + output.writeBool(102, isUsingAbility_); + } + if (((bitField1_ & 0x20000000) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 103, abilityTargetName_); + } + if (((bitField1_ & 0x80000000) != 0)) { + output.writeUInt32(110, primaryAttribute_); + } + if (((bitField2_ & 0x00000001) != 0)) { + output.writeBool(111, isIllusion_); + } + if (((bitField2_ & 0x00000002) != 0)) { + output.writeFloat(112, respawnTime_); + } + if (((bitField2_ & 0x00000004) != 0)) { + output.writeUInt32(113, buybackCost_); + } + if (((bitField2_ & 0x00000008) != 0)) { + output.writeFloat(114, buybackCooldown_); + } + if (((bitField2_ & 0x00000010) != 0)) { + output.writeFloat(115, spellAmplification_); + } + if (((bitField2_ & 0x00000020) != 0)) { + output.writeFloat(116, armor_); + } + if (((bitField2_ & 0x00000040) != 0)) { + output.writeFloat(117, magicResist_); + } + if (((bitField2_ & 0x00000080) != 0)) { + output.writeFloat(118, evasion_); + } + if (((bitField2_ & 0x00000100) != 0)) { + output.writeUInt32(120, xpNeededToLevel_); + } + if (((bitField2_ & 0x00000200) != 0)) { + output.writeUInt32(121, abilityPoints_); + } + if (((bitField2_ & 0x00000400) != 0)) { + output.writeInt32(122, reliableGold_); + } + if (((bitField2_ & 0x00000800) != 0)) { + output.writeInt32(123, unreliableGold_); + } + if (((bitField2_ & 0x00001000) != 0)) { + output.writeUInt32(124, lastHits_); + } + if (((bitField2_ & 0x00002000) != 0)) { + output.writeUInt32(125, denies_); + } + if (((bitField2_ & 0x00004000) != 0)) { + output.writeUInt32(126, netWorth_); + } + if (((bitField2_ & 0x00008000) != 0)) { + output.writeUInt32(127, strength_); + } + if (((bitField2_ & 0x00010000) != 0)) { + output.writeUInt32(128, agility_); + } + if (((bitField2_ & 0x00020000) != 0)) { + output.writeUInt32(129, intelligence_); + } + if (((bitField2_ & 0x00040000) != 0)) { + output.writeFloat(130, remainingLifespan_); + } + if (((bitField2_ & 0x00080000) != 0)) { + output.writeBool(140, flyingCourier_); + } + if (((bitField2_ & 0x00100000) != 0)) { + output.writeFloat(150, shrineCooldown_); + } + if (((bitField2_ & 0x00200000) != 0)) { + output.writeBool(151, isShrineHealing_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, handle_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(2, unitType_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, name_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(4, teamId_); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(5, level_); + } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, getLocation()); + } + if (((bitField0_ & 0x00000040) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(7, isAlive_); + } + if (((bitField0_ & 0x00000080) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(8, playerId_); + } + if (((bitField0_ & 0x00000100) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(10, boundingRadius_); + } + if (((bitField0_ & 0x00000200) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(11, facing_); + } + if (((bitField0_ & 0x00000400) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(12, groundHeight_); + } + if (((bitField0_ & 0x00000800) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(15, visionRangeDaytime_); + } + if (((bitField0_ & 0x00001000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(16, visionRangeNighttime_); + } + if (((bitField0_ & 0x00002000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(20, health_); + } + if (((bitField0_ & 0x00004000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(21, healthMax_); + } + if (((bitField0_ & 0x00008000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(22, healthRegen_); + } + if (((bitField0_ & 0x00010000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(25, mana_); + } + if (((bitField0_ & 0x00020000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(26, manaMax_); + } + if (((bitField0_ & 0x00040000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(27, manaRegen_); + } + if (((bitField0_ & 0x00080000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(30, baseMovementSpeed_); + } + if (((bitField0_ & 0x00100000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(31, currentMovementSpeed_); + } + if (((bitField0_ & 0x00200000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(35, animActivity_); + } + if (((bitField0_ & 0x00400000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(36, animCycle_); + } + if (((bitField0_ & 0x00800000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(40, baseDamage_); + } + if (((bitField0_ & 0x01000000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(41, baseDamageVariance_); + } + if (((bitField0_ & 0x02000000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(42, bonusDamage_); + } + if (((bitField0_ & 0x04000000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(43, attackDamage_); + } + if (((bitField0_ & 0x08000000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(44, attackRange_); + } + if (((bitField0_ & 0x10000000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(45, attackSpeed_); + } + if (((bitField0_ & 0x20000000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(46, attackAnimPoint_); + } + if (((bitField0_ & 0x40000000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(47, attackAcquisitionRange_); + } + if (((bitField0_ & 0x80000000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(48, attackProjectileSpeed_); + } + if (((bitField1_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(49, attackTargetHandle_); + } + if (((bitField1_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(50, attacksPerSecond_); + } + if (((bitField1_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(51, lastAttackTime_); + } + if (((bitField1_ & 0x00000002) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(52, attackTargetName_); + } + if (((bitField1_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(60, bountyXp_); + } + if (((bitField1_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(61, bountyGoldMin_); + } + if (((bitField1_ & 0x00000040) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(62, bountyGoldMax_); + } + if (((bitField1_ & 0x00000080) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(65, isChanneling_); + } + if (((bitField1_ & 0x00000100) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(66, activeAbilityHandle_); + } + if (((bitField1_ & 0x00000200) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(70, isAttackImmune_); + } + if (((bitField1_ & 0x00000400) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(71, isBlind_); + } + if (((bitField1_ & 0x00000800) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(72, isBlockDisabled_); + } + if (((bitField1_ & 0x00001000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(73, isDisarmed_); + } + if (((bitField1_ & 0x00002000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(74, isDominated_); + } + if (((bitField1_ & 0x00004000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(75, isEvadeDisabled_); + } + if (((bitField1_ & 0x00008000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(76, isHexed_); + } + if (((bitField1_ & 0x00010000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(77, isInvisible_); + } + if (((bitField1_ & 0x00020000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(78, isInvulnerable_); + } + if (((bitField1_ & 0x00040000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(79, isMagicImmune_); + } + if (((bitField1_ & 0x00080000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(80, isMuted_); + } + if (((bitField1_ & 0x00100000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(82, isNightmared_); + } + if (((bitField1_ & 0x00200000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(83, isRooted_); + } + if (((bitField1_ & 0x00400000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(84, isSilenced_); + } + if (((bitField1_ & 0x00800000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(85, isSpeciallyDeniable_); + } + if (((bitField1_ & 0x01000000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(86, isStunned_); + } + if (((bitField1_ & 0x02000000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(87, isUnableToMiss_); + } + if (((bitField1_ & 0x04000000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(88, hasScepter_); + } + for (int i = 0; i < abilities_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(90, abilities_.get(i)); + } + for (int i = 0; i < items_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(91, items_.get(i)); + } + for (int i = 0; i < modifiers_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(92, modifiers_.get(i)); + } + for (int i = 0; i < incomingTrackingProjectiles_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(93, incomingTrackingProjectiles_.get(i)); + } + if (((bitField1_ & 0x08000000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(100, actionType_); + } + if (((bitField1_ & 0x10000000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(101, abilityTargetHandle_); + } + if (((bitField1_ & 0x40000000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(102, isUsingAbility_); + } + if (((bitField1_ & 0x20000000) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(103, abilityTargetName_); + } + if (((bitField1_ & 0x80000000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(110, primaryAttribute_); + } + if (((bitField2_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(111, isIllusion_); + } + if (((bitField2_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(112, respawnTime_); + } + if (((bitField2_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(113, buybackCost_); + } + if (((bitField2_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(114, buybackCooldown_); + } + if (((bitField2_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(115, spellAmplification_); + } + if (((bitField2_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(116, armor_); + } + if (((bitField2_ & 0x00000040) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(117, magicResist_); + } + if (((bitField2_ & 0x00000080) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(118, evasion_); + } + if (((bitField2_ & 0x00000100) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(120, xpNeededToLevel_); + } + if (((bitField2_ & 0x00000200) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(121, abilityPoints_); + } + if (((bitField2_ & 0x00000400) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(122, reliableGold_); + } + if (((bitField2_ & 0x00000800) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(123, unreliableGold_); + } + if (((bitField2_ & 0x00001000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(124, lastHits_); + } + if (((bitField2_ & 0x00002000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(125, denies_); + } + if (((bitField2_ & 0x00004000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(126, netWorth_); + } + if (((bitField2_ & 0x00008000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(127, strength_); + } + if (((bitField2_ & 0x00010000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(128, agility_); + } + if (((bitField2_ & 0x00020000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(129, intelligence_); + } + if (((bitField2_ & 0x00040000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(130, remainingLifespan_); + } + if (((bitField2_ & 0x00080000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(140, flyingCourier_); + } + if (((bitField2_ & 0x00100000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(150, shrineCooldown_); + } + if (((bitField2_ & 0x00200000) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(151, isShrineHealing_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit) obj; + + if (hasHandle() != other.hasHandle()) return false; + if (hasHandle()) { + if (getHandle() + != other.getHandle()) return false; + } + if (hasUnitType() != other.hasUnitType()) return false; + if (hasUnitType()) { + if (unitType_ != other.unitType_) return false; + } + if (hasName() != other.hasName()) return false; + if (hasName()) { + if (!getName() + .equals(other.getName())) return false; + } + if (hasTeamId() != other.hasTeamId()) return false; + if (hasTeamId()) { + if (getTeamId() + != other.getTeamId()) return false; + } + if (hasLevel() != other.hasLevel()) return false; + if (hasLevel()) { + if (getLevel() + != other.getLevel()) return false; + } + if (hasLocation() != other.hasLocation()) return false; + if (hasLocation()) { + if (!getLocation() + .equals(other.getLocation())) return false; + } + if (hasIsAlive() != other.hasIsAlive()) return false; + if (hasIsAlive()) { + if (getIsAlive() + != other.getIsAlive()) return false; + } + if (hasPlayerId() != other.hasPlayerId()) return false; + if (hasPlayerId()) { + if (getPlayerId() + != other.getPlayerId()) return false; + } + if (hasBoundingRadius() != other.hasBoundingRadius()) return false; + if (hasBoundingRadius()) { + if (getBoundingRadius() + != other.getBoundingRadius()) return false; + } + if (hasFacing() != other.hasFacing()) return false; + if (hasFacing()) { + if (getFacing() + != other.getFacing()) return false; + } + if (hasGroundHeight() != other.hasGroundHeight()) return false; + if (hasGroundHeight()) { + if (getGroundHeight() + != other.getGroundHeight()) return false; + } + if (hasVisionRangeDaytime() != other.hasVisionRangeDaytime()) return false; + if (hasVisionRangeDaytime()) { + if (getVisionRangeDaytime() + != other.getVisionRangeDaytime()) return false; + } + if (hasVisionRangeNighttime() != other.hasVisionRangeNighttime()) return false; + if (hasVisionRangeNighttime()) { + if (getVisionRangeNighttime() + != other.getVisionRangeNighttime()) return false; + } + if (hasHealth() != other.hasHealth()) return false; + if (hasHealth()) { + if (getHealth() + != other.getHealth()) return false; + } + if (hasHealthMax() != other.hasHealthMax()) return false; + if (hasHealthMax()) { + if (getHealthMax() + != other.getHealthMax()) return false; + } + if (hasHealthRegen() != other.hasHealthRegen()) return false; + if (hasHealthRegen()) { + if (java.lang.Float.floatToIntBits(getHealthRegen()) + != java.lang.Float.floatToIntBits( + other.getHealthRegen())) return false; + } + if (hasMana() != other.hasMana()) return false; + if (hasMana()) { + if (getMana() + != other.getMana()) return false; + } + if (hasManaMax() != other.hasManaMax()) return false; + if (hasManaMax()) { + if (getManaMax() + != other.getManaMax()) return false; + } + if (hasManaRegen() != other.hasManaRegen()) return false; + if (hasManaRegen()) { + if (java.lang.Float.floatToIntBits(getManaRegen()) + != java.lang.Float.floatToIntBits( + other.getManaRegen())) return false; + } + if (hasBaseMovementSpeed() != other.hasBaseMovementSpeed()) return false; + if (hasBaseMovementSpeed()) { + if (getBaseMovementSpeed() + != other.getBaseMovementSpeed()) return false; + } + if (hasCurrentMovementSpeed() != other.hasCurrentMovementSpeed()) return false; + if (hasCurrentMovementSpeed()) { + if (getCurrentMovementSpeed() + != other.getCurrentMovementSpeed()) return false; + } + if (hasAnimActivity() != other.hasAnimActivity()) return false; + if (hasAnimActivity()) { + if (getAnimActivity() + != other.getAnimActivity()) return false; + } + if (hasAnimCycle() != other.hasAnimCycle()) return false; + if (hasAnimCycle()) { + if (java.lang.Float.floatToIntBits(getAnimCycle()) + != java.lang.Float.floatToIntBits( + other.getAnimCycle())) return false; + } + if (hasBaseDamage() != other.hasBaseDamage()) return false; + if (hasBaseDamage()) { + if (getBaseDamage() + != other.getBaseDamage()) return false; + } + if (hasBaseDamageVariance() != other.hasBaseDamageVariance()) return false; + if (hasBaseDamageVariance()) { + if (getBaseDamageVariance() + != other.getBaseDamageVariance()) return false; + } + if (hasBonusDamage() != other.hasBonusDamage()) return false; + if (hasBonusDamage()) { + if (getBonusDamage() + != other.getBonusDamage()) return false; + } + if (hasAttackDamage() != other.hasAttackDamage()) return false; + if (hasAttackDamage()) { + if (getAttackDamage() + != other.getAttackDamage()) return false; + } + if (hasAttackRange() != other.hasAttackRange()) return false; + if (hasAttackRange()) { + if (getAttackRange() + != other.getAttackRange()) return false; + } + if (hasAttackSpeed() != other.hasAttackSpeed()) return false; + if (hasAttackSpeed()) { + if (java.lang.Float.floatToIntBits(getAttackSpeed()) + != java.lang.Float.floatToIntBits( + other.getAttackSpeed())) return false; + } + if (hasAttackAnimPoint() != other.hasAttackAnimPoint()) return false; + if (hasAttackAnimPoint()) { + if (java.lang.Float.floatToIntBits(getAttackAnimPoint()) + != java.lang.Float.floatToIntBits( + other.getAttackAnimPoint())) return false; + } + if (hasAttackAcquisitionRange() != other.hasAttackAcquisitionRange()) return false; + if (hasAttackAcquisitionRange()) { + if (getAttackAcquisitionRange() + != other.getAttackAcquisitionRange()) return false; + } + if (hasAttackProjectileSpeed() != other.hasAttackProjectileSpeed()) return false; + if (hasAttackProjectileSpeed()) { + if (getAttackProjectileSpeed() + != other.getAttackProjectileSpeed()) return false; + } + if (hasAttackTargetHandle() != other.hasAttackTargetHandle()) return false; + if (hasAttackTargetHandle()) { + if (getAttackTargetHandle() + != other.getAttackTargetHandle()) return false; + } + if (hasAttackTargetName() != other.hasAttackTargetName()) return false; + if (hasAttackTargetName()) { + if (!getAttackTargetName() + .equals(other.getAttackTargetName())) return false; + } + if (hasAttacksPerSecond() != other.hasAttacksPerSecond()) return false; + if (hasAttacksPerSecond()) { + if (getAttacksPerSecond() + != other.getAttacksPerSecond()) return false; + } + if (hasLastAttackTime() != other.hasLastAttackTime()) return false; + if (hasLastAttackTime()) { + if (java.lang.Float.floatToIntBits(getLastAttackTime()) + != java.lang.Float.floatToIntBits( + other.getLastAttackTime())) return false; + } + if (hasBountyXp() != other.hasBountyXp()) return false; + if (hasBountyXp()) { + if (getBountyXp() + != other.getBountyXp()) return false; + } + if (hasBountyGoldMin() != other.hasBountyGoldMin()) return false; + if (hasBountyGoldMin()) { + if (getBountyGoldMin() + != other.getBountyGoldMin()) return false; + } + if (hasBountyGoldMax() != other.hasBountyGoldMax()) return false; + if (hasBountyGoldMax()) { + if (getBountyGoldMax() + != other.getBountyGoldMax()) return false; + } + if (hasIsChanneling() != other.hasIsChanneling()) return false; + if (hasIsChanneling()) { + if (getIsChanneling() + != other.getIsChanneling()) return false; + } + if (hasActiveAbilityHandle() != other.hasActiveAbilityHandle()) return false; + if (hasActiveAbilityHandle()) { + if (getActiveAbilityHandle() + != other.getActiveAbilityHandle()) return false; + } + if (hasIsAttackImmune() != other.hasIsAttackImmune()) return false; + if (hasIsAttackImmune()) { + if (getIsAttackImmune() + != other.getIsAttackImmune()) return false; + } + if (hasIsBlind() != other.hasIsBlind()) return false; + if (hasIsBlind()) { + if (getIsBlind() + != other.getIsBlind()) return false; + } + if (hasIsBlockDisabled() != other.hasIsBlockDisabled()) return false; + if (hasIsBlockDisabled()) { + if (getIsBlockDisabled() + != other.getIsBlockDisabled()) return false; + } + if (hasIsDisarmed() != other.hasIsDisarmed()) return false; + if (hasIsDisarmed()) { + if (getIsDisarmed() + != other.getIsDisarmed()) return false; + } + if (hasIsDominated() != other.hasIsDominated()) return false; + if (hasIsDominated()) { + if (getIsDominated() + != other.getIsDominated()) return false; + } + if (hasIsEvadeDisabled() != other.hasIsEvadeDisabled()) return false; + if (hasIsEvadeDisabled()) { + if (getIsEvadeDisabled() + != other.getIsEvadeDisabled()) return false; + } + if (hasIsHexed() != other.hasIsHexed()) return false; + if (hasIsHexed()) { + if (getIsHexed() + != other.getIsHexed()) return false; + } + if (hasIsInvisible() != other.hasIsInvisible()) return false; + if (hasIsInvisible()) { + if (getIsInvisible() + != other.getIsInvisible()) return false; + } + if (hasIsInvulnerable() != other.hasIsInvulnerable()) return false; + if (hasIsInvulnerable()) { + if (getIsInvulnerable() + != other.getIsInvulnerable()) return false; + } + if (hasIsMagicImmune() != other.hasIsMagicImmune()) return false; + if (hasIsMagicImmune()) { + if (getIsMagicImmune() + != other.getIsMagicImmune()) return false; + } + if (hasIsMuted() != other.hasIsMuted()) return false; + if (hasIsMuted()) { + if (getIsMuted() + != other.getIsMuted()) return false; + } + if (hasIsNightmared() != other.hasIsNightmared()) return false; + if (hasIsNightmared()) { + if (getIsNightmared() + != other.getIsNightmared()) return false; + } + if (hasIsRooted() != other.hasIsRooted()) return false; + if (hasIsRooted()) { + if (getIsRooted() + != other.getIsRooted()) return false; + } + if (hasIsSilenced() != other.hasIsSilenced()) return false; + if (hasIsSilenced()) { + if (getIsSilenced() + != other.getIsSilenced()) return false; + } + if (hasIsSpeciallyDeniable() != other.hasIsSpeciallyDeniable()) return false; + if (hasIsSpeciallyDeniable()) { + if (getIsSpeciallyDeniable() + != other.getIsSpeciallyDeniable()) return false; + } + if (hasIsStunned() != other.hasIsStunned()) return false; + if (hasIsStunned()) { + if (getIsStunned() + != other.getIsStunned()) return false; + } + if (hasIsUnableToMiss() != other.hasIsUnableToMiss()) return false; + if (hasIsUnableToMiss()) { + if (getIsUnableToMiss() + != other.getIsUnableToMiss()) return false; + } + if (hasHasScepter() != other.hasHasScepter()) return false; + if (hasHasScepter()) { + if (getHasScepter() + != other.getHasScepter()) return false; + } + if (!getAbilitiesList() + .equals(other.getAbilitiesList())) return false; + if (!getItemsList() + .equals(other.getItemsList())) return false; + if (!getModifiersList() + .equals(other.getModifiersList())) return false; + if (!getIncomingTrackingProjectilesList() + .equals(other.getIncomingTrackingProjectilesList())) return false; + if (hasActionType() != other.hasActionType()) return false; + if (hasActionType()) { + if (getActionType() + != other.getActionType()) return false; + } + if (hasAbilityTargetHandle() != other.hasAbilityTargetHandle()) return false; + if (hasAbilityTargetHandle()) { + if (getAbilityTargetHandle() + != other.getAbilityTargetHandle()) return false; + } + if (hasAbilityTargetName() != other.hasAbilityTargetName()) return false; + if (hasAbilityTargetName()) { + if (!getAbilityTargetName() + .equals(other.getAbilityTargetName())) return false; + } + if (hasIsUsingAbility() != other.hasIsUsingAbility()) return false; + if (hasIsUsingAbility()) { + if (getIsUsingAbility() + != other.getIsUsingAbility()) return false; + } + if (hasPrimaryAttribute() != other.hasPrimaryAttribute()) return false; + if (hasPrimaryAttribute()) { + if (getPrimaryAttribute() + != other.getPrimaryAttribute()) return false; + } + if (hasIsIllusion() != other.hasIsIllusion()) return false; + if (hasIsIllusion()) { + if (getIsIllusion() + != other.getIsIllusion()) return false; + } + if (hasRespawnTime() != other.hasRespawnTime()) return false; + if (hasRespawnTime()) { + if (java.lang.Float.floatToIntBits(getRespawnTime()) + != java.lang.Float.floatToIntBits( + other.getRespawnTime())) return false; + } + if (hasBuybackCost() != other.hasBuybackCost()) return false; + if (hasBuybackCost()) { + if (getBuybackCost() + != other.getBuybackCost()) return false; + } + if (hasBuybackCooldown() != other.hasBuybackCooldown()) return false; + if (hasBuybackCooldown()) { + if (java.lang.Float.floatToIntBits(getBuybackCooldown()) + != java.lang.Float.floatToIntBits( + other.getBuybackCooldown())) return false; + } + if (hasSpellAmplification() != other.hasSpellAmplification()) return false; + if (hasSpellAmplification()) { + if (java.lang.Float.floatToIntBits(getSpellAmplification()) + != java.lang.Float.floatToIntBits( + other.getSpellAmplification())) return false; + } + if (hasArmor() != other.hasArmor()) return false; + if (hasArmor()) { + if (java.lang.Float.floatToIntBits(getArmor()) + != java.lang.Float.floatToIntBits( + other.getArmor())) return false; + } + if (hasMagicResist() != other.hasMagicResist()) return false; + if (hasMagicResist()) { + if (java.lang.Float.floatToIntBits(getMagicResist()) + != java.lang.Float.floatToIntBits( + other.getMagicResist())) return false; + } + if (hasEvasion() != other.hasEvasion()) return false; + if (hasEvasion()) { + if (java.lang.Float.floatToIntBits(getEvasion()) + != java.lang.Float.floatToIntBits( + other.getEvasion())) return false; + } + if (hasXpNeededToLevel() != other.hasXpNeededToLevel()) return false; + if (hasXpNeededToLevel()) { + if (getXpNeededToLevel() + != other.getXpNeededToLevel()) return false; + } + if (hasAbilityPoints() != other.hasAbilityPoints()) return false; + if (hasAbilityPoints()) { + if (getAbilityPoints() + != other.getAbilityPoints()) return false; + } + if (hasReliableGold() != other.hasReliableGold()) return false; + if (hasReliableGold()) { + if (getReliableGold() + != other.getReliableGold()) return false; + } + if (hasUnreliableGold() != other.hasUnreliableGold()) return false; + if (hasUnreliableGold()) { + if (getUnreliableGold() + != other.getUnreliableGold()) return false; + } + if (hasLastHits() != other.hasLastHits()) return false; + if (hasLastHits()) { + if (getLastHits() + != other.getLastHits()) return false; + } + if (hasDenies() != other.hasDenies()) return false; + if (hasDenies()) { + if (getDenies() + != other.getDenies()) return false; + } + if (hasNetWorth() != other.hasNetWorth()) return false; + if (hasNetWorth()) { + if (getNetWorth() + != other.getNetWorth()) return false; + } + if (hasStrength() != other.hasStrength()) return false; + if (hasStrength()) { + if (getStrength() + != other.getStrength()) return false; + } + if (hasAgility() != other.hasAgility()) return false; + if (hasAgility()) { + if (getAgility() + != other.getAgility()) return false; + } + if (hasIntelligence() != other.hasIntelligence()) return false; + if (hasIntelligence()) { + if (getIntelligence() + != other.getIntelligence()) return false; + } + if (hasRemainingLifespan() != other.hasRemainingLifespan()) return false; + if (hasRemainingLifespan()) { + if (java.lang.Float.floatToIntBits(getRemainingLifespan()) + != java.lang.Float.floatToIntBits( + other.getRemainingLifespan())) return false; + } + if (hasFlyingCourier() != other.hasFlyingCourier()) return false; + if (hasFlyingCourier()) { + if (getFlyingCourier() + != other.getFlyingCourier()) return false; + } + if (hasShrineCooldown() != other.hasShrineCooldown()) return false; + if (hasShrineCooldown()) { + if (java.lang.Float.floatToIntBits(getShrineCooldown()) + != java.lang.Float.floatToIntBits( + other.getShrineCooldown())) return false; + } + if (hasIsShrineHealing() != other.hasIsShrineHealing()) return false; + if (hasIsShrineHealing()) { + if (getIsShrineHealing() + != other.getIsShrineHealing()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasHandle()) { + hash = (37 * hash) + HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getHandle(); + } + if (hasUnitType()) { + hash = (37 * hash) + UNIT_TYPE_FIELD_NUMBER; + hash = (53 * hash) + unitType_; + } + if (hasName()) { + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + } + if (hasTeamId()) { + hash = (37 * hash) + TEAM_ID_FIELD_NUMBER; + hash = (53 * hash) + getTeamId(); + } + if (hasLevel()) { + hash = (37 * hash) + LEVEL_FIELD_NUMBER; + hash = (53 * hash) + getLevel(); + } + if (hasLocation()) { + hash = (37 * hash) + LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getLocation().hashCode(); + } + if (hasIsAlive()) { + hash = (37 * hash) + IS_ALIVE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsAlive()); + } + if (hasPlayerId()) { + hash = (37 * hash) + PLAYER_ID_FIELD_NUMBER; + hash = (53 * hash) + getPlayerId(); + } + if (hasBoundingRadius()) { + hash = (37 * hash) + BOUNDING_RADIUS_FIELD_NUMBER; + hash = (53 * hash) + getBoundingRadius(); + } + if (hasFacing()) { + hash = (37 * hash) + FACING_FIELD_NUMBER; + hash = (53 * hash) + getFacing(); + } + if (hasGroundHeight()) { + hash = (37 * hash) + GROUND_HEIGHT_FIELD_NUMBER; + hash = (53 * hash) + getGroundHeight(); + } + if (hasVisionRangeDaytime()) { + hash = (37 * hash) + VISION_RANGE_DAYTIME_FIELD_NUMBER; + hash = (53 * hash) + getVisionRangeDaytime(); + } + if (hasVisionRangeNighttime()) { + hash = (37 * hash) + VISION_RANGE_NIGHTTIME_FIELD_NUMBER; + hash = (53 * hash) + getVisionRangeNighttime(); + } + if (hasHealth()) { + hash = (37 * hash) + HEALTH_FIELD_NUMBER; + hash = (53 * hash) + getHealth(); + } + if (hasHealthMax()) { + hash = (37 * hash) + HEALTH_MAX_FIELD_NUMBER; + hash = (53 * hash) + getHealthMax(); + } + if (hasHealthRegen()) { + hash = (37 * hash) + HEALTH_REGEN_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getHealthRegen()); + } + if (hasMana()) { + hash = (37 * hash) + MANA_FIELD_NUMBER; + hash = (53 * hash) + getMana(); + } + if (hasManaMax()) { + hash = (37 * hash) + MANA_MAX_FIELD_NUMBER; + hash = (53 * hash) + getManaMax(); + } + if (hasManaRegen()) { + hash = (37 * hash) + MANA_REGEN_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getManaRegen()); + } + if (hasBaseMovementSpeed()) { + hash = (37 * hash) + BASE_MOVEMENT_SPEED_FIELD_NUMBER; + hash = (53 * hash) + getBaseMovementSpeed(); + } + if (hasCurrentMovementSpeed()) { + hash = (37 * hash) + CURRENT_MOVEMENT_SPEED_FIELD_NUMBER; + hash = (53 * hash) + getCurrentMovementSpeed(); + } + if (hasAnimActivity()) { + hash = (37 * hash) + ANIM_ACTIVITY_FIELD_NUMBER; + hash = (53 * hash) + getAnimActivity(); + } + if (hasAnimCycle()) { + hash = (37 * hash) + ANIM_CYCLE_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getAnimCycle()); + } + if (hasBaseDamage()) { + hash = (37 * hash) + BASE_DAMAGE_FIELD_NUMBER; + hash = (53 * hash) + getBaseDamage(); + } + if (hasBaseDamageVariance()) { + hash = (37 * hash) + BASE_DAMAGE_VARIANCE_FIELD_NUMBER; + hash = (53 * hash) + getBaseDamageVariance(); + } + if (hasBonusDamage()) { + hash = (37 * hash) + BONUS_DAMAGE_FIELD_NUMBER; + hash = (53 * hash) + getBonusDamage(); + } + if (hasAttackDamage()) { + hash = (37 * hash) + ATTACK_DAMAGE_FIELD_NUMBER; + hash = (53 * hash) + getAttackDamage(); + } + if (hasAttackRange()) { + hash = (37 * hash) + ATTACK_RANGE_FIELD_NUMBER; + hash = (53 * hash) + getAttackRange(); + } + if (hasAttackSpeed()) { + hash = (37 * hash) + ATTACK_SPEED_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getAttackSpeed()); + } + if (hasAttackAnimPoint()) { + hash = (37 * hash) + ATTACK_ANIM_POINT_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getAttackAnimPoint()); + } + if (hasAttackAcquisitionRange()) { + hash = (37 * hash) + ATTACK_ACQUISITION_RANGE_FIELD_NUMBER; + hash = (53 * hash) + getAttackAcquisitionRange(); + } + if (hasAttackProjectileSpeed()) { + hash = (37 * hash) + ATTACK_PROJECTILE_SPEED_FIELD_NUMBER; + hash = (53 * hash) + getAttackProjectileSpeed(); + } + if (hasAttackTargetHandle()) { + hash = (37 * hash) + ATTACK_TARGET_HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getAttackTargetHandle(); + } + if (hasAttackTargetName()) { + hash = (37 * hash) + ATTACK_TARGET_NAME_FIELD_NUMBER; + hash = (53 * hash) + getAttackTargetName().hashCode(); + } + if (hasAttacksPerSecond()) { + hash = (37 * hash) + ATTACKS_PER_SECOND_FIELD_NUMBER; + hash = (53 * hash) + getAttacksPerSecond(); + } + if (hasLastAttackTime()) { + hash = (37 * hash) + LAST_ATTACK_TIME_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getLastAttackTime()); + } + if (hasBountyXp()) { + hash = (37 * hash) + BOUNTY_XP_FIELD_NUMBER; + hash = (53 * hash) + getBountyXp(); + } + if (hasBountyGoldMin()) { + hash = (37 * hash) + BOUNTY_GOLD_MIN_FIELD_NUMBER; + hash = (53 * hash) + getBountyGoldMin(); + } + if (hasBountyGoldMax()) { + hash = (37 * hash) + BOUNTY_GOLD_MAX_FIELD_NUMBER; + hash = (53 * hash) + getBountyGoldMax(); + } + if (hasIsChanneling()) { + hash = (37 * hash) + IS_CHANNELING_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsChanneling()); + } + if (hasActiveAbilityHandle()) { + hash = (37 * hash) + ACTIVE_ABILITY_HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getActiveAbilityHandle(); + } + if (hasIsAttackImmune()) { + hash = (37 * hash) + IS_ATTACK_IMMUNE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsAttackImmune()); + } + if (hasIsBlind()) { + hash = (37 * hash) + IS_BLIND_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsBlind()); + } + if (hasIsBlockDisabled()) { + hash = (37 * hash) + IS_BLOCK_DISABLED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsBlockDisabled()); + } + if (hasIsDisarmed()) { + hash = (37 * hash) + IS_DISARMED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsDisarmed()); + } + if (hasIsDominated()) { + hash = (37 * hash) + IS_DOMINATED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsDominated()); + } + if (hasIsEvadeDisabled()) { + hash = (37 * hash) + IS_EVADE_DISABLED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsEvadeDisabled()); + } + if (hasIsHexed()) { + hash = (37 * hash) + IS_HEXED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsHexed()); + } + if (hasIsInvisible()) { + hash = (37 * hash) + IS_INVISIBLE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsInvisible()); + } + if (hasIsInvulnerable()) { + hash = (37 * hash) + IS_INVULNERABLE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsInvulnerable()); + } + if (hasIsMagicImmune()) { + hash = (37 * hash) + IS_MAGIC_IMMUNE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsMagicImmune()); + } + if (hasIsMuted()) { + hash = (37 * hash) + IS_MUTED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsMuted()); + } + if (hasIsNightmared()) { + hash = (37 * hash) + IS_NIGHTMARED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsNightmared()); + } + if (hasIsRooted()) { + hash = (37 * hash) + IS_ROOTED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsRooted()); + } + if (hasIsSilenced()) { + hash = (37 * hash) + IS_SILENCED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsSilenced()); + } + if (hasIsSpeciallyDeniable()) { + hash = (37 * hash) + IS_SPECIALLY_DENIABLE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsSpeciallyDeniable()); + } + if (hasIsStunned()) { + hash = (37 * hash) + IS_STUNNED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsStunned()); + } + if (hasIsUnableToMiss()) { + hash = (37 * hash) + IS_UNABLE_TO_MISS_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsUnableToMiss()); + } + if (hasHasScepter()) { + hash = (37 * hash) + HAS_SCEPTER_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getHasScepter()); + } + if (getAbilitiesCount() > 0) { + hash = (37 * hash) + ABILITIES_FIELD_NUMBER; + hash = (53 * hash) + getAbilitiesList().hashCode(); + } + if (getItemsCount() > 0) { + hash = (37 * hash) + ITEMS_FIELD_NUMBER; + hash = (53 * hash) + getItemsList().hashCode(); + } + if (getModifiersCount() > 0) { + hash = (37 * hash) + MODIFIERS_FIELD_NUMBER; + hash = (53 * hash) + getModifiersList().hashCode(); + } + if (getIncomingTrackingProjectilesCount() > 0) { + hash = (37 * hash) + INCOMING_TRACKING_PROJECTILES_FIELD_NUMBER; + hash = (53 * hash) + getIncomingTrackingProjectilesList().hashCode(); + } + if (hasActionType()) { + hash = (37 * hash) + ACTION_TYPE_FIELD_NUMBER; + hash = (53 * hash) + getActionType(); + } + if (hasAbilityTargetHandle()) { + hash = (37 * hash) + ABILITY_TARGET_HANDLE_FIELD_NUMBER; + hash = (53 * hash) + getAbilityTargetHandle(); + } + if (hasAbilityTargetName()) { + hash = (37 * hash) + ABILITY_TARGET_NAME_FIELD_NUMBER; + hash = (53 * hash) + getAbilityTargetName().hashCode(); + } + if (hasIsUsingAbility()) { + hash = (37 * hash) + IS_USING_ABILITY_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsUsingAbility()); + } + if (hasPrimaryAttribute()) { + hash = (37 * hash) + PRIMARY_ATTRIBUTE_FIELD_NUMBER; + hash = (53 * hash) + getPrimaryAttribute(); + } + if (hasIsIllusion()) { + hash = (37 * hash) + IS_ILLUSION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsIllusion()); + } + if (hasRespawnTime()) { + hash = (37 * hash) + RESPAWN_TIME_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getRespawnTime()); + } + if (hasBuybackCost()) { + hash = (37 * hash) + BUYBACK_COST_FIELD_NUMBER; + hash = (53 * hash) + getBuybackCost(); + } + if (hasBuybackCooldown()) { + hash = (37 * hash) + BUYBACK_COOLDOWN_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getBuybackCooldown()); + } + if (hasSpellAmplification()) { + hash = (37 * hash) + SPELL_AMPLIFICATION_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getSpellAmplification()); + } + if (hasArmor()) { + hash = (37 * hash) + ARMOR_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getArmor()); + } + if (hasMagicResist()) { + hash = (37 * hash) + MAGIC_RESIST_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getMagicResist()); + } + if (hasEvasion()) { + hash = (37 * hash) + EVASION_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getEvasion()); + } + if (hasXpNeededToLevel()) { + hash = (37 * hash) + XP_NEEDED_TO_LEVEL_FIELD_NUMBER; + hash = (53 * hash) + getXpNeededToLevel(); + } + if (hasAbilityPoints()) { + hash = (37 * hash) + ABILITY_POINTS_FIELD_NUMBER; + hash = (53 * hash) + getAbilityPoints(); + } + if (hasReliableGold()) { + hash = (37 * hash) + RELIABLE_GOLD_FIELD_NUMBER; + hash = (53 * hash) + getReliableGold(); + } + if (hasUnreliableGold()) { + hash = (37 * hash) + UNRELIABLE_GOLD_FIELD_NUMBER; + hash = (53 * hash) + getUnreliableGold(); + } + if (hasLastHits()) { + hash = (37 * hash) + LAST_HITS_FIELD_NUMBER; + hash = (53 * hash) + getLastHits(); + } + if (hasDenies()) { + hash = (37 * hash) + DENIES_FIELD_NUMBER; + hash = (53 * hash) + getDenies(); + } + if (hasNetWorth()) { + hash = (37 * hash) + NET_WORTH_FIELD_NUMBER; + hash = (53 * hash) + getNetWorth(); + } + if (hasStrength()) { + hash = (37 * hash) + STRENGTH_FIELD_NUMBER; + hash = (53 * hash) + getStrength(); + } + if (hasAgility()) { + hash = (37 * hash) + AGILITY_FIELD_NUMBER; + hash = (53 * hash) + getAgility(); + } + if (hasIntelligence()) { + hash = (37 * hash) + INTELLIGENCE_FIELD_NUMBER; + hash = (53 * hash) + getIntelligence(); + } + if (hasRemainingLifespan()) { + hash = (37 * hash) + REMAINING_LIFESPAN_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getRemainingLifespan()); + } + if (hasFlyingCourier()) { + hash = (37 * hash) + FLYING_COURIER_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getFlyingCourier()); + } + if (hasShrineCooldown()) { + hash = (37 * hash) + SHRINE_COOLDOWN_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getShrineCooldown()); + } + if (hasIsShrineHealing()) { + hash = (37 * hash) + IS_SHRINE_HEALING_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsShrineHealing()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Unit} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Unit) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Unit_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Unit_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getLocationFieldBuilder(); + getAbilitiesFieldBuilder(); + getItemsFieldBuilder(); + getModifiersFieldBuilder(); + getIncomingTrackingProjectilesFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + handle_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + unitType_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + name_ = ""; + bitField0_ = (bitField0_ & ~0x00000004); + teamId_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + level_ = 0; + bitField0_ = (bitField0_ & ~0x00000010); + if (locationBuilder_ == null) { + location_ = null; + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000020); + isAlive_ = false; + bitField0_ = (bitField0_ & ~0x00000040); + playerId_ = 0; + bitField0_ = (bitField0_ & ~0x00000080); + boundingRadius_ = 0; + bitField0_ = (bitField0_ & ~0x00000100); + facing_ = 0; + bitField0_ = (bitField0_ & ~0x00000200); + groundHeight_ = 0; + bitField0_ = (bitField0_ & ~0x00000400); + visionRangeDaytime_ = 0; + bitField0_ = (bitField0_ & ~0x00000800); + visionRangeNighttime_ = 0; + bitField0_ = (bitField0_ & ~0x00001000); + health_ = 0; + bitField0_ = (bitField0_ & ~0x00002000); + healthMax_ = 0; + bitField0_ = (bitField0_ & ~0x00004000); + healthRegen_ = 0F; + bitField0_ = (bitField0_ & ~0x00008000); + mana_ = 0; + bitField0_ = (bitField0_ & ~0x00010000); + manaMax_ = 0; + bitField0_ = (bitField0_ & ~0x00020000); + manaRegen_ = 0F; + bitField0_ = (bitField0_ & ~0x00040000); + baseMovementSpeed_ = 0; + bitField0_ = (bitField0_ & ~0x00080000); + currentMovementSpeed_ = 0; + bitField0_ = (bitField0_ & ~0x00100000); + animActivity_ = 0; + bitField0_ = (bitField0_ & ~0x00200000); + animCycle_ = 0F; + bitField0_ = (bitField0_ & ~0x00400000); + baseDamage_ = 0; + bitField0_ = (bitField0_ & ~0x00800000); + baseDamageVariance_ = 0; + bitField0_ = (bitField0_ & ~0x01000000); + bonusDamage_ = 0; + bitField0_ = (bitField0_ & ~0x02000000); + attackDamage_ = 0; + bitField0_ = (bitField0_ & ~0x04000000); + attackRange_ = 0; + bitField0_ = (bitField0_ & ~0x08000000); + attackSpeed_ = 0F; + bitField0_ = (bitField0_ & ~0x10000000); + attackAnimPoint_ = 0F; + bitField0_ = (bitField0_ & ~0x20000000); + attackAcquisitionRange_ = 0; + bitField0_ = (bitField0_ & ~0x40000000); + attackProjectileSpeed_ = 0; + bitField0_ = (bitField0_ & ~0x80000000); + attackTargetHandle_ = 0; + bitField1_ = (bitField1_ & ~0x00000001); + attackTargetName_ = ""; + bitField1_ = (bitField1_ & ~0x00000002); + attacksPerSecond_ = -1; + bitField1_ = (bitField1_ & ~0x00000004); + lastAttackTime_ = -1F; + bitField1_ = (bitField1_ & ~0x00000008); + bountyXp_ = 0; + bitField1_ = (bitField1_ & ~0x00000010); + bountyGoldMin_ = 0; + bitField1_ = (bitField1_ & ~0x00000020); + bountyGoldMax_ = 0; + bitField1_ = (bitField1_ & ~0x00000040); + isChanneling_ = false; + bitField1_ = (bitField1_ & ~0x00000080); + activeAbilityHandle_ = 0; + bitField1_ = (bitField1_ & ~0x00000100); + isAttackImmune_ = false; + bitField1_ = (bitField1_ & ~0x00000200); + isBlind_ = false; + bitField1_ = (bitField1_ & ~0x00000400); + isBlockDisabled_ = false; + bitField1_ = (bitField1_ & ~0x00000800); + isDisarmed_ = false; + bitField1_ = (bitField1_ & ~0x00001000); + isDominated_ = false; + bitField1_ = (bitField1_ & ~0x00002000); + isEvadeDisabled_ = false; + bitField1_ = (bitField1_ & ~0x00004000); + isHexed_ = false; + bitField1_ = (bitField1_ & ~0x00008000); + isInvisible_ = false; + bitField1_ = (bitField1_ & ~0x00010000); + isInvulnerable_ = false; + bitField1_ = (bitField1_ & ~0x00020000); + isMagicImmune_ = false; + bitField1_ = (bitField1_ & ~0x00040000); + isMuted_ = false; + bitField1_ = (bitField1_ & ~0x00080000); + isNightmared_ = false; + bitField1_ = (bitField1_ & ~0x00100000); + isRooted_ = false; + bitField1_ = (bitField1_ & ~0x00200000); + isSilenced_ = false; + bitField1_ = (bitField1_ & ~0x00400000); + isSpeciallyDeniable_ = false; + bitField1_ = (bitField1_ & ~0x00800000); + isStunned_ = false; + bitField1_ = (bitField1_ & ~0x01000000); + isUnableToMiss_ = false; + bitField1_ = (bitField1_ & ~0x02000000); + hasScepter_ = false; + bitField1_ = (bitField1_ & ~0x04000000); + if (abilitiesBuilder_ == null) { + abilities_ = java.util.Collections.emptyList(); + bitField1_ = (bitField1_ & ~0x08000000); + } else { + abilitiesBuilder_.clear(); + } + if (itemsBuilder_ == null) { + items_ = java.util.Collections.emptyList(); + bitField1_ = (bitField1_ & ~0x10000000); + } else { + itemsBuilder_.clear(); + } + if (modifiersBuilder_ == null) { + modifiers_ = java.util.Collections.emptyList(); + bitField1_ = (bitField1_ & ~0x20000000); + } else { + modifiersBuilder_.clear(); + } + if (incomingTrackingProjectilesBuilder_ == null) { + incomingTrackingProjectiles_ = java.util.Collections.emptyList(); + bitField1_ = (bitField1_ & ~0x40000000); + } else { + incomingTrackingProjectilesBuilder_.clear(); + } + actionType_ = 0; + bitField1_ = (bitField1_ & ~0x80000000); + abilityTargetHandle_ = 0; + bitField2_ = (bitField2_ & ~0x00000001); + abilityTargetName_ = ""; + bitField2_ = (bitField2_ & ~0x00000002); + isUsingAbility_ = false; + bitField2_ = (bitField2_ & ~0x00000004); + primaryAttribute_ = 0; + bitField2_ = (bitField2_ & ~0x00000008); + isIllusion_ = false; + bitField2_ = (bitField2_ & ~0x00000010); + respawnTime_ = 0F; + bitField2_ = (bitField2_ & ~0x00000020); + buybackCost_ = 0; + bitField2_ = (bitField2_ & ~0x00000040); + buybackCooldown_ = 0F; + bitField2_ = (bitField2_ & ~0x00000080); + spellAmplification_ = 0F; + bitField2_ = (bitField2_ & ~0x00000100); + armor_ = 0F; + bitField2_ = (bitField2_ & ~0x00000200); + magicResist_ = 0F; + bitField2_ = (bitField2_ & ~0x00000400); + evasion_ = 0F; + bitField2_ = (bitField2_ & ~0x00000800); + xpNeededToLevel_ = 0; + bitField2_ = (bitField2_ & ~0x00001000); + abilityPoints_ = 0; + bitField2_ = (bitField2_ & ~0x00002000); + reliableGold_ = -1; + bitField2_ = (bitField2_ & ~0x00004000); + unreliableGold_ = -1; + bitField2_ = (bitField2_ & ~0x00008000); + lastHits_ = 0; + bitField2_ = (bitField2_ & ~0x00010000); + denies_ = 0; + bitField2_ = (bitField2_ & ~0x00020000); + netWorth_ = 0; + bitField2_ = (bitField2_ & ~0x00040000); + strength_ = 0; + bitField2_ = (bitField2_ & ~0x00080000); + agility_ = 0; + bitField2_ = (bitField2_ & ~0x00100000); + intelligence_ = 0; + bitField2_ = (bitField2_ & ~0x00200000); + remainingLifespan_ = 0F; + bitField2_ = (bitField2_ & ~0x00400000); + flyingCourier_ = false; + bitField2_ = (bitField2_ & ~0x00800000); + shrineCooldown_ = 0F; + bitField2_ = (bitField2_ & ~0x01000000); + isShrineHealing_ = false; + bitField2_ = (bitField2_ & ~0x02000000); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Unit_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit(this); + int from_bitField0_ = bitField0_; + int from_bitField1_ = bitField1_; + int from_bitField2_ = bitField2_; + int to_bitField0_ = 0; + int to_bitField1_ = 0; + int to_bitField2_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.handle_ = handle_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + to_bitField0_ |= 0x00000002; + } + result.unitType_ = unitType_; + if (((from_bitField0_ & 0x00000004) != 0)) { + to_bitField0_ |= 0x00000004; + } + result.name_ = name_; + if (((from_bitField0_ & 0x00000008) != 0)) { + result.teamId_ = teamId_; + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.level_ = level_; + to_bitField0_ |= 0x00000010; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + if (locationBuilder_ == null) { + result.location_ = location_; + } else { + result.location_ = locationBuilder_.build(); + } + to_bitField0_ |= 0x00000020; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.isAlive_ = isAlive_; + to_bitField0_ |= 0x00000040; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.playerId_ = playerId_; + to_bitField0_ |= 0x00000080; + } + if (((from_bitField0_ & 0x00000100) != 0)) { + result.boundingRadius_ = boundingRadius_; + to_bitField0_ |= 0x00000100; + } + if (((from_bitField0_ & 0x00000200) != 0)) { + result.facing_ = facing_; + to_bitField0_ |= 0x00000200; + } + if (((from_bitField0_ & 0x00000400) != 0)) { + result.groundHeight_ = groundHeight_; + to_bitField0_ |= 0x00000400; + } + if (((from_bitField0_ & 0x00000800) != 0)) { + result.visionRangeDaytime_ = visionRangeDaytime_; + to_bitField0_ |= 0x00000800; + } + if (((from_bitField0_ & 0x00001000) != 0)) { + result.visionRangeNighttime_ = visionRangeNighttime_; + to_bitField0_ |= 0x00001000; + } + if (((from_bitField0_ & 0x00002000) != 0)) { + result.health_ = health_; + to_bitField0_ |= 0x00002000; + } + if (((from_bitField0_ & 0x00004000) != 0)) { + result.healthMax_ = healthMax_; + to_bitField0_ |= 0x00004000; + } + if (((from_bitField0_ & 0x00008000) != 0)) { + result.healthRegen_ = healthRegen_; + to_bitField0_ |= 0x00008000; + } + if (((from_bitField0_ & 0x00010000) != 0)) { + result.mana_ = mana_; + to_bitField0_ |= 0x00010000; + } + if (((from_bitField0_ & 0x00020000) != 0)) { + result.manaMax_ = manaMax_; + to_bitField0_ |= 0x00020000; + } + if (((from_bitField0_ & 0x00040000) != 0)) { + result.manaRegen_ = manaRegen_; + to_bitField0_ |= 0x00040000; + } + if (((from_bitField0_ & 0x00080000) != 0)) { + result.baseMovementSpeed_ = baseMovementSpeed_; + to_bitField0_ |= 0x00080000; + } + if (((from_bitField0_ & 0x00100000) != 0)) { + result.currentMovementSpeed_ = currentMovementSpeed_; + to_bitField0_ |= 0x00100000; + } + if (((from_bitField0_ & 0x00200000) != 0)) { + result.animActivity_ = animActivity_; + to_bitField0_ |= 0x00200000; + } + if (((from_bitField0_ & 0x00400000) != 0)) { + result.animCycle_ = animCycle_; + to_bitField0_ |= 0x00400000; + } + if (((from_bitField0_ & 0x00800000) != 0)) { + result.baseDamage_ = baseDamage_; + to_bitField0_ |= 0x00800000; + } + if (((from_bitField0_ & 0x01000000) != 0)) { + result.baseDamageVariance_ = baseDamageVariance_; + to_bitField0_ |= 0x01000000; + } + if (((from_bitField0_ & 0x02000000) != 0)) { + result.bonusDamage_ = bonusDamage_; + to_bitField0_ |= 0x02000000; + } + if (((from_bitField0_ & 0x04000000) != 0)) { + result.attackDamage_ = attackDamage_; + to_bitField0_ |= 0x04000000; + } + if (((from_bitField0_ & 0x08000000) != 0)) { + result.attackRange_ = attackRange_; + to_bitField0_ |= 0x08000000; + } + if (((from_bitField0_ & 0x10000000) != 0)) { + result.attackSpeed_ = attackSpeed_; + to_bitField0_ |= 0x10000000; + } + if (((from_bitField0_ & 0x20000000) != 0)) { + result.attackAnimPoint_ = attackAnimPoint_; + to_bitField0_ |= 0x20000000; + } + if (((from_bitField0_ & 0x40000000) != 0)) { + result.attackAcquisitionRange_ = attackAcquisitionRange_; + to_bitField0_ |= 0x40000000; + } + if (((from_bitField0_ & 0x80000000) != 0)) { + result.attackProjectileSpeed_ = attackProjectileSpeed_; + to_bitField0_ |= 0x80000000; + } + if (((from_bitField1_ & 0x00000001) != 0)) { + result.attackTargetHandle_ = attackTargetHandle_; + to_bitField1_ |= 0x00000001; + } + if (((from_bitField1_ & 0x00000002) != 0)) { + to_bitField1_ |= 0x00000002; + } + result.attackTargetName_ = attackTargetName_; + if (((from_bitField1_ & 0x00000004) != 0)) { + to_bitField1_ |= 0x00000004; + } + result.attacksPerSecond_ = attacksPerSecond_; + if (((from_bitField1_ & 0x00000008) != 0)) { + to_bitField1_ |= 0x00000008; + } + result.lastAttackTime_ = lastAttackTime_; + if (((from_bitField1_ & 0x00000010) != 0)) { + result.bountyXp_ = bountyXp_; + to_bitField1_ |= 0x00000010; + } + if (((from_bitField1_ & 0x00000020) != 0)) { + result.bountyGoldMin_ = bountyGoldMin_; + to_bitField1_ |= 0x00000020; + } + if (((from_bitField1_ & 0x00000040) != 0)) { + result.bountyGoldMax_ = bountyGoldMax_; + to_bitField1_ |= 0x00000040; + } + if (((from_bitField1_ & 0x00000080) != 0)) { + result.isChanneling_ = isChanneling_; + to_bitField1_ |= 0x00000080; + } + if (((from_bitField1_ & 0x00000100) != 0)) { + result.activeAbilityHandle_ = activeAbilityHandle_; + to_bitField1_ |= 0x00000100; + } + if (((from_bitField1_ & 0x00000200) != 0)) { + result.isAttackImmune_ = isAttackImmune_; + to_bitField1_ |= 0x00000200; + } + if (((from_bitField1_ & 0x00000400) != 0)) { + result.isBlind_ = isBlind_; + to_bitField1_ |= 0x00000400; + } + if (((from_bitField1_ & 0x00000800) != 0)) { + result.isBlockDisabled_ = isBlockDisabled_; + to_bitField1_ |= 0x00000800; + } + if (((from_bitField1_ & 0x00001000) != 0)) { + result.isDisarmed_ = isDisarmed_; + to_bitField1_ |= 0x00001000; + } + if (((from_bitField1_ & 0x00002000) != 0)) { + result.isDominated_ = isDominated_; + to_bitField1_ |= 0x00002000; + } + if (((from_bitField1_ & 0x00004000) != 0)) { + result.isEvadeDisabled_ = isEvadeDisabled_; + to_bitField1_ |= 0x00004000; + } + if (((from_bitField1_ & 0x00008000) != 0)) { + result.isHexed_ = isHexed_; + to_bitField1_ |= 0x00008000; + } + if (((from_bitField1_ & 0x00010000) != 0)) { + result.isInvisible_ = isInvisible_; + to_bitField1_ |= 0x00010000; + } + if (((from_bitField1_ & 0x00020000) != 0)) { + result.isInvulnerable_ = isInvulnerable_; + to_bitField1_ |= 0x00020000; + } + if (((from_bitField1_ & 0x00040000) != 0)) { + result.isMagicImmune_ = isMagicImmune_; + to_bitField1_ |= 0x00040000; + } + if (((from_bitField1_ & 0x00080000) != 0)) { + result.isMuted_ = isMuted_; + to_bitField1_ |= 0x00080000; + } + if (((from_bitField1_ & 0x00100000) != 0)) { + result.isNightmared_ = isNightmared_; + to_bitField1_ |= 0x00100000; + } + if (((from_bitField1_ & 0x00200000) != 0)) { + result.isRooted_ = isRooted_; + to_bitField1_ |= 0x00200000; + } + if (((from_bitField1_ & 0x00400000) != 0)) { + result.isSilenced_ = isSilenced_; + to_bitField1_ |= 0x00400000; + } + if (((from_bitField1_ & 0x00800000) != 0)) { + result.isSpeciallyDeniable_ = isSpeciallyDeniable_; + to_bitField1_ |= 0x00800000; + } + if (((from_bitField1_ & 0x01000000) != 0)) { + result.isStunned_ = isStunned_; + to_bitField1_ |= 0x01000000; + } + if (((from_bitField1_ & 0x02000000) != 0)) { + result.isUnableToMiss_ = isUnableToMiss_; + to_bitField1_ |= 0x02000000; + } + if (((from_bitField1_ & 0x04000000) != 0)) { + result.hasScepter_ = hasScepter_; + to_bitField1_ |= 0x04000000; + } + if (abilitiesBuilder_ == null) { + if (((bitField1_ & 0x08000000) != 0)) { + abilities_ = java.util.Collections.unmodifiableList(abilities_); + bitField1_ = (bitField1_ & ~0x08000000); + } + result.abilities_ = abilities_; + } else { + result.abilities_ = abilitiesBuilder_.build(); + } + if (itemsBuilder_ == null) { + if (((bitField1_ & 0x10000000) != 0)) { + items_ = java.util.Collections.unmodifiableList(items_); + bitField1_ = (bitField1_ & ~0x10000000); + } + result.items_ = items_; + } else { + result.items_ = itemsBuilder_.build(); + } + if (modifiersBuilder_ == null) { + if (((bitField1_ & 0x20000000) != 0)) { + modifiers_ = java.util.Collections.unmodifiableList(modifiers_); + bitField1_ = (bitField1_ & ~0x20000000); + } + result.modifiers_ = modifiers_; + } else { + result.modifiers_ = modifiersBuilder_.build(); + } + if (incomingTrackingProjectilesBuilder_ == null) { + if (((bitField1_ & 0x40000000) != 0)) { + incomingTrackingProjectiles_ = java.util.Collections.unmodifiableList(incomingTrackingProjectiles_); + bitField1_ = (bitField1_ & ~0x40000000); + } + result.incomingTrackingProjectiles_ = incomingTrackingProjectiles_; + } else { + result.incomingTrackingProjectiles_ = incomingTrackingProjectilesBuilder_.build(); + } + if (((from_bitField1_ & 0x80000000) != 0)) { + result.actionType_ = actionType_; + to_bitField1_ |= 0x08000000; + } + if (((from_bitField2_ & 0x00000001) != 0)) { + result.abilityTargetHandle_ = abilityTargetHandle_; + to_bitField1_ |= 0x10000000; + } + if (((from_bitField2_ & 0x00000002) != 0)) { + to_bitField1_ |= 0x20000000; + } + result.abilityTargetName_ = abilityTargetName_; + if (((from_bitField2_ & 0x00000004) != 0)) { + result.isUsingAbility_ = isUsingAbility_; + to_bitField1_ |= 0x40000000; + } + if (((from_bitField2_ & 0x00000008) != 0)) { + result.primaryAttribute_ = primaryAttribute_; + to_bitField1_ |= 0x80000000; + } + if (((from_bitField2_ & 0x00000010) != 0)) { + result.isIllusion_ = isIllusion_; + to_bitField2_ |= 0x00000001; + } + if (((from_bitField2_ & 0x00000020) != 0)) { + result.respawnTime_ = respawnTime_; + to_bitField2_ |= 0x00000002; + } + if (((from_bitField2_ & 0x00000040) != 0)) { + result.buybackCost_ = buybackCost_; + to_bitField2_ |= 0x00000004; + } + if (((from_bitField2_ & 0x00000080) != 0)) { + result.buybackCooldown_ = buybackCooldown_; + to_bitField2_ |= 0x00000008; + } + if (((from_bitField2_ & 0x00000100) != 0)) { + result.spellAmplification_ = spellAmplification_; + to_bitField2_ |= 0x00000010; + } + if (((from_bitField2_ & 0x00000200) != 0)) { + result.armor_ = armor_; + to_bitField2_ |= 0x00000020; + } + if (((from_bitField2_ & 0x00000400) != 0)) { + result.magicResist_ = magicResist_; + to_bitField2_ |= 0x00000040; + } + if (((from_bitField2_ & 0x00000800) != 0)) { + result.evasion_ = evasion_; + to_bitField2_ |= 0x00000080; + } + if (((from_bitField2_ & 0x00001000) != 0)) { + result.xpNeededToLevel_ = xpNeededToLevel_; + to_bitField2_ |= 0x00000100; + } + if (((from_bitField2_ & 0x00002000) != 0)) { + result.abilityPoints_ = abilityPoints_; + to_bitField2_ |= 0x00000200; + } + if (((from_bitField2_ & 0x00004000) != 0)) { + to_bitField2_ |= 0x00000400; + } + result.reliableGold_ = reliableGold_; + if (((from_bitField2_ & 0x00008000) != 0)) { + to_bitField2_ |= 0x00000800; + } + result.unreliableGold_ = unreliableGold_; + if (((from_bitField2_ & 0x00010000) != 0)) { + result.lastHits_ = lastHits_; + to_bitField2_ |= 0x00001000; + } + if (((from_bitField2_ & 0x00020000) != 0)) { + result.denies_ = denies_; + to_bitField2_ |= 0x00002000; + } + if (((from_bitField2_ & 0x00040000) != 0)) { + result.netWorth_ = netWorth_; + to_bitField2_ |= 0x00004000; + } + if (((from_bitField2_ & 0x00080000) != 0)) { + result.strength_ = strength_; + to_bitField2_ |= 0x00008000; + } + if (((from_bitField2_ & 0x00100000) != 0)) { + result.agility_ = agility_; + to_bitField2_ |= 0x00010000; + } + if (((from_bitField2_ & 0x00200000) != 0)) { + result.intelligence_ = intelligence_; + to_bitField2_ |= 0x00020000; + } + if (((from_bitField2_ & 0x00400000) != 0)) { + result.remainingLifespan_ = remainingLifespan_; + to_bitField2_ |= 0x00040000; + } + if (((from_bitField2_ & 0x00800000) != 0)) { + result.flyingCourier_ = flyingCourier_; + to_bitField2_ |= 0x00080000; + } + if (((from_bitField2_ & 0x01000000) != 0)) { + result.shrineCooldown_ = shrineCooldown_; + to_bitField2_ |= 0x00100000; + } + if (((from_bitField2_ & 0x02000000) != 0)) { + result.isShrineHealing_ = isShrineHealing_; + to_bitField2_ |= 0x00200000; + } + result.bitField0_ = to_bitField0_; + result.bitField1_ = to_bitField1_; + result.bitField2_ = to_bitField2_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.getDefaultInstance()) return this; + if (other.hasHandle()) { + setHandle(other.getHandle()); + } + if (other.hasUnitType()) { + setUnitType(other.getUnitType()); + } + if (other.hasName()) { + bitField0_ |= 0x00000004; + name_ = other.name_; + onChanged(); + } + if (other.hasTeamId()) { + setTeamId(other.getTeamId()); + } + if (other.hasLevel()) { + setLevel(other.getLevel()); + } + if (other.hasLocation()) { + mergeLocation(other.getLocation()); + } + if (other.hasIsAlive()) { + setIsAlive(other.getIsAlive()); + } + if (other.hasPlayerId()) { + setPlayerId(other.getPlayerId()); + } + if (other.hasBoundingRadius()) { + setBoundingRadius(other.getBoundingRadius()); + } + if (other.hasFacing()) { + setFacing(other.getFacing()); + } + if (other.hasGroundHeight()) { + setGroundHeight(other.getGroundHeight()); + } + if (other.hasVisionRangeDaytime()) { + setVisionRangeDaytime(other.getVisionRangeDaytime()); + } + if (other.hasVisionRangeNighttime()) { + setVisionRangeNighttime(other.getVisionRangeNighttime()); + } + if (other.hasHealth()) { + setHealth(other.getHealth()); + } + if (other.hasHealthMax()) { + setHealthMax(other.getHealthMax()); + } + if (other.hasHealthRegen()) { + setHealthRegen(other.getHealthRegen()); + } + if (other.hasMana()) { + setMana(other.getMana()); + } + if (other.hasManaMax()) { + setManaMax(other.getManaMax()); + } + if (other.hasManaRegen()) { + setManaRegen(other.getManaRegen()); + } + if (other.hasBaseMovementSpeed()) { + setBaseMovementSpeed(other.getBaseMovementSpeed()); + } + if (other.hasCurrentMovementSpeed()) { + setCurrentMovementSpeed(other.getCurrentMovementSpeed()); + } + if (other.hasAnimActivity()) { + setAnimActivity(other.getAnimActivity()); + } + if (other.hasAnimCycle()) { + setAnimCycle(other.getAnimCycle()); + } + if (other.hasBaseDamage()) { + setBaseDamage(other.getBaseDamage()); + } + if (other.hasBaseDamageVariance()) { + setBaseDamageVariance(other.getBaseDamageVariance()); + } + if (other.hasBonusDamage()) { + setBonusDamage(other.getBonusDamage()); + } + if (other.hasAttackDamage()) { + setAttackDamage(other.getAttackDamage()); + } + if (other.hasAttackRange()) { + setAttackRange(other.getAttackRange()); + } + if (other.hasAttackSpeed()) { + setAttackSpeed(other.getAttackSpeed()); + } + if (other.hasAttackAnimPoint()) { + setAttackAnimPoint(other.getAttackAnimPoint()); + } + if (other.hasAttackAcquisitionRange()) { + setAttackAcquisitionRange(other.getAttackAcquisitionRange()); + } + if (other.hasAttackProjectileSpeed()) { + setAttackProjectileSpeed(other.getAttackProjectileSpeed()); + } + if (other.hasAttackTargetHandle()) { + setAttackTargetHandle(other.getAttackTargetHandle()); + } + if (other.hasAttackTargetName()) { + bitField1_ |= 0x00000002; + attackTargetName_ = other.attackTargetName_; + onChanged(); + } + if (other.hasAttacksPerSecond()) { + setAttacksPerSecond(other.getAttacksPerSecond()); + } + if (other.hasLastAttackTime()) { + setLastAttackTime(other.getLastAttackTime()); + } + if (other.hasBountyXp()) { + setBountyXp(other.getBountyXp()); + } + if (other.hasBountyGoldMin()) { + setBountyGoldMin(other.getBountyGoldMin()); + } + if (other.hasBountyGoldMax()) { + setBountyGoldMax(other.getBountyGoldMax()); + } + if (other.hasIsChanneling()) { + setIsChanneling(other.getIsChanneling()); + } + if (other.hasActiveAbilityHandle()) { + setActiveAbilityHandle(other.getActiveAbilityHandle()); + } + if (other.hasIsAttackImmune()) { + setIsAttackImmune(other.getIsAttackImmune()); + } + if (other.hasIsBlind()) { + setIsBlind(other.getIsBlind()); + } + if (other.hasIsBlockDisabled()) { + setIsBlockDisabled(other.getIsBlockDisabled()); + } + if (other.hasIsDisarmed()) { + setIsDisarmed(other.getIsDisarmed()); + } + if (other.hasIsDominated()) { + setIsDominated(other.getIsDominated()); + } + if (other.hasIsEvadeDisabled()) { + setIsEvadeDisabled(other.getIsEvadeDisabled()); + } + if (other.hasIsHexed()) { + setIsHexed(other.getIsHexed()); + } + if (other.hasIsInvisible()) { + setIsInvisible(other.getIsInvisible()); + } + if (other.hasIsInvulnerable()) { + setIsInvulnerable(other.getIsInvulnerable()); + } + if (other.hasIsMagicImmune()) { + setIsMagicImmune(other.getIsMagicImmune()); + } + if (other.hasIsMuted()) { + setIsMuted(other.getIsMuted()); + } + if (other.hasIsNightmared()) { + setIsNightmared(other.getIsNightmared()); + } + if (other.hasIsRooted()) { + setIsRooted(other.getIsRooted()); + } + if (other.hasIsSilenced()) { + setIsSilenced(other.getIsSilenced()); + } + if (other.hasIsSpeciallyDeniable()) { + setIsSpeciallyDeniable(other.getIsSpeciallyDeniable()); + } + if (other.hasIsStunned()) { + setIsStunned(other.getIsStunned()); + } + if (other.hasIsUnableToMiss()) { + setIsUnableToMiss(other.getIsUnableToMiss()); + } + if (other.hasHasScepter()) { + setHasScepter(other.getHasScepter()); + } + if (abilitiesBuilder_ == null) { + if (!other.abilities_.isEmpty()) { + if (abilities_.isEmpty()) { + abilities_ = other.abilities_; + bitField1_ = (bitField1_ & ~0x08000000); + } else { + ensureAbilitiesIsMutable(); + abilities_.addAll(other.abilities_); + } + onChanged(); + } + } else { + if (!other.abilities_.isEmpty()) { + if (abilitiesBuilder_.isEmpty()) { + abilitiesBuilder_.dispose(); + abilitiesBuilder_ = null; + abilities_ = other.abilities_; + bitField1_ = (bitField1_ & ~0x08000000); + abilitiesBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getAbilitiesFieldBuilder() : null; + } else { + abilitiesBuilder_.addAllMessages(other.abilities_); + } + } + } + if (itemsBuilder_ == null) { + if (!other.items_.isEmpty()) { + if (items_.isEmpty()) { + items_ = other.items_; + bitField1_ = (bitField1_ & ~0x10000000); + } else { + ensureItemsIsMutable(); + items_.addAll(other.items_); + } + onChanged(); + } + } else { + if (!other.items_.isEmpty()) { + if (itemsBuilder_.isEmpty()) { + itemsBuilder_.dispose(); + itemsBuilder_ = null; + items_ = other.items_; + bitField1_ = (bitField1_ & ~0x10000000); + itemsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getItemsFieldBuilder() : null; + } else { + itemsBuilder_.addAllMessages(other.items_); + } + } + } + if (modifiersBuilder_ == null) { + if (!other.modifiers_.isEmpty()) { + if (modifiers_.isEmpty()) { + modifiers_ = other.modifiers_; + bitField1_ = (bitField1_ & ~0x20000000); + } else { + ensureModifiersIsMutable(); + modifiers_.addAll(other.modifiers_); + } + onChanged(); + } + } else { + if (!other.modifiers_.isEmpty()) { + if (modifiersBuilder_.isEmpty()) { + modifiersBuilder_.dispose(); + modifiersBuilder_ = null; + modifiers_ = other.modifiers_; + bitField1_ = (bitField1_ & ~0x20000000); + modifiersBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getModifiersFieldBuilder() : null; + } else { + modifiersBuilder_.addAllMessages(other.modifiers_); + } + } + } + if (incomingTrackingProjectilesBuilder_ == null) { + if (!other.incomingTrackingProjectiles_.isEmpty()) { + if (incomingTrackingProjectiles_.isEmpty()) { + incomingTrackingProjectiles_ = other.incomingTrackingProjectiles_; + bitField1_ = (bitField1_ & ~0x40000000); + } else { + ensureIncomingTrackingProjectilesIsMutable(); + incomingTrackingProjectiles_.addAll(other.incomingTrackingProjectiles_); + } + onChanged(); + } + } else { + if (!other.incomingTrackingProjectiles_.isEmpty()) { + if (incomingTrackingProjectilesBuilder_.isEmpty()) { + incomingTrackingProjectilesBuilder_.dispose(); + incomingTrackingProjectilesBuilder_ = null; + incomingTrackingProjectiles_ = other.incomingTrackingProjectiles_; + bitField1_ = (bitField1_ & ~0x40000000); + incomingTrackingProjectilesBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getIncomingTrackingProjectilesFieldBuilder() : null; + } else { + incomingTrackingProjectilesBuilder_.addAllMessages(other.incomingTrackingProjectiles_); + } + } + } + if (other.hasActionType()) { + setActionType(other.getActionType()); + } + if (other.hasAbilityTargetHandle()) { + setAbilityTargetHandle(other.getAbilityTargetHandle()); + } + if (other.hasAbilityTargetName()) { + bitField2_ |= 0x00000002; + abilityTargetName_ = other.abilityTargetName_; + onChanged(); + } + if (other.hasIsUsingAbility()) { + setIsUsingAbility(other.getIsUsingAbility()); + } + if (other.hasPrimaryAttribute()) { + setPrimaryAttribute(other.getPrimaryAttribute()); + } + if (other.hasIsIllusion()) { + setIsIllusion(other.getIsIllusion()); + } + if (other.hasRespawnTime()) { + setRespawnTime(other.getRespawnTime()); + } + if (other.hasBuybackCost()) { + setBuybackCost(other.getBuybackCost()); + } + if (other.hasBuybackCooldown()) { + setBuybackCooldown(other.getBuybackCooldown()); + } + if (other.hasSpellAmplification()) { + setSpellAmplification(other.getSpellAmplification()); + } + if (other.hasArmor()) { + setArmor(other.getArmor()); + } + if (other.hasMagicResist()) { + setMagicResist(other.getMagicResist()); + } + if (other.hasEvasion()) { + setEvasion(other.getEvasion()); + } + if (other.hasXpNeededToLevel()) { + setXpNeededToLevel(other.getXpNeededToLevel()); + } + if (other.hasAbilityPoints()) { + setAbilityPoints(other.getAbilityPoints()); + } + if (other.hasReliableGold()) { + setReliableGold(other.getReliableGold()); + } + if (other.hasUnreliableGold()) { + setUnreliableGold(other.getUnreliableGold()); + } + if (other.hasLastHits()) { + setLastHits(other.getLastHits()); + } + if (other.hasDenies()) { + setDenies(other.getDenies()); + } + if (other.hasNetWorth()) { + setNetWorth(other.getNetWorth()); + } + if (other.hasStrength()) { + setStrength(other.getStrength()); + } + if (other.hasAgility()) { + setAgility(other.getAgility()); + } + if (other.hasIntelligence()) { + setIntelligence(other.getIntelligence()); + } + if (other.hasRemainingLifespan()) { + setRemainingLifespan(other.getRemainingLifespan()); + } + if (other.hasFlyingCourier()) { + setFlyingCourier(other.getFlyingCourier()); + } + if (other.hasShrineCooldown()) { + setShrineCooldown(other.getShrineCooldown()); + } + if (other.hasIsShrineHealing()) { + setIsShrineHealing(other.getIsShrineHealing()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (hasLocation()) { + if (!getLocation().isInitialized()) { + return false; + } + } + for (int i = 0; i < getIncomingTrackingProjectilesCount(); i++) { + if (!getIncomingTrackingProjectiles(i).isInitialized()) { + return false; + } + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + private int bitField1_; + private int bitField2_; + + private int handle_ ; + /** + * <code>optional uint32 handle = 1;</code> + */ + public boolean hasHandle() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 handle = 1;</code> + */ + public int getHandle() { + return handle_; + } + /** + * <code>optional uint32 handle = 1;</code> + */ + public Builder setHandle(int value) { + bitField0_ |= 0x00000001; + handle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 handle = 1;</code> + */ + public Builder clearHandle() { + bitField0_ = (bitField0_ & ~0x00000001); + handle_ = 0; + onChanged(); + return this; + } + + private int unitType_ = 0; + /** + * <code>optional .CMsgBotWorldState.UnitType unit_type = 2 [default = INVALID];</code> + */ + public boolean hasUnitType() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional .CMsgBotWorldState.UnitType unit_type = 2 [default = INVALID];</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType getUnitType() { + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType result = CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.valueOf(unitType_); + return result == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType.INVALID : result; + } + /** + * <code>optional .CMsgBotWorldState.UnitType unit_type = 2 [default = INVALID];</code> + */ + public Builder setUnitType(CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitType value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + unitType_ = value.getNumber(); + onChanged(); + return this; + } + /** + * <code>optional .CMsgBotWorldState.UnitType unit_type = 2 [default = INVALID];</code> + */ + public Builder clearUnitType() { + bitField0_ = (bitField0_ & ~0x00000002); + unitType_ = 0; + onChanged(); + return this; + } + + private java.lang.Object name_ = ""; + /** + * <code>optional string name = 3;</code> + */ + public boolean hasName() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional string name = 3;</code> + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + name_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string name = 3;</code> + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string name = 3;</code> + */ + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + name_ = value; + onChanged(); + return this; + } + /** + * <code>optional string name = 3;</code> + */ + public Builder clearName() { + bitField0_ = (bitField0_ & ~0x00000004); + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * <code>optional string name = 3;</code> + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + name_ = value; + onChanged(); + return this; + } + + private int teamId_ ; + /** + * <code>optional uint32 team_id = 4;</code> + */ + public boolean hasTeamId() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional uint32 team_id = 4;</code> + */ + public int getTeamId() { + return teamId_; + } + /** + * <code>optional uint32 team_id = 4;</code> + */ + public Builder setTeamId(int value) { + bitField0_ |= 0x00000008; + teamId_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 team_id = 4;</code> + */ + public Builder clearTeamId() { + bitField0_ = (bitField0_ & ~0x00000008); + teamId_ = 0; + onChanged(); + return this; + } + + private int level_ ; + /** + * <code>optional uint32 level = 5;</code> + */ + public boolean hasLevel() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 level = 5;</code> + */ + public int getLevel() { + return level_; + } + /** + * <code>optional uint32 level = 5;</code> + */ + public Builder setLevel(int value) { + bitField0_ |= 0x00000010; + level_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 level = 5;</code> + */ + public Builder clearLevel() { + bitField0_ = (bitField0_ & ~0x00000010); + level_ = 0; + onChanged(); + return this; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> locationBuilder_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + if (locationBuilder_ == null) { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } else { + return locationBuilder_.getMessage(); + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public Builder setLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + onChanged(); + } else { + locationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public Builder setLocation( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (locationBuilder_ == null) { + location_ = builderForValue.build(); + onChanged(); + } else { + locationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public Builder mergeLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0) && + location_ != null && + location_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + location_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(location_).mergeFrom(value).buildPartial(); + } else { + location_ = value; + } + onChanged(); + } else { + locationBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000020; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public Builder clearLocation() { + if (locationBuilder_ == null) { + location_ = null; + onChanged(); + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000020); + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getLocationBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return getLocationFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + if (locationBuilder_ != null) { + return locationBuilder_.getMessageOrBuilder(); + } else { + return location_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 6;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getLocationFieldBuilder() { + if (locationBuilder_ == null) { + locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getLocation(), + getParentForChildren(), + isClean()); + location_ = null; + } + return locationBuilder_; + } + + private boolean isAlive_ ; + /** + * <code>optional bool is_alive = 7;</code> + */ + public boolean hasIsAlive() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>optional bool is_alive = 7;</code> + */ + public boolean getIsAlive() { + return isAlive_; + } + /** + * <code>optional bool is_alive = 7;</code> + */ + public Builder setIsAlive(boolean value) { + bitField0_ |= 0x00000040; + isAlive_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_alive = 7;</code> + */ + public Builder clearIsAlive() { + bitField0_ = (bitField0_ & ~0x00000040); + isAlive_ = false; + onChanged(); + return this; + } + + private int playerId_ ; + /** + * <code>optional int32 player_id = 8;</code> + */ + public boolean hasPlayerId() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>optional int32 player_id = 8;</code> + */ + public int getPlayerId() { + return playerId_; + } + /** + * <code>optional int32 player_id = 8;</code> + */ + public Builder setPlayerId(int value) { + bitField0_ |= 0x00000080; + playerId_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 player_id = 8;</code> + */ + public Builder clearPlayerId() { + bitField0_ = (bitField0_ & ~0x00000080); + playerId_ = 0; + onChanged(); + return this; + } + + private int boundingRadius_ ; + /** + * <code>optional int32 bounding_radius = 10;</code> + */ + public boolean hasBoundingRadius() { + return ((bitField0_ & 0x00000100) != 0); + } + /** + * <code>optional int32 bounding_radius = 10;</code> + */ + public int getBoundingRadius() { + return boundingRadius_; + } + /** + * <code>optional int32 bounding_radius = 10;</code> + */ + public Builder setBoundingRadius(int value) { + bitField0_ |= 0x00000100; + boundingRadius_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 bounding_radius = 10;</code> + */ + public Builder clearBoundingRadius() { + bitField0_ = (bitField0_ & ~0x00000100); + boundingRadius_ = 0; + onChanged(); + return this; + } + + private int facing_ ; + /** + * <code>optional int32 facing = 11;</code> + */ + public boolean hasFacing() { + return ((bitField0_ & 0x00000200) != 0); + } + /** + * <code>optional int32 facing = 11;</code> + */ + public int getFacing() { + return facing_; + } + /** + * <code>optional int32 facing = 11;</code> + */ + public Builder setFacing(int value) { + bitField0_ |= 0x00000200; + facing_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 facing = 11;</code> + */ + public Builder clearFacing() { + bitField0_ = (bitField0_ & ~0x00000200); + facing_ = 0; + onChanged(); + return this; + } + + private int groundHeight_ ; + /** + * <code>optional uint32 ground_height = 12;</code> + */ + public boolean hasGroundHeight() { + return ((bitField0_ & 0x00000400) != 0); + } + /** + * <code>optional uint32 ground_height = 12;</code> + */ + public int getGroundHeight() { + return groundHeight_; + } + /** + * <code>optional uint32 ground_height = 12;</code> + */ + public Builder setGroundHeight(int value) { + bitField0_ |= 0x00000400; + groundHeight_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 ground_height = 12;</code> + */ + public Builder clearGroundHeight() { + bitField0_ = (bitField0_ & ~0x00000400); + groundHeight_ = 0; + onChanged(); + return this; + } + + private int visionRangeDaytime_ ; + /** + * <code>optional uint32 vision_range_daytime = 15;</code> + */ + public boolean hasVisionRangeDaytime() { + return ((bitField0_ & 0x00000800) != 0); + } + /** + * <code>optional uint32 vision_range_daytime = 15;</code> + */ + public int getVisionRangeDaytime() { + return visionRangeDaytime_; + } + /** + * <code>optional uint32 vision_range_daytime = 15;</code> + */ + public Builder setVisionRangeDaytime(int value) { + bitField0_ |= 0x00000800; + visionRangeDaytime_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 vision_range_daytime = 15;</code> + */ + public Builder clearVisionRangeDaytime() { + bitField0_ = (bitField0_ & ~0x00000800); + visionRangeDaytime_ = 0; + onChanged(); + return this; + } + + private int visionRangeNighttime_ ; + /** + * <code>optional uint32 vision_range_nighttime = 16;</code> + */ + public boolean hasVisionRangeNighttime() { + return ((bitField0_ & 0x00001000) != 0); + } + /** + * <code>optional uint32 vision_range_nighttime = 16;</code> + */ + public int getVisionRangeNighttime() { + return visionRangeNighttime_; + } + /** + * <code>optional uint32 vision_range_nighttime = 16;</code> + */ + public Builder setVisionRangeNighttime(int value) { + bitField0_ |= 0x00001000; + visionRangeNighttime_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 vision_range_nighttime = 16;</code> + */ + public Builder clearVisionRangeNighttime() { + bitField0_ = (bitField0_ & ~0x00001000); + visionRangeNighttime_ = 0; + onChanged(); + return this; + } + + private int health_ ; + /** + * <code>optional int32 health = 20;</code> + */ + public boolean hasHealth() { + return ((bitField0_ & 0x00002000) != 0); + } + /** + * <code>optional int32 health = 20;</code> + */ + public int getHealth() { + return health_; + } + /** + * <code>optional int32 health = 20;</code> + */ + public Builder setHealth(int value) { + bitField0_ |= 0x00002000; + health_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 health = 20;</code> + */ + public Builder clearHealth() { + bitField0_ = (bitField0_ & ~0x00002000); + health_ = 0; + onChanged(); + return this; + } + + private int healthMax_ ; + /** + * <code>optional int32 health_max = 21;</code> + */ + public boolean hasHealthMax() { + return ((bitField0_ & 0x00004000) != 0); + } + /** + * <code>optional int32 health_max = 21;</code> + */ + public int getHealthMax() { + return healthMax_; + } + /** + * <code>optional int32 health_max = 21;</code> + */ + public Builder setHealthMax(int value) { + bitField0_ |= 0x00004000; + healthMax_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 health_max = 21;</code> + */ + public Builder clearHealthMax() { + bitField0_ = (bitField0_ & ~0x00004000); + healthMax_ = 0; + onChanged(); + return this; + } + + private float healthRegen_ ; + /** + * <code>optional float health_regen = 22;</code> + */ + public boolean hasHealthRegen() { + return ((bitField0_ & 0x00008000) != 0); + } + /** + * <code>optional float health_regen = 22;</code> + */ + public float getHealthRegen() { + return healthRegen_; + } + /** + * <code>optional float health_regen = 22;</code> + */ + public Builder setHealthRegen(float value) { + bitField0_ |= 0x00008000; + healthRegen_ = value; + onChanged(); + return this; + } + /** + * <code>optional float health_regen = 22;</code> + */ + public Builder clearHealthRegen() { + bitField0_ = (bitField0_ & ~0x00008000); + healthRegen_ = 0F; + onChanged(); + return this; + } + + private int mana_ ; + /** + * <code>optional int32 mana = 25;</code> + */ + public boolean hasMana() { + return ((bitField0_ & 0x00010000) != 0); + } + /** + * <code>optional int32 mana = 25;</code> + */ + public int getMana() { + return mana_; + } + /** + * <code>optional int32 mana = 25;</code> + */ + public Builder setMana(int value) { + bitField0_ |= 0x00010000; + mana_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 mana = 25;</code> + */ + public Builder clearMana() { + bitField0_ = (bitField0_ & ~0x00010000); + mana_ = 0; + onChanged(); + return this; + } + + private int manaMax_ ; + /** + * <code>optional int32 mana_max = 26;</code> + */ + public boolean hasManaMax() { + return ((bitField0_ & 0x00020000) != 0); + } + /** + * <code>optional int32 mana_max = 26;</code> + */ + public int getManaMax() { + return manaMax_; + } + /** + * <code>optional int32 mana_max = 26;</code> + */ + public Builder setManaMax(int value) { + bitField0_ |= 0x00020000; + manaMax_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 mana_max = 26;</code> + */ + public Builder clearManaMax() { + bitField0_ = (bitField0_ & ~0x00020000); + manaMax_ = 0; + onChanged(); + return this; + } + + private float manaRegen_ ; + /** + * <code>optional float mana_regen = 27;</code> + */ + public boolean hasManaRegen() { + return ((bitField0_ & 0x00040000) != 0); + } + /** + * <code>optional float mana_regen = 27;</code> + */ + public float getManaRegen() { + return manaRegen_; + } + /** + * <code>optional float mana_regen = 27;</code> + */ + public Builder setManaRegen(float value) { + bitField0_ |= 0x00040000; + manaRegen_ = value; + onChanged(); + return this; + } + /** + * <code>optional float mana_regen = 27;</code> + */ + public Builder clearManaRegen() { + bitField0_ = (bitField0_ & ~0x00040000); + manaRegen_ = 0F; + onChanged(); + return this; + } + + private int baseMovementSpeed_ ; + /** + * <code>optional int32 base_movement_speed = 30;</code> + */ + public boolean hasBaseMovementSpeed() { + return ((bitField0_ & 0x00080000) != 0); + } + /** + * <code>optional int32 base_movement_speed = 30;</code> + */ + public int getBaseMovementSpeed() { + return baseMovementSpeed_; + } + /** + * <code>optional int32 base_movement_speed = 30;</code> + */ + public Builder setBaseMovementSpeed(int value) { + bitField0_ |= 0x00080000; + baseMovementSpeed_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 base_movement_speed = 30;</code> + */ + public Builder clearBaseMovementSpeed() { + bitField0_ = (bitField0_ & ~0x00080000); + baseMovementSpeed_ = 0; + onChanged(); + return this; + } + + private int currentMovementSpeed_ ; + /** + * <code>optional int32 current_movement_speed = 31;</code> + */ + public boolean hasCurrentMovementSpeed() { + return ((bitField0_ & 0x00100000) != 0); + } + /** + * <code>optional int32 current_movement_speed = 31;</code> + */ + public int getCurrentMovementSpeed() { + return currentMovementSpeed_; + } + /** + * <code>optional int32 current_movement_speed = 31;</code> + */ + public Builder setCurrentMovementSpeed(int value) { + bitField0_ |= 0x00100000; + currentMovementSpeed_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 current_movement_speed = 31;</code> + */ + public Builder clearCurrentMovementSpeed() { + bitField0_ = (bitField0_ & ~0x00100000); + currentMovementSpeed_ = 0; + onChanged(); + return this; + } + + private int animActivity_ ; + /** + * <code>optional int32 anim_activity = 35;</code> + */ + public boolean hasAnimActivity() { + return ((bitField0_ & 0x00200000) != 0); + } + /** + * <code>optional int32 anim_activity = 35;</code> + */ + public int getAnimActivity() { + return animActivity_; + } + /** + * <code>optional int32 anim_activity = 35;</code> + */ + public Builder setAnimActivity(int value) { + bitField0_ |= 0x00200000; + animActivity_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 anim_activity = 35;</code> + */ + public Builder clearAnimActivity() { + bitField0_ = (bitField0_ & ~0x00200000); + animActivity_ = 0; + onChanged(); + return this; + } + + private float animCycle_ ; + /** + * <code>optional float anim_cycle = 36;</code> + */ + public boolean hasAnimCycle() { + return ((bitField0_ & 0x00400000) != 0); + } + /** + * <code>optional float anim_cycle = 36;</code> + */ + public float getAnimCycle() { + return animCycle_; + } + /** + * <code>optional float anim_cycle = 36;</code> + */ + public Builder setAnimCycle(float value) { + bitField0_ |= 0x00400000; + animCycle_ = value; + onChanged(); + return this; + } + /** + * <code>optional float anim_cycle = 36;</code> + */ + public Builder clearAnimCycle() { + bitField0_ = (bitField0_ & ~0x00400000); + animCycle_ = 0F; + onChanged(); + return this; + } + + private int baseDamage_ ; + /** + * <code>optional int32 base_damage = 40;</code> + */ + public boolean hasBaseDamage() { + return ((bitField0_ & 0x00800000) != 0); + } + /** + * <code>optional int32 base_damage = 40;</code> + */ + public int getBaseDamage() { + return baseDamage_; + } + /** + * <code>optional int32 base_damage = 40;</code> + */ + public Builder setBaseDamage(int value) { + bitField0_ |= 0x00800000; + baseDamage_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 base_damage = 40;</code> + */ + public Builder clearBaseDamage() { + bitField0_ = (bitField0_ & ~0x00800000); + baseDamage_ = 0; + onChanged(); + return this; + } + + private int baseDamageVariance_ ; + /** + * <code>optional int32 base_damage_variance = 41;</code> + */ + public boolean hasBaseDamageVariance() { + return ((bitField0_ & 0x01000000) != 0); + } + /** + * <code>optional int32 base_damage_variance = 41;</code> + */ + public int getBaseDamageVariance() { + return baseDamageVariance_; + } + /** + * <code>optional int32 base_damage_variance = 41;</code> + */ + public Builder setBaseDamageVariance(int value) { + bitField0_ |= 0x01000000; + baseDamageVariance_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 base_damage_variance = 41;</code> + */ + public Builder clearBaseDamageVariance() { + bitField0_ = (bitField0_ & ~0x01000000); + baseDamageVariance_ = 0; + onChanged(); + return this; + } + + private int bonusDamage_ ; + /** + * <code>optional int32 bonus_damage = 42;</code> + */ + public boolean hasBonusDamage() { + return ((bitField0_ & 0x02000000) != 0); + } + /** + * <code>optional int32 bonus_damage = 42;</code> + */ + public int getBonusDamage() { + return bonusDamage_; + } + /** + * <code>optional int32 bonus_damage = 42;</code> + */ + public Builder setBonusDamage(int value) { + bitField0_ |= 0x02000000; + bonusDamage_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 bonus_damage = 42;</code> + */ + public Builder clearBonusDamage() { + bitField0_ = (bitField0_ & ~0x02000000); + bonusDamage_ = 0; + onChanged(); + return this; + } + + private int attackDamage_ ; + /** + * <code>optional int32 attack_damage = 43;</code> + */ + public boolean hasAttackDamage() { + return ((bitField0_ & 0x04000000) != 0); + } + /** + * <code>optional int32 attack_damage = 43;</code> + */ + public int getAttackDamage() { + return attackDamage_; + } + /** + * <code>optional int32 attack_damage = 43;</code> + */ + public Builder setAttackDamage(int value) { + bitField0_ |= 0x04000000; + attackDamage_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 attack_damage = 43;</code> + */ + public Builder clearAttackDamage() { + bitField0_ = (bitField0_ & ~0x04000000); + attackDamage_ = 0; + onChanged(); + return this; + } + + private int attackRange_ ; + /** + * <code>optional int32 attack_range = 44;</code> + */ + public boolean hasAttackRange() { + return ((bitField0_ & 0x08000000) != 0); + } + /** + * <code>optional int32 attack_range = 44;</code> + */ + public int getAttackRange() { + return attackRange_; + } + /** + * <code>optional int32 attack_range = 44;</code> + */ + public Builder setAttackRange(int value) { + bitField0_ |= 0x08000000; + attackRange_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 attack_range = 44;</code> + */ + public Builder clearAttackRange() { + bitField0_ = (bitField0_ & ~0x08000000); + attackRange_ = 0; + onChanged(); + return this; + } + + private float attackSpeed_ ; + /** + * <code>optional float attack_speed = 45;</code> + */ + public boolean hasAttackSpeed() { + return ((bitField0_ & 0x10000000) != 0); + } + /** + * <code>optional float attack_speed = 45;</code> + */ + public float getAttackSpeed() { + return attackSpeed_; + } + /** + * <code>optional float attack_speed = 45;</code> + */ + public Builder setAttackSpeed(float value) { + bitField0_ |= 0x10000000; + attackSpeed_ = value; + onChanged(); + return this; + } + /** + * <code>optional float attack_speed = 45;</code> + */ + public Builder clearAttackSpeed() { + bitField0_ = (bitField0_ & ~0x10000000); + attackSpeed_ = 0F; + onChanged(); + return this; + } + + private float attackAnimPoint_ ; + /** + * <code>optional float attack_anim_point = 46;</code> + */ + public boolean hasAttackAnimPoint() { + return ((bitField0_ & 0x20000000) != 0); + } + /** + * <code>optional float attack_anim_point = 46;</code> + */ + public float getAttackAnimPoint() { + return attackAnimPoint_; + } + /** + * <code>optional float attack_anim_point = 46;</code> + */ + public Builder setAttackAnimPoint(float value) { + bitField0_ |= 0x20000000; + attackAnimPoint_ = value; + onChanged(); + return this; + } + /** + * <code>optional float attack_anim_point = 46;</code> + */ + public Builder clearAttackAnimPoint() { + bitField0_ = (bitField0_ & ~0x20000000); + attackAnimPoint_ = 0F; + onChanged(); + return this; + } + + private int attackAcquisitionRange_ ; + /** + * <code>optional int32 attack_acquisition_range = 47;</code> + */ + public boolean hasAttackAcquisitionRange() { + return ((bitField0_ & 0x40000000) != 0); + } + /** + * <code>optional int32 attack_acquisition_range = 47;</code> + */ + public int getAttackAcquisitionRange() { + return attackAcquisitionRange_; + } + /** + * <code>optional int32 attack_acquisition_range = 47;</code> + */ + public Builder setAttackAcquisitionRange(int value) { + bitField0_ |= 0x40000000; + attackAcquisitionRange_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 attack_acquisition_range = 47;</code> + */ + public Builder clearAttackAcquisitionRange() { + bitField0_ = (bitField0_ & ~0x40000000); + attackAcquisitionRange_ = 0; + onChanged(); + return this; + } + + private int attackProjectileSpeed_ ; + /** + * <code>optional int32 attack_projectile_speed = 48;</code> + */ + public boolean hasAttackProjectileSpeed() { + return ((bitField0_ & 0x80000000) != 0); + } + /** + * <code>optional int32 attack_projectile_speed = 48;</code> + */ + public int getAttackProjectileSpeed() { + return attackProjectileSpeed_; + } + /** + * <code>optional int32 attack_projectile_speed = 48;</code> + */ + public Builder setAttackProjectileSpeed(int value) { + bitField0_ |= 0x80000000; + attackProjectileSpeed_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 attack_projectile_speed = 48;</code> + */ + public Builder clearAttackProjectileSpeed() { + bitField0_ = (bitField0_ & ~0x80000000); + attackProjectileSpeed_ = 0; + onChanged(); + return this; + } + + private int attackTargetHandle_ ; + /** + * <code>optional uint32 attack_target_handle = 49;</code> + */ + public boolean hasAttackTargetHandle() { + return ((bitField1_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 attack_target_handle = 49;</code> + */ + public int getAttackTargetHandle() { + return attackTargetHandle_; + } + /** + * <code>optional uint32 attack_target_handle = 49;</code> + */ + public Builder setAttackTargetHandle(int value) { + bitField1_ |= 0x00000001; + attackTargetHandle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 attack_target_handle = 49;</code> + */ + public Builder clearAttackTargetHandle() { + bitField1_ = (bitField1_ & ~0x00000001); + attackTargetHandle_ = 0; + onChanged(); + return this; + } + + private java.lang.Object attackTargetName_ = ""; + /** + * <code>optional string attack_target_name = 52;</code> + */ + public boolean hasAttackTargetName() { + return ((bitField1_ & 0x00000002) != 0); + } + /** + * <code>optional string attack_target_name = 52;</code> + */ + public java.lang.String getAttackTargetName() { + java.lang.Object ref = attackTargetName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + attackTargetName_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string attack_target_name = 52;</code> + */ + public com.google.protobuf.ByteString + getAttackTargetNameBytes() { + java.lang.Object ref = attackTargetName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + attackTargetName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string attack_target_name = 52;</code> + */ + public Builder setAttackTargetName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField1_ |= 0x00000002; + attackTargetName_ = value; + onChanged(); + return this; + } + /** + * <code>optional string attack_target_name = 52;</code> + */ + public Builder clearAttackTargetName() { + bitField1_ = (bitField1_ & ~0x00000002); + attackTargetName_ = getDefaultInstance().getAttackTargetName(); + onChanged(); + return this; + } + /** + * <code>optional string attack_target_name = 52;</code> + */ + public Builder setAttackTargetNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField1_ |= 0x00000002; + attackTargetName_ = value; + onChanged(); + return this; + } + + private int attacksPerSecond_ = -1; + /** + * <code>optional int32 attacks_per_second = 50 [default = -1];</code> + */ + public boolean hasAttacksPerSecond() { + return ((bitField1_ & 0x00000004) != 0); + } + /** + * <code>optional int32 attacks_per_second = 50 [default = -1];</code> + */ + public int getAttacksPerSecond() { + return attacksPerSecond_; + } + /** + * <code>optional int32 attacks_per_second = 50 [default = -1];</code> + */ + public Builder setAttacksPerSecond(int value) { + bitField1_ |= 0x00000004; + attacksPerSecond_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 attacks_per_second = 50 [default = -1];</code> + */ + public Builder clearAttacksPerSecond() { + bitField1_ = (bitField1_ & ~0x00000004); + attacksPerSecond_ = -1; + onChanged(); + return this; + } + + private float lastAttackTime_ = -1F; + /** + * <code>optional float last_attack_time = 51 [default = -1];</code> + */ + public boolean hasLastAttackTime() { + return ((bitField1_ & 0x00000008) != 0); + } + /** + * <code>optional float last_attack_time = 51 [default = -1];</code> + */ + public float getLastAttackTime() { + return lastAttackTime_; + } + /** + * <code>optional float last_attack_time = 51 [default = -1];</code> + */ + public Builder setLastAttackTime(float value) { + bitField1_ |= 0x00000008; + lastAttackTime_ = value; + onChanged(); + return this; + } + /** + * <code>optional float last_attack_time = 51 [default = -1];</code> + */ + public Builder clearLastAttackTime() { + bitField1_ = (bitField1_ & ~0x00000008); + lastAttackTime_ = -1F; + onChanged(); + return this; + } + + private int bountyXp_ ; + /** + * <code>optional uint32 bounty_xp = 60;</code> + */ + public boolean hasBountyXp() { + return ((bitField1_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 bounty_xp = 60;</code> + */ + public int getBountyXp() { + return bountyXp_; + } + /** + * <code>optional uint32 bounty_xp = 60;</code> + */ + public Builder setBountyXp(int value) { + bitField1_ |= 0x00000010; + bountyXp_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 bounty_xp = 60;</code> + */ + public Builder clearBountyXp() { + bitField1_ = (bitField1_ & ~0x00000010); + bountyXp_ = 0; + onChanged(); + return this; + } + + private int bountyGoldMin_ ; + /** + * <code>optional uint32 bounty_gold_min = 61;</code> + */ + public boolean hasBountyGoldMin() { + return ((bitField1_ & 0x00000020) != 0); + } + /** + * <code>optional uint32 bounty_gold_min = 61;</code> + */ + public int getBountyGoldMin() { + return bountyGoldMin_; + } + /** + * <code>optional uint32 bounty_gold_min = 61;</code> + */ + public Builder setBountyGoldMin(int value) { + bitField1_ |= 0x00000020; + bountyGoldMin_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 bounty_gold_min = 61;</code> + */ + public Builder clearBountyGoldMin() { + bitField1_ = (bitField1_ & ~0x00000020); + bountyGoldMin_ = 0; + onChanged(); + return this; + } + + private int bountyGoldMax_ ; + /** + * <code>optional uint32 bounty_gold_max = 62;</code> + */ + public boolean hasBountyGoldMax() { + return ((bitField1_ & 0x00000040) != 0); + } + /** + * <code>optional uint32 bounty_gold_max = 62;</code> + */ + public int getBountyGoldMax() { + return bountyGoldMax_; + } + /** + * <code>optional uint32 bounty_gold_max = 62;</code> + */ + public Builder setBountyGoldMax(int value) { + bitField1_ |= 0x00000040; + bountyGoldMax_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 bounty_gold_max = 62;</code> + */ + public Builder clearBountyGoldMax() { + bitField1_ = (bitField1_ & ~0x00000040); + bountyGoldMax_ = 0; + onChanged(); + return this; + } + + private boolean isChanneling_ ; + /** + * <code>optional bool is_channeling = 65;</code> + */ + public boolean hasIsChanneling() { + return ((bitField1_ & 0x00000080) != 0); + } + /** + * <code>optional bool is_channeling = 65;</code> + */ + public boolean getIsChanneling() { + return isChanneling_; + } + /** + * <code>optional bool is_channeling = 65;</code> + */ + public Builder setIsChanneling(boolean value) { + bitField1_ |= 0x00000080; + isChanneling_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_channeling = 65;</code> + */ + public Builder clearIsChanneling() { + bitField1_ = (bitField1_ & ~0x00000080); + isChanneling_ = false; + onChanged(); + return this; + } + + private int activeAbilityHandle_ ; + /** + * <code>optional uint32 active_ability_handle = 66;</code> + */ + public boolean hasActiveAbilityHandle() { + return ((bitField1_ & 0x00000100) != 0); + } + /** + * <code>optional uint32 active_ability_handle = 66;</code> + */ + public int getActiveAbilityHandle() { + return activeAbilityHandle_; + } + /** + * <code>optional uint32 active_ability_handle = 66;</code> + */ + public Builder setActiveAbilityHandle(int value) { + bitField1_ |= 0x00000100; + activeAbilityHandle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 active_ability_handle = 66;</code> + */ + public Builder clearActiveAbilityHandle() { + bitField1_ = (bitField1_ & ~0x00000100); + activeAbilityHandle_ = 0; + onChanged(); + return this; + } + + private boolean isAttackImmune_ ; + /** + * <code>optional bool is_attack_immune = 70;</code> + */ + public boolean hasIsAttackImmune() { + return ((bitField1_ & 0x00000200) != 0); + } + /** + * <code>optional bool is_attack_immune = 70;</code> + */ + public boolean getIsAttackImmune() { + return isAttackImmune_; + } + /** + * <code>optional bool is_attack_immune = 70;</code> + */ + public Builder setIsAttackImmune(boolean value) { + bitField1_ |= 0x00000200; + isAttackImmune_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_attack_immune = 70;</code> + */ + public Builder clearIsAttackImmune() { + bitField1_ = (bitField1_ & ~0x00000200); + isAttackImmune_ = false; + onChanged(); + return this; + } + + private boolean isBlind_ ; + /** + * <code>optional bool is_blind = 71;</code> + */ + public boolean hasIsBlind() { + return ((bitField1_ & 0x00000400) != 0); + } + /** + * <code>optional bool is_blind = 71;</code> + */ + public boolean getIsBlind() { + return isBlind_; + } + /** + * <code>optional bool is_blind = 71;</code> + */ + public Builder setIsBlind(boolean value) { + bitField1_ |= 0x00000400; + isBlind_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_blind = 71;</code> + */ + public Builder clearIsBlind() { + bitField1_ = (bitField1_ & ~0x00000400); + isBlind_ = false; + onChanged(); + return this; + } + + private boolean isBlockDisabled_ ; + /** + * <code>optional bool is_block_disabled = 72;</code> + */ + public boolean hasIsBlockDisabled() { + return ((bitField1_ & 0x00000800) != 0); + } + /** + * <code>optional bool is_block_disabled = 72;</code> + */ + public boolean getIsBlockDisabled() { + return isBlockDisabled_; + } + /** + * <code>optional bool is_block_disabled = 72;</code> + */ + public Builder setIsBlockDisabled(boolean value) { + bitField1_ |= 0x00000800; + isBlockDisabled_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_block_disabled = 72;</code> + */ + public Builder clearIsBlockDisabled() { + bitField1_ = (bitField1_ & ~0x00000800); + isBlockDisabled_ = false; + onChanged(); + return this; + } + + private boolean isDisarmed_ ; + /** + * <code>optional bool is_disarmed = 73;</code> + */ + public boolean hasIsDisarmed() { + return ((bitField1_ & 0x00001000) != 0); + } + /** + * <code>optional bool is_disarmed = 73;</code> + */ + public boolean getIsDisarmed() { + return isDisarmed_; + } + /** + * <code>optional bool is_disarmed = 73;</code> + */ + public Builder setIsDisarmed(boolean value) { + bitField1_ |= 0x00001000; + isDisarmed_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_disarmed = 73;</code> + */ + public Builder clearIsDisarmed() { + bitField1_ = (bitField1_ & ~0x00001000); + isDisarmed_ = false; + onChanged(); + return this; + } + + private boolean isDominated_ ; + /** + * <code>optional bool is_dominated = 74;</code> + */ + public boolean hasIsDominated() { + return ((bitField1_ & 0x00002000) != 0); + } + /** + * <code>optional bool is_dominated = 74;</code> + */ + public boolean getIsDominated() { + return isDominated_; + } + /** + * <code>optional bool is_dominated = 74;</code> + */ + public Builder setIsDominated(boolean value) { + bitField1_ |= 0x00002000; + isDominated_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_dominated = 74;</code> + */ + public Builder clearIsDominated() { + bitField1_ = (bitField1_ & ~0x00002000); + isDominated_ = false; + onChanged(); + return this; + } + + private boolean isEvadeDisabled_ ; + /** + * <code>optional bool is_evade_disabled = 75;</code> + */ + public boolean hasIsEvadeDisabled() { + return ((bitField1_ & 0x00004000) != 0); + } + /** + * <code>optional bool is_evade_disabled = 75;</code> + */ + public boolean getIsEvadeDisabled() { + return isEvadeDisabled_; + } + /** + * <code>optional bool is_evade_disabled = 75;</code> + */ + public Builder setIsEvadeDisabled(boolean value) { + bitField1_ |= 0x00004000; + isEvadeDisabled_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_evade_disabled = 75;</code> + */ + public Builder clearIsEvadeDisabled() { + bitField1_ = (bitField1_ & ~0x00004000); + isEvadeDisabled_ = false; + onChanged(); + return this; + } + + private boolean isHexed_ ; + /** + * <code>optional bool is_hexed = 76;</code> + */ + public boolean hasIsHexed() { + return ((bitField1_ & 0x00008000) != 0); + } + /** + * <code>optional bool is_hexed = 76;</code> + */ + public boolean getIsHexed() { + return isHexed_; + } + /** + * <code>optional bool is_hexed = 76;</code> + */ + public Builder setIsHexed(boolean value) { + bitField1_ |= 0x00008000; + isHexed_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_hexed = 76;</code> + */ + public Builder clearIsHexed() { + bitField1_ = (bitField1_ & ~0x00008000); + isHexed_ = false; + onChanged(); + return this; + } + + private boolean isInvisible_ ; + /** + * <code>optional bool is_invisible = 77;</code> + */ + public boolean hasIsInvisible() { + return ((bitField1_ & 0x00010000) != 0); + } + /** + * <code>optional bool is_invisible = 77;</code> + */ + public boolean getIsInvisible() { + return isInvisible_; + } + /** + * <code>optional bool is_invisible = 77;</code> + */ + public Builder setIsInvisible(boolean value) { + bitField1_ |= 0x00010000; + isInvisible_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_invisible = 77;</code> + */ + public Builder clearIsInvisible() { + bitField1_ = (bitField1_ & ~0x00010000); + isInvisible_ = false; + onChanged(); + return this; + } + + private boolean isInvulnerable_ ; + /** + * <code>optional bool is_invulnerable = 78;</code> + */ + public boolean hasIsInvulnerable() { + return ((bitField1_ & 0x00020000) != 0); + } + /** + * <code>optional bool is_invulnerable = 78;</code> + */ + public boolean getIsInvulnerable() { + return isInvulnerable_; + } + /** + * <code>optional bool is_invulnerable = 78;</code> + */ + public Builder setIsInvulnerable(boolean value) { + bitField1_ |= 0x00020000; + isInvulnerable_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_invulnerable = 78;</code> + */ + public Builder clearIsInvulnerable() { + bitField1_ = (bitField1_ & ~0x00020000); + isInvulnerable_ = false; + onChanged(); + return this; + } + + private boolean isMagicImmune_ ; + /** + * <code>optional bool is_magic_immune = 79;</code> + */ + public boolean hasIsMagicImmune() { + return ((bitField1_ & 0x00040000) != 0); + } + /** + * <code>optional bool is_magic_immune = 79;</code> + */ + public boolean getIsMagicImmune() { + return isMagicImmune_; + } + /** + * <code>optional bool is_magic_immune = 79;</code> + */ + public Builder setIsMagicImmune(boolean value) { + bitField1_ |= 0x00040000; + isMagicImmune_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_magic_immune = 79;</code> + */ + public Builder clearIsMagicImmune() { + bitField1_ = (bitField1_ & ~0x00040000); + isMagicImmune_ = false; + onChanged(); + return this; + } + + private boolean isMuted_ ; + /** + * <code>optional bool is_muted = 80;</code> + */ + public boolean hasIsMuted() { + return ((bitField1_ & 0x00080000) != 0); + } + /** + * <code>optional bool is_muted = 80;</code> + */ + public boolean getIsMuted() { + return isMuted_; + } + /** + * <code>optional bool is_muted = 80;</code> + */ + public Builder setIsMuted(boolean value) { + bitField1_ |= 0x00080000; + isMuted_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_muted = 80;</code> + */ + public Builder clearIsMuted() { + bitField1_ = (bitField1_ & ~0x00080000); + isMuted_ = false; + onChanged(); + return this; + } + + private boolean isNightmared_ ; + /** + * <code>optional bool is_nightmared = 82;</code> + */ + public boolean hasIsNightmared() { + return ((bitField1_ & 0x00100000) != 0); + } + /** + * <code>optional bool is_nightmared = 82;</code> + */ + public boolean getIsNightmared() { + return isNightmared_; + } + /** + * <code>optional bool is_nightmared = 82;</code> + */ + public Builder setIsNightmared(boolean value) { + bitField1_ |= 0x00100000; + isNightmared_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_nightmared = 82;</code> + */ + public Builder clearIsNightmared() { + bitField1_ = (bitField1_ & ~0x00100000); + isNightmared_ = false; + onChanged(); + return this; + } + + private boolean isRooted_ ; + /** + * <code>optional bool is_rooted = 83;</code> + */ + public boolean hasIsRooted() { + return ((bitField1_ & 0x00200000) != 0); + } + /** + * <code>optional bool is_rooted = 83;</code> + */ + public boolean getIsRooted() { + return isRooted_; + } + /** + * <code>optional bool is_rooted = 83;</code> + */ + public Builder setIsRooted(boolean value) { + bitField1_ |= 0x00200000; + isRooted_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_rooted = 83;</code> + */ + public Builder clearIsRooted() { + bitField1_ = (bitField1_ & ~0x00200000); + isRooted_ = false; + onChanged(); + return this; + } + + private boolean isSilenced_ ; + /** + * <code>optional bool is_silenced = 84;</code> + */ + public boolean hasIsSilenced() { + return ((bitField1_ & 0x00400000) != 0); + } + /** + * <code>optional bool is_silenced = 84;</code> + */ + public boolean getIsSilenced() { + return isSilenced_; + } + /** + * <code>optional bool is_silenced = 84;</code> + */ + public Builder setIsSilenced(boolean value) { + bitField1_ |= 0x00400000; + isSilenced_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_silenced = 84;</code> + */ + public Builder clearIsSilenced() { + bitField1_ = (bitField1_ & ~0x00400000); + isSilenced_ = false; + onChanged(); + return this; + } + + private boolean isSpeciallyDeniable_ ; + /** + * <code>optional bool is_specially_deniable = 85;</code> + */ + public boolean hasIsSpeciallyDeniable() { + return ((bitField1_ & 0x00800000) != 0); + } + /** + * <code>optional bool is_specially_deniable = 85;</code> + */ + public boolean getIsSpeciallyDeniable() { + return isSpeciallyDeniable_; + } + /** + * <code>optional bool is_specially_deniable = 85;</code> + */ + public Builder setIsSpeciallyDeniable(boolean value) { + bitField1_ |= 0x00800000; + isSpeciallyDeniable_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_specially_deniable = 85;</code> + */ + public Builder clearIsSpeciallyDeniable() { + bitField1_ = (bitField1_ & ~0x00800000); + isSpeciallyDeniable_ = false; + onChanged(); + return this; + } + + private boolean isStunned_ ; + /** + * <code>optional bool is_stunned = 86;</code> + */ + public boolean hasIsStunned() { + return ((bitField1_ & 0x01000000) != 0); + } + /** + * <code>optional bool is_stunned = 86;</code> + */ + public boolean getIsStunned() { + return isStunned_; + } + /** + * <code>optional bool is_stunned = 86;</code> + */ + public Builder setIsStunned(boolean value) { + bitField1_ |= 0x01000000; + isStunned_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_stunned = 86;</code> + */ + public Builder clearIsStunned() { + bitField1_ = (bitField1_ & ~0x01000000); + isStunned_ = false; + onChanged(); + return this; + } + + private boolean isUnableToMiss_ ; + /** + * <code>optional bool is_unable_to_miss = 87;</code> + */ + public boolean hasIsUnableToMiss() { + return ((bitField1_ & 0x02000000) != 0); + } + /** + * <code>optional bool is_unable_to_miss = 87;</code> + */ + public boolean getIsUnableToMiss() { + return isUnableToMiss_; + } + /** + * <code>optional bool is_unable_to_miss = 87;</code> + */ + public Builder setIsUnableToMiss(boolean value) { + bitField1_ |= 0x02000000; + isUnableToMiss_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_unable_to_miss = 87;</code> + */ + public Builder clearIsUnableToMiss() { + bitField1_ = (bitField1_ & ~0x02000000); + isUnableToMiss_ = false; + onChanged(); + return this; + } + + private boolean hasScepter_ ; + /** + * <code>optional bool has_scepter = 88;</code> + */ + public boolean hasHasScepter() { + return ((bitField1_ & 0x04000000) != 0); + } + /** + * <code>optional bool has_scepter = 88;</code> + */ + public boolean getHasScepter() { + return hasScepter_; + } + /** + * <code>optional bool has_scepter = 88;</code> + */ + public Builder setHasScepter(boolean value) { + bitField1_ |= 0x04000000; + hasScepter_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool has_scepter = 88;</code> + */ + public Builder clearHasScepter() { + bitField1_ = (bitField1_ & ~0x04000000); + hasScepter_ = false; + onChanged(); + return this; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability> abilities_ = + java.util.Collections.emptyList(); + private void ensureAbilitiesIsMutable() { + if (!((bitField1_ & 0x08000000) != 0)) { + abilities_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability>(abilities_); + bitField1_ |= 0x08000000; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder> abilitiesBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability> getAbilitiesList() { + if (abilitiesBuilder_ == null) { + return java.util.Collections.unmodifiableList(abilities_); + } else { + return abilitiesBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public int getAbilitiesCount() { + if (abilitiesBuilder_ == null) { + return abilities_.size(); + } else { + return abilitiesBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability getAbilities(int index) { + if (abilitiesBuilder_ == null) { + return abilities_.get(index); + } else { + return abilitiesBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public Builder setAbilities( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability value) { + if (abilitiesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAbilitiesIsMutable(); + abilities_.set(index, value); + onChanged(); + } else { + abilitiesBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public Builder setAbilities( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder builderForValue) { + if (abilitiesBuilder_ == null) { + ensureAbilitiesIsMutable(); + abilities_.set(index, builderForValue.build()); + onChanged(); + } else { + abilitiesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public Builder addAbilities(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability value) { + if (abilitiesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAbilitiesIsMutable(); + abilities_.add(value); + onChanged(); + } else { + abilitiesBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public Builder addAbilities( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability value) { + if (abilitiesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAbilitiesIsMutable(); + abilities_.add(index, value); + onChanged(); + } else { + abilitiesBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public Builder addAbilities( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder builderForValue) { + if (abilitiesBuilder_ == null) { + ensureAbilitiesIsMutable(); + abilities_.add(builderForValue.build()); + onChanged(); + } else { + abilitiesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public Builder addAbilities( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder builderForValue) { + if (abilitiesBuilder_ == null) { + ensureAbilitiesIsMutable(); + abilities_.add(index, builderForValue.build()); + onChanged(); + } else { + abilitiesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public Builder addAllAbilities( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability> values) { + if (abilitiesBuilder_ == null) { + ensureAbilitiesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, abilities_); + onChanged(); + } else { + abilitiesBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public Builder clearAbilities() { + if (abilitiesBuilder_ == null) { + abilities_ = java.util.Collections.emptyList(); + bitField1_ = (bitField1_ & ~0x08000000); + onChanged(); + } else { + abilitiesBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public Builder removeAbilities(int index) { + if (abilitiesBuilder_ == null) { + ensureAbilitiesIsMutable(); + abilities_.remove(index); + onChanged(); + } else { + abilitiesBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder getAbilitiesBuilder( + int index) { + return getAbilitiesFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder getAbilitiesOrBuilder( + int index) { + if (abilitiesBuilder_ == null) { + return abilities_.get(index); } else { + return abilitiesBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder> + getAbilitiesOrBuilderList() { + if (abilitiesBuilder_ != null) { + return abilitiesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(abilities_); + } + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder addAbilitiesBuilder() { + return getAbilitiesFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder addAbilitiesBuilder( + int index) { + return getAbilitiesFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.Ability abilities = 90;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder> + getAbilitiesBuilderList() { + return getAbilitiesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder> + getAbilitiesFieldBuilder() { + if (abilitiesBuilder_ == null) { + abilitiesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder>( + abilities_, + ((bitField1_ & 0x08000000) != 0), + getParentForChildren(), + isClean()); + abilities_ = null; + } + return abilitiesBuilder_; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability> items_ = + java.util.Collections.emptyList(); + private void ensureItemsIsMutable() { + if (!((bitField1_ & 0x10000000) != 0)) { + items_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability>(items_); + bitField1_ |= 0x10000000; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder> itemsBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability> getItemsList() { + if (itemsBuilder_ == null) { + return java.util.Collections.unmodifiableList(items_); + } else { + return itemsBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public int getItemsCount() { + if (itemsBuilder_ == null) { + return items_.size(); + } else { + return itemsBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability getItems(int index) { + if (itemsBuilder_ == null) { + return items_.get(index); + } else { + return itemsBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public Builder setItems( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability value) { + if (itemsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureItemsIsMutable(); + items_.set(index, value); + onChanged(); + } else { + itemsBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public Builder setItems( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder builderForValue) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + items_.set(index, builderForValue.build()); + onChanged(); + } else { + itemsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public Builder addItems(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability value) { + if (itemsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureItemsIsMutable(); + items_.add(value); + onChanged(); + } else { + itemsBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public Builder addItems( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability value) { + if (itemsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureItemsIsMutable(); + items_.add(index, value); + onChanged(); + } else { + itemsBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public Builder addItems( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder builderForValue) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + items_.add(builderForValue.build()); + onChanged(); + } else { + itemsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public Builder addItems( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder builderForValue) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + items_.add(index, builderForValue.build()); + onChanged(); + } else { + itemsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public Builder addAllItems( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability> values) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, items_); + onChanged(); + } else { + itemsBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public Builder clearItems() { + if (itemsBuilder_ == null) { + items_ = java.util.Collections.emptyList(); + bitField1_ = (bitField1_ & ~0x10000000); + onChanged(); + } else { + itemsBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public Builder removeItems(int index) { + if (itemsBuilder_ == null) { + ensureItemsIsMutable(); + items_.remove(index); + onChanged(); + } else { + itemsBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder getItemsBuilder( + int index) { + return getItemsFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder getItemsOrBuilder( + int index) { + if (itemsBuilder_ == null) { + return items_.get(index); } else { + return itemsBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder> + getItemsOrBuilderList() { + if (itemsBuilder_ != null) { + return itemsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(items_); + } + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder addItemsBuilder() { + return getItemsFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder addItemsBuilder( + int index) { + return getItemsFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.Ability items = 91;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder> + getItemsBuilderList() { + return getItemsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder> + getItemsFieldBuilder() { + if (itemsBuilder_ == null) { + itemsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Ability.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AbilityOrBuilder>( + items_, + ((bitField1_ & 0x10000000) != 0), + getParentForChildren(), + isClean()); + items_ = null; + } + return itemsBuilder_; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier> modifiers_ = + java.util.Collections.emptyList(); + private void ensureModifiersIsMutable() { + if (!((bitField1_ & 0x20000000) != 0)) { + modifiers_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier>(modifiers_); + bitField1_ |= 0x20000000; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.ModifierOrBuilder> modifiersBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier> getModifiersList() { + if (modifiersBuilder_ == null) { + return java.util.Collections.unmodifiableList(modifiers_); + } else { + return modifiersBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public int getModifiersCount() { + if (modifiersBuilder_ == null) { + return modifiers_.size(); + } else { + return modifiersBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier getModifiers(int index) { + if (modifiersBuilder_ == null) { + return modifiers_.get(index); + } else { + return modifiersBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public Builder setModifiers( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier value) { + if (modifiersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureModifiersIsMutable(); + modifiers_.set(index, value); + onChanged(); + } else { + modifiersBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public Builder setModifiers( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.Builder builderForValue) { + if (modifiersBuilder_ == null) { + ensureModifiersIsMutable(); + modifiers_.set(index, builderForValue.build()); + onChanged(); + } else { + modifiersBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public Builder addModifiers(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier value) { + if (modifiersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureModifiersIsMutable(); + modifiers_.add(value); + onChanged(); + } else { + modifiersBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public Builder addModifiers( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier value) { + if (modifiersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureModifiersIsMutable(); + modifiers_.add(index, value); + onChanged(); + } else { + modifiersBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public Builder addModifiers( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.Builder builderForValue) { + if (modifiersBuilder_ == null) { + ensureModifiersIsMutable(); + modifiers_.add(builderForValue.build()); + onChanged(); + } else { + modifiersBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public Builder addModifiers( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.Builder builderForValue) { + if (modifiersBuilder_ == null) { + ensureModifiersIsMutable(); + modifiers_.add(index, builderForValue.build()); + onChanged(); + } else { + modifiersBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public Builder addAllModifiers( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier> values) { + if (modifiersBuilder_ == null) { + ensureModifiersIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, modifiers_); + onChanged(); + } else { + modifiersBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public Builder clearModifiers() { + if (modifiersBuilder_ == null) { + modifiers_ = java.util.Collections.emptyList(); + bitField1_ = (bitField1_ & ~0x20000000); + onChanged(); + } else { + modifiersBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public Builder removeModifiers(int index) { + if (modifiersBuilder_ == null) { + ensureModifiersIsMutable(); + modifiers_.remove(index); + onChanged(); + } else { + modifiersBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.Builder getModifiersBuilder( + int index) { + return getModifiersFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.ModifierOrBuilder getModifiersOrBuilder( + int index) { + if (modifiersBuilder_ == null) { + return modifiers_.get(index); } else { + return modifiersBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.ModifierOrBuilder> + getModifiersOrBuilderList() { + if (modifiersBuilder_ != null) { + return modifiersBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(modifiers_); + } + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.Builder addModifiersBuilder() { + return getModifiersFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.Builder addModifiersBuilder( + int index) { + return getModifiersFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.Modifier modifiers = 92;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.Builder> + getModifiersBuilderList() { + return getModifiersFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.ModifierOrBuilder> + getModifiersFieldBuilder() { + if (modifiersBuilder_ == null) { + modifiersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Modifier.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.ModifierOrBuilder>( + modifiers_, + ((bitField1_ & 0x20000000) != 0), + getParentForChildren(), + isClean()); + modifiers_ = null; + } + return modifiersBuilder_; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile> incomingTrackingProjectiles_ = + java.util.Collections.emptyList(); + private void ensureIncomingTrackingProjectilesIsMutable() { + if (!((bitField1_ & 0x40000000) != 0)) { + incomingTrackingProjectiles_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile>(incomingTrackingProjectiles_); + bitField1_ |= 0x40000000; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectileOrBuilder> incomingTrackingProjectilesBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile> getIncomingTrackingProjectilesList() { + if (incomingTrackingProjectilesBuilder_ == null) { + return java.util.Collections.unmodifiableList(incomingTrackingProjectiles_); + } else { + return incomingTrackingProjectilesBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public int getIncomingTrackingProjectilesCount() { + if (incomingTrackingProjectilesBuilder_ == null) { + return incomingTrackingProjectiles_.size(); + } else { + return incomingTrackingProjectilesBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile getIncomingTrackingProjectiles(int index) { + if (incomingTrackingProjectilesBuilder_ == null) { + return incomingTrackingProjectiles_.get(index); + } else { + return incomingTrackingProjectilesBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public Builder setIncomingTrackingProjectiles( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile value) { + if (incomingTrackingProjectilesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureIncomingTrackingProjectilesIsMutable(); + incomingTrackingProjectiles_.set(index, value); + onChanged(); + } else { + incomingTrackingProjectilesBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public Builder setIncomingTrackingProjectiles( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.Builder builderForValue) { + if (incomingTrackingProjectilesBuilder_ == null) { + ensureIncomingTrackingProjectilesIsMutable(); + incomingTrackingProjectiles_.set(index, builderForValue.build()); + onChanged(); + } else { + incomingTrackingProjectilesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public Builder addIncomingTrackingProjectiles(CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile value) { + if (incomingTrackingProjectilesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureIncomingTrackingProjectilesIsMutable(); + incomingTrackingProjectiles_.add(value); + onChanged(); + } else { + incomingTrackingProjectilesBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public Builder addIncomingTrackingProjectiles( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile value) { + if (incomingTrackingProjectilesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureIncomingTrackingProjectilesIsMutable(); + incomingTrackingProjectiles_.add(index, value); + onChanged(); + } else { + incomingTrackingProjectilesBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public Builder addIncomingTrackingProjectiles( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.Builder builderForValue) { + if (incomingTrackingProjectilesBuilder_ == null) { + ensureIncomingTrackingProjectilesIsMutable(); + incomingTrackingProjectiles_.add(builderForValue.build()); + onChanged(); + } else { + incomingTrackingProjectilesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public Builder addIncomingTrackingProjectiles( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.Builder builderForValue) { + if (incomingTrackingProjectilesBuilder_ == null) { + ensureIncomingTrackingProjectilesIsMutable(); + incomingTrackingProjectiles_.add(index, builderForValue.build()); + onChanged(); + } else { + incomingTrackingProjectilesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public Builder addAllIncomingTrackingProjectiles( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile> values) { + if (incomingTrackingProjectilesBuilder_ == null) { + ensureIncomingTrackingProjectilesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, incomingTrackingProjectiles_); + onChanged(); + } else { + incomingTrackingProjectilesBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public Builder clearIncomingTrackingProjectiles() { + if (incomingTrackingProjectilesBuilder_ == null) { + incomingTrackingProjectiles_ = java.util.Collections.emptyList(); + bitField1_ = (bitField1_ & ~0x40000000); + onChanged(); + } else { + incomingTrackingProjectilesBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public Builder removeIncomingTrackingProjectiles(int index) { + if (incomingTrackingProjectilesBuilder_ == null) { + ensureIncomingTrackingProjectilesIsMutable(); + incomingTrackingProjectiles_.remove(index); + onChanged(); + } else { + incomingTrackingProjectilesBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.Builder getIncomingTrackingProjectilesBuilder( + int index) { + return getIncomingTrackingProjectilesFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectileOrBuilder getIncomingTrackingProjectilesOrBuilder( + int index) { + if (incomingTrackingProjectilesBuilder_ == null) { + return incomingTrackingProjectiles_.get(index); } else { + return incomingTrackingProjectilesBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectileOrBuilder> + getIncomingTrackingProjectilesOrBuilderList() { + if (incomingTrackingProjectilesBuilder_ != null) { + return incomingTrackingProjectilesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(incomingTrackingProjectiles_); + } + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.Builder addIncomingTrackingProjectilesBuilder() { + return getIncomingTrackingProjectilesFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.Builder addIncomingTrackingProjectilesBuilder( + int index) { + return getIncomingTrackingProjectilesFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.TrackingProjectile incoming_tracking_projectiles = 93;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.Builder> + getIncomingTrackingProjectilesBuilderList() { + return getIncomingTrackingProjectilesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectileOrBuilder> + getIncomingTrackingProjectilesFieldBuilder() { + if (incomingTrackingProjectilesBuilder_ == null) { + incomingTrackingProjectilesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectile.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TrackingProjectileOrBuilder>( + incomingTrackingProjectiles_, + ((bitField1_ & 0x40000000) != 0), + getParentForChildren(), + isClean()); + incomingTrackingProjectiles_ = null; + } + return incomingTrackingProjectilesBuilder_; + } + + private int actionType_ ; + /** + * <code>optional uint32 action_type = 100;</code> + */ + public boolean hasActionType() { + return ((bitField1_ & 0x80000000) != 0); + } + /** + * <code>optional uint32 action_type = 100;</code> + */ + public int getActionType() { + return actionType_; + } + /** + * <code>optional uint32 action_type = 100;</code> + */ + public Builder setActionType(int value) { + bitField1_ |= 0x80000000; + actionType_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 action_type = 100;</code> + */ + public Builder clearActionType() { + bitField1_ = (bitField1_ & ~0x80000000); + actionType_ = 0; + onChanged(); + return this; + } + + private int abilityTargetHandle_ ; + /** + * <code>optional uint32 ability_target_handle = 101;</code> + */ + public boolean hasAbilityTargetHandle() { + return ((bitField2_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 ability_target_handle = 101;</code> + */ + public int getAbilityTargetHandle() { + return abilityTargetHandle_; + } + /** + * <code>optional uint32 ability_target_handle = 101;</code> + */ + public Builder setAbilityTargetHandle(int value) { + bitField2_ |= 0x00000001; + abilityTargetHandle_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 ability_target_handle = 101;</code> + */ + public Builder clearAbilityTargetHandle() { + bitField2_ = (bitField2_ & ~0x00000001); + abilityTargetHandle_ = 0; + onChanged(); + return this; + } + + private java.lang.Object abilityTargetName_ = ""; + /** + * <code>optional string ability_target_name = 103;</code> + */ + public boolean hasAbilityTargetName() { + return ((bitField2_ & 0x00000002) != 0); + } + /** + * <code>optional string ability_target_name = 103;</code> + */ + public java.lang.String getAbilityTargetName() { + java.lang.Object ref = abilityTargetName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + abilityTargetName_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string ability_target_name = 103;</code> + */ + public com.google.protobuf.ByteString + getAbilityTargetNameBytes() { + java.lang.Object ref = abilityTargetName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + abilityTargetName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string ability_target_name = 103;</code> + */ + public Builder setAbilityTargetName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField2_ |= 0x00000002; + abilityTargetName_ = value; + onChanged(); + return this; + } + /** + * <code>optional string ability_target_name = 103;</code> + */ + public Builder clearAbilityTargetName() { + bitField2_ = (bitField2_ & ~0x00000002); + abilityTargetName_ = getDefaultInstance().getAbilityTargetName(); + onChanged(); + return this; + } + /** + * <code>optional string ability_target_name = 103;</code> + */ + public Builder setAbilityTargetNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField2_ |= 0x00000002; + abilityTargetName_ = value; + onChanged(); + return this; + } + + private boolean isUsingAbility_ ; + /** + * <code>optional bool is_using_ability = 102;</code> + */ + public boolean hasIsUsingAbility() { + return ((bitField2_ & 0x00000004) != 0); + } + /** + * <code>optional bool is_using_ability = 102;</code> + */ + public boolean getIsUsingAbility() { + return isUsingAbility_; + } + /** + * <code>optional bool is_using_ability = 102;</code> + */ + public Builder setIsUsingAbility(boolean value) { + bitField2_ |= 0x00000004; + isUsingAbility_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_using_ability = 102;</code> + */ + public Builder clearIsUsingAbility() { + bitField2_ = (bitField2_ & ~0x00000004); + isUsingAbility_ = false; + onChanged(); + return this; + } + + private int primaryAttribute_ ; + /** + * <code>optional uint32 primary_attribute = 110;</code> + */ + public boolean hasPrimaryAttribute() { + return ((bitField2_ & 0x00000008) != 0); + } + /** + * <code>optional uint32 primary_attribute = 110;</code> + */ + public int getPrimaryAttribute() { + return primaryAttribute_; + } + /** + * <code>optional uint32 primary_attribute = 110;</code> + */ + public Builder setPrimaryAttribute(int value) { + bitField2_ |= 0x00000008; + primaryAttribute_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 primary_attribute = 110;</code> + */ + public Builder clearPrimaryAttribute() { + bitField2_ = (bitField2_ & ~0x00000008); + primaryAttribute_ = 0; + onChanged(); + return this; + } + + private boolean isIllusion_ ; + /** + * <code>optional bool is_illusion = 111;</code> + */ + public boolean hasIsIllusion() { + return ((bitField2_ & 0x00000010) != 0); + } + /** + * <code>optional bool is_illusion = 111;</code> + */ + public boolean getIsIllusion() { + return isIllusion_; + } + /** + * <code>optional bool is_illusion = 111;</code> + */ + public Builder setIsIllusion(boolean value) { + bitField2_ |= 0x00000010; + isIllusion_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_illusion = 111;</code> + */ + public Builder clearIsIllusion() { + bitField2_ = (bitField2_ & ~0x00000010); + isIllusion_ = false; + onChanged(); + return this; + } + + private float respawnTime_ ; + /** + * <code>optional float respawn_time = 112;</code> + */ + public boolean hasRespawnTime() { + return ((bitField2_ & 0x00000020) != 0); + } + /** + * <code>optional float respawn_time = 112;</code> + */ + public float getRespawnTime() { + return respawnTime_; + } + /** + * <code>optional float respawn_time = 112;</code> + */ + public Builder setRespawnTime(float value) { + bitField2_ |= 0x00000020; + respawnTime_ = value; + onChanged(); + return this; + } + /** + * <code>optional float respawn_time = 112;</code> + */ + public Builder clearRespawnTime() { + bitField2_ = (bitField2_ & ~0x00000020); + respawnTime_ = 0F; + onChanged(); + return this; + } + + private int buybackCost_ ; + /** + * <code>optional uint32 buyback_cost = 113;</code> + */ + public boolean hasBuybackCost() { + return ((bitField2_ & 0x00000040) != 0); + } + /** + * <code>optional uint32 buyback_cost = 113;</code> + */ + public int getBuybackCost() { + return buybackCost_; + } + /** + * <code>optional uint32 buyback_cost = 113;</code> + */ + public Builder setBuybackCost(int value) { + bitField2_ |= 0x00000040; + buybackCost_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 buyback_cost = 113;</code> + */ + public Builder clearBuybackCost() { + bitField2_ = (bitField2_ & ~0x00000040); + buybackCost_ = 0; + onChanged(); + return this; + } + + private float buybackCooldown_ ; + /** + * <code>optional float buyback_cooldown = 114;</code> + */ + public boolean hasBuybackCooldown() { + return ((bitField2_ & 0x00000080) != 0); + } + /** + * <code>optional float buyback_cooldown = 114;</code> + */ + public float getBuybackCooldown() { + return buybackCooldown_; + } + /** + * <code>optional float buyback_cooldown = 114;</code> + */ + public Builder setBuybackCooldown(float value) { + bitField2_ |= 0x00000080; + buybackCooldown_ = value; + onChanged(); + return this; + } + /** + * <code>optional float buyback_cooldown = 114;</code> + */ + public Builder clearBuybackCooldown() { + bitField2_ = (bitField2_ & ~0x00000080); + buybackCooldown_ = 0F; + onChanged(); + return this; + } + + private float spellAmplification_ ; + /** + * <code>optional float spell_amplification = 115;</code> + */ + public boolean hasSpellAmplification() { + return ((bitField2_ & 0x00000100) != 0); + } + /** + * <code>optional float spell_amplification = 115;</code> + */ + public float getSpellAmplification() { + return spellAmplification_; + } + /** + * <code>optional float spell_amplification = 115;</code> + */ + public Builder setSpellAmplification(float value) { + bitField2_ |= 0x00000100; + spellAmplification_ = value; + onChanged(); + return this; + } + /** + * <code>optional float spell_amplification = 115;</code> + */ + public Builder clearSpellAmplification() { + bitField2_ = (bitField2_ & ~0x00000100); + spellAmplification_ = 0F; + onChanged(); + return this; + } + + private float armor_ ; + /** + * <code>optional float armor = 116;</code> + */ + public boolean hasArmor() { + return ((bitField2_ & 0x00000200) != 0); + } + /** + * <code>optional float armor = 116;</code> + */ + public float getArmor() { + return armor_; + } + /** + * <code>optional float armor = 116;</code> + */ + public Builder setArmor(float value) { + bitField2_ |= 0x00000200; + armor_ = value; + onChanged(); + return this; + } + /** + * <code>optional float armor = 116;</code> + */ + public Builder clearArmor() { + bitField2_ = (bitField2_ & ~0x00000200); + armor_ = 0F; + onChanged(); + return this; + } + + private float magicResist_ ; + /** + * <code>optional float magic_resist = 117;</code> + */ + public boolean hasMagicResist() { + return ((bitField2_ & 0x00000400) != 0); + } + /** + * <code>optional float magic_resist = 117;</code> + */ + public float getMagicResist() { + return magicResist_; + } + /** + * <code>optional float magic_resist = 117;</code> + */ + public Builder setMagicResist(float value) { + bitField2_ |= 0x00000400; + magicResist_ = value; + onChanged(); + return this; + } + /** + * <code>optional float magic_resist = 117;</code> + */ + public Builder clearMagicResist() { + bitField2_ = (bitField2_ & ~0x00000400); + magicResist_ = 0F; + onChanged(); + return this; + } + + private float evasion_ ; + /** + * <code>optional float evasion = 118;</code> + */ + public boolean hasEvasion() { + return ((bitField2_ & 0x00000800) != 0); + } + /** + * <code>optional float evasion = 118;</code> + */ + public float getEvasion() { + return evasion_; + } + /** + * <code>optional float evasion = 118;</code> + */ + public Builder setEvasion(float value) { + bitField2_ |= 0x00000800; + evasion_ = value; + onChanged(); + return this; + } + /** + * <code>optional float evasion = 118;</code> + */ + public Builder clearEvasion() { + bitField2_ = (bitField2_ & ~0x00000800); + evasion_ = 0F; + onChanged(); + return this; + } + + private int xpNeededToLevel_ ; + /** + * <code>optional uint32 xp_needed_to_level = 120;</code> + */ + public boolean hasXpNeededToLevel() { + return ((bitField2_ & 0x00001000) != 0); + } + /** + * <code>optional uint32 xp_needed_to_level = 120;</code> + */ + public int getXpNeededToLevel() { + return xpNeededToLevel_; + } + /** + * <code>optional uint32 xp_needed_to_level = 120;</code> + */ + public Builder setXpNeededToLevel(int value) { + bitField2_ |= 0x00001000; + xpNeededToLevel_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 xp_needed_to_level = 120;</code> + */ + public Builder clearXpNeededToLevel() { + bitField2_ = (bitField2_ & ~0x00001000); + xpNeededToLevel_ = 0; + onChanged(); + return this; + } + + private int abilityPoints_ ; + /** + * <code>optional uint32 ability_points = 121;</code> + */ + public boolean hasAbilityPoints() { + return ((bitField2_ & 0x00002000) != 0); + } + /** + * <code>optional uint32 ability_points = 121;</code> + */ + public int getAbilityPoints() { + return abilityPoints_; + } + /** + * <code>optional uint32 ability_points = 121;</code> + */ + public Builder setAbilityPoints(int value) { + bitField2_ |= 0x00002000; + abilityPoints_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 ability_points = 121;</code> + */ + public Builder clearAbilityPoints() { + bitField2_ = (bitField2_ & ~0x00002000); + abilityPoints_ = 0; + onChanged(); + return this; + } + + private int reliableGold_ = -1; + /** + * <code>optional int32 reliable_gold = 122 [default = -1];</code> + */ + public boolean hasReliableGold() { + return ((bitField2_ & 0x00004000) != 0); + } + /** + * <code>optional int32 reliable_gold = 122 [default = -1];</code> + */ + public int getReliableGold() { + return reliableGold_; + } + /** + * <code>optional int32 reliable_gold = 122 [default = -1];</code> + */ + public Builder setReliableGold(int value) { + bitField2_ |= 0x00004000; + reliableGold_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 reliable_gold = 122 [default = -1];</code> + */ + public Builder clearReliableGold() { + bitField2_ = (bitField2_ & ~0x00004000); + reliableGold_ = -1; + onChanged(); + return this; + } + + private int unreliableGold_ = -1; + /** + * <code>optional int32 unreliable_gold = 123 [default = -1];</code> + */ + public boolean hasUnreliableGold() { + return ((bitField2_ & 0x00008000) != 0); + } + /** + * <code>optional int32 unreliable_gold = 123 [default = -1];</code> + */ + public int getUnreliableGold() { + return unreliableGold_; + } + /** + * <code>optional int32 unreliable_gold = 123 [default = -1];</code> + */ + public Builder setUnreliableGold(int value) { + bitField2_ |= 0x00008000; + unreliableGold_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 unreliable_gold = 123 [default = -1];</code> + */ + public Builder clearUnreliableGold() { + bitField2_ = (bitField2_ & ~0x00008000); + unreliableGold_ = -1; + onChanged(); + return this; + } + + private int lastHits_ ; + /** + * <code>optional uint32 last_hits = 124;</code> + */ + public boolean hasLastHits() { + return ((bitField2_ & 0x00010000) != 0); + } + /** + * <code>optional uint32 last_hits = 124;</code> + */ + public int getLastHits() { + return lastHits_; + } + /** + * <code>optional uint32 last_hits = 124;</code> + */ + public Builder setLastHits(int value) { + bitField2_ |= 0x00010000; + lastHits_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 last_hits = 124;</code> + */ + public Builder clearLastHits() { + bitField2_ = (bitField2_ & ~0x00010000); + lastHits_ = 0; + onChanged(); + return this; + } + + private int denies_ ; + /** + * <code>optional uint32 denies = 125;</code> + */ + public boolean hasDenies() { + return ((bitField2_ & 0x00020000) != 0); + } + /** + * <code>optional uint32 denies = 125;</code> + */ + public int getDenies() { + return denies_; + } + /** + * <code>optional uint32 denies = 125;</code> + */ + public Builder setDenies(int value) { + bitField2_ |= 0x00020000; + denies_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 denies = 125;</code> + */ + public Builder clearDenies() { + bitField2_ = (bitField2_ & ~0x00020000); + denies_ = 0; + onChanged(); + return this; + } + + private int netWorth_ ; + /** + * <code>optional uint32 net_worth = 126;</code> + */ + public boolean hasNetWorth() { + return ((bitField2_ & 0x00040000) != 0); + } + /** + * <code>optional uint32 net_worth = 126;</code> + */ + public int getNetWorth() { + return netWorth_; + } + /** + * <code>optional uint32 net_worth = 126;</code> + */ + public Builder setNetWorth(int value) { + bitField2_ |= 0x00040000; + netWorth_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 net_worth = 126;</code> + */ + public Builder clearNetWorth() { + bitField2_ = (bitField2_ & ~0x00040000); + netWorth_ = 0; + onChanged(); + return this; + } + + private int strength_ ; + /** + * <code>optional uint32 strength = 127;</code> + */ + public boolean hasStrength() { + return ((bitField2_ & 0x00080000) != 0); + } + /** + * <code>optional uint32 strength = 127;</code> + */ + public int getStrength() { + return strength_; + } + /** + * <code>optional uint32 strength = 127;</code> + */ + public Builder setStrength(int value) { + bitField2_ |= 0x00080000; + strength_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 strength = 127;</code> + */ + public Builder clearStrength() { + bitField2_ = (bitField2_ & ~0x00080000); + strength_ = 0; + onChanged(); + return this; + } + + private int agility_ ; + /** + * <code>optional uint32 agility = 128;</code> + */ + public boolean hasAgility() { + return ((bitField2_ & 0x00100000) != 0); + } + /** + * <code>optional uint32 agility = 128;</code> + */ + public int getAgility() { + return agility_; + } + /** + * <code>optional uint32 agility = 128;</code> + */ + public Builder setAgility(int value) { + bitField2_ |= 0x00100000; + agility_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 agility = 128;</code> + */ + public Builder clearAgility() { + bitField2_ = (bitField2_ & ~0x00100000); + agility_ = 0; + onChanged(); + return this; + } + + private int intelligence_ ; + /** + * <code>optional uint32 intelligence = 129;</code> + */ + public boolean hasIntelligence() { + return ((bitField2_ & 0x00200000) != 0); + } + /** + * <code>optional uint32 intelligence = 129;</code> + */ + public int getIntelligence() { + return intelligence_; + } + /** + * <code>optional uint32 intelligence = 129;</code> + */ + public Builder setIntelligence(int value) { + bitField2_ |= 0x00200000; + intelligence_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 intelligence = 129;</code> + */ + public Builder clearIntelligence() { + bitField2_ = (bitField2_ & ~0x00200000); + intelligence_ = 0; + onChanged(); + return this; + } + + private float remainingLifespan_ ; + /** + * <code>optional float remaining_lifespan = 130;</code> + */ + public boolean hasRemainingLifespan() { + return ((bitField2_ & 0x00400000) != 0); + } + /** + * <code>optional float remaining_lifespan = 130;</code> + */ + public float getRemainingLifespan() { + return remainingLifespan_; + } + /** + * <code>optional float remaining_lifespan = 130;</code> + */ + public Builder setRemainingLifespan(float value) { + bitField2_ |= 0x00400000; + remainingLifespan_ = value; + onChanged(); + return this; + } + /** + * <code>optional float remaining_lifespan = 130;</code> + */ + public Builder clearRemainingLifespan() { + bitField2_ = (bitField2_ & ~0x00400000); + remainingLifespan_ = 0F; + onChanged(); + return this; + } + + private boolean flyingCourier_ ; + /** + * <code>optional bool flying_courier = 140;</code> + */ + public boolean hasFlyingCourier() { + return ((bitField2_ & 0x00800000) != 0); + } + /** + * <code>optional bool flying_courier = 140;</code> + */ + public boolean getFlyingCourier() { + return flyingCourier_; + } + /** + * <code>optional bool flying_courier = 140;</code> + */ + public Builder setFlyingCourier(boolean value) { + bitField2_ |= 0x00800000; + flyingCourier_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool flying_courier = 140;</code> + */ + public Builder clearFlyingCourier() { + bitField2_ = (bitField2_ & ~0x00800000); + flyingCourier_ = false; + onChanged(); + return this; + } + + private float shrineCooldown_ ; + /** + * <code>optional float shrine_cooldown = 150;</code> + */ + public boolean hasShrineCooldown() { + return ((bitField2_ & 0x01000000) != 0); + } + /** + * <code>optional float shrine_cooldown = 150;</code> + */ + public float getShrineCooldown() { + return shrineCooldown_; + } + /** + * <code>optional float shrine_cooldown = 150;</code> + */ + public Builder setShrineCooldown(float value) { + bitField2_ |= 0x01000000; + shrineCooldown_ = value; + onChanged(); + return this; + } + /** + * <code>optional float shrine_cooldown = 150;</code> + */ + public Builder clearShrineCooldown() { + bitField2_ = (bitField2_ & ~0x01000000); + shrineCooldown_ = 0F; + onChanged(); + return this; + } + + private boolean isShrineHealing_ ; + /** + * <code>optional bool is_shrine_healing = 151;</code> + */ + public boolean hasIsShrineHealing() { + return ((bitField2_ & 0x02000000) != 0); + } + /** + * <code>optional bool is_shrine_healing = 151;</code> + */ + public boolean getIsShrineHealing() { + return isShrineHealing_; + } + /** + * <code>optional bool is_shrine_healing = 151;</code> + */ + public Builder setIsShrineHealing(boolean value) { + bitField2_ |= 0x02000000; + isShrineHealing_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool is_shrine_healing = 151;</code> + */ + public Builder clearIsShrineHealing() { + bitField2_ = (bitField2_ & ~0x02000000); + isShrineHealing_ = false; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Unit) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Unit) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<Unit> + PARSER = new com.google.protobuf.AbstractParser<Unit>() { + @java.lang.Override + public Unit parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Unit(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Unit> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Unit> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ActionsOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Actions) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional float dota_time = 1 [default = -100];</code> + */ + boolean hasDotaTime(); + /** + * <code>optional float dota_time = 1 [default = -100];</code> + */ + float getDotaTime(); + + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action> + getActionsList(); + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action getActions(int index); + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + int getActionsCount(); + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.ActionOrBuilder> + getActionsOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.ActionOrBuilder getActionsOrBuilder( + int index); + + /** + * <code>optional string extraData = 3;</code> + */ + boolean hasExtraData(); + /** + * <code>optional string extraData = 3;</code> + */ + java.lang.String getExtraData(); + /** + * <code>optional string extraData = 3;</code> + */ + com.google.protobuf.ByteString + getExtraDataBytes(); + + /** + * <code>optional .CMsgBotWorldState.Actions.OceanAnnotation oceanAnnotation = 4;</code> + */ + boolean hasOceanAnnotation(); + /** + * <code>optional .CMsgBotWorldState.Actions.OceanAnnotation oceanAnnotation = 4;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation getOceanAnnotation(); + /** + * <code>optional .CMsgBotWorldState.Actions.OceanAnnotation oceanAnnotation = 4;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotationOrBuilder getOceanAnnotationOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Actions.Header header = 5;</code> + */ + boolean hasHeader(); + /** + * <code>optional .CMsgBotWorldState.Actions.Header header = 5;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header getHeader(); + /** + * <code>optional .CMsgBotWorldState.Actions.Header header = 5;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.HeaderOrBuilder getHeaderOrBuilder(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Actions} + */ + public static final class Actions extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Actions) + ActionsOrBuilder { + private static final long serialVersionUID = 0L; + // Use Actions.newBuilder() to construct. + private Actions(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Actions() { + dotaTime_ = -100F; + actions_ = java.util.Collections.emptyList(); + extraData_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Actions( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 13: { + bitField0_ |= 0x00000001; + dotaTime_ = input.readFloat(); + break; + } + case 18: { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + actions_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action>(); + mutable_bitField0_ |= 0x00000002; + } + actions_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PARSER, extensionRegistry)); + break; + } + case 26: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000002; + extraData_ = bs; + break; + } + case 34: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Builder subBuilder = null; + if (((bitField0_ & 0x00000004) != 0)) { + subBuilder = oceanAnnotation_.toBuilder(); + } + oceanAnnotation_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(oceanAnnotation_); + oceanAnnotation_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000004; + break; + } + case 42: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.Builder subBuilder = null; + if (((bitField0_ & 0x00000008) != 0)) { + subBuilder = header_.toBuilder(); + } + header_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(header_); + header_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000008; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000002) != 0)) { + actions_ = java.util.Collections.unmodifiableList(actions_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Builder.class); + } + + public interface OceanAnnotationOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Actions.OceanAnnotation) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero> + getHeroesList(); + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero getHeroes(int index); + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + int getHeroesCount(); + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.HeroOrBuilder> + getHeroesOrBuilderList(); + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.HeroOrBuilder getHeroesOrBuilder( + int index); + + /** + * <code>optional string agentID = 5;</code> + */ + boolean hasAgentID(); + /** + * <code>optional string agentID = 5;</code> + */ + java.lang.String getAgentID(); + /** + * <code>optional string agentID = 5;</code> + */ + com.google.protobuf.ByteString + getAgentIDBytes(); + + /** + * <code>repeated float rewards = 6;</code> + */ + java.util.List<java.lang.Float> getRewardsList(); + /** + * <code>repeated float rewards = 6;</code> + */ + int getRewardsCount(); + /** + * <code>repeated float rewards = 6;</code> + */ + float getRewards(int index); + + /** + * <code>repeated string reward_names = 7;</code> + */ + java.util.List<java.lang.String> + getRewardNamesList(); + /** + * <code>repeated string reward_names = 7;</code> + */ + int getRewardNamesCount(); + /** + * <code>repeated string reward_names = 7;</code> + */ + java.lang.String getRewardNames(int index); + /** + * <code>repeated string reward_names = 7;</code> + */ + com.google.protobuf.ByteString + getRewardNamesBytes(int index); + } + /** + * Protobuf type {@code CMsgBotWorldState.Actions.OceanAnnotation} + */ + public static final class OceanAnnotation extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Actions.OceanAnnotation) + OceanAnnotationOrBuilder { + private static final long serialVersionUID = 0L; + // Use OceanAnnotation.newBuilder() to construct. + private OceanAnnotation(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private OceanAnnotation() { + heroes_ = java.util.Collections.emptyList(); + agentID_ = ""; + rewards_ = emptyFloatList(); + rewardNames_ = com.google.protobuf.LazyStringArrayList.EMPTY; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private OceanAnnotation( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + heroes_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero>(); + mutable_bitField0_ |= 0x00000001; + } + heroes_.add( + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.PARSER, extensionRegistry)); + break; + } + case 42: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000001; + agentID_ = bs; + break; + } + case 53: { + if (!((mutable_bitField0_ & 0x00000004) != 0)) { + rewards_ = newFloatList(); + mutable_bitField0_ |= 0x00000004; + } + rewards_.addFloat(input.readFloat()); + break; + } + case 50: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000004) != 0) && input.getBytesUntilLimit() > 0) { + rewards_ = newFloatList(); + mutable_bitField0_ |= 0x00000004; + } + while (input.getBytesUntilLimit() > 0) { + rewards_.addFloat(input.readFloat()); + } + input.popLimit(limit); + break; + } + case 58: { + com.google.protobuf.ByteString bs = input.readBytes(); + if (!((mutable_bitField0_ & 0x00000008) != 0)) { + rewardNames_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000008; + } + rewardNames_.add(bs); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + heroes_ = java.util.Collections.unmodifiableList(heroes_); + } + if (((mutable_bitField0_ & 0x00000004) != 0)) { + rewards_.makeImmutable(); // C + } + if (((mutable_bitField0_ & 0x00000008) != 0)) { + rewardNames_ = rewardNames_.getUnmodifiableView(); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_OceanAnnotation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_OceanAnnotation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Builder.class); + } + + public interface HeroOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Actions.OceanAnnotation.Hero) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required int32 playerID = 1;</code> + */ + boolean hasPlayerID(); + /** + * <code>required int32 playerID = 1;</code> + */ + int getPlayerID(); + + /** + * <code>optional float valueFunction = 2;</code> + */ + boolean hasValueFunction(); + /** + * <code>optional float valueFunction = 2;</code> + */ + float getValueFunction(); + + /** + * <code>optional float actionLogp = 3;</code> + */ + boolean hasActionLogp(); + /** + * <code>optional float actionLogp = 3;</code> + */ + float getActionLogp(); + + /** + * <code>optional float reward = 4;</code> + */ + boolean hasReward(); + /** + * <code>optional float reward = 4;</code> + */ + float getReward(); + + /** + * <code>repeated int32 internalAction = 5;</code> + */ + java.util.List<java.lang.Integer> getInternalActionList(); + /** + * <code>repeated int32 internalAction = 5;</code> + */ + int getInternalActionCount(); + /** + * <code>repeated int32 internalAction = 5;</code> + */ + int getInternalAction(int index); + + /** + * <code>optional string actionName = 6;</code> + */ + boolean hasActionName(); + /** + * <code>optional string actionName = 6;</code> + */ + java.lang.String getActionName(); + /** + * <code>optional string actionName = 6;</code> + */ + com.google.protobuf.ByteString + getActionNameBytes(); + + /** + * <code>optional bytes detailedStats = 7;</code> + */ + boolean hasDetailedStats(); + /** + * <code>optional bytes detailedStats = 7;</code> + */ + com.google.protobuf.ByteString getDetailedStats(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Actions.OceanAnnotation.Hero} + */ + public static final class Hero extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Actions.OceanAnnotation.Hero) + HeroOrBuilder { + private static final long serialVersionUID = 0L; + // Use Hero.newBuilder() to construct. + private Hero(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Hero() { + internalAction_ = emptyIntList(); + actionName_ = ""; + detailedStats_ = com.google.protobuf.ByteString.EMPTY; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Hero( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + playerID_ = input.readInt32(); + break; + } + case 21: { + bitField0_ |= 0x00000002; + valueFunction_ = input.readFloat(); + break; + } + case 29: { + bitField0_ |= 0x00000004; + actionLogp_ = input.readFloat(); + break; + } + case 37: { + bitField0_ |= 0x00000008; + reward_ = input.readFloat(); + break; + } + case 40: { + if (!((mutable_bitField0_ & 0x00000010) != 0)) { + internalAction_ = newIntList(); + mutable_bitField0_ |= 0x00000010; + } + internalAction_.addInt(input.readInt32()); + break; + } + case 42: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000010) != 0) && input.getBytesUntilLimit() > 0) { + internalAction_ = newIntList(); + mutable_bitField0_ |= 0x00000010; + } + while (input.getBytesUntilLimit() > 0) { + internalAction_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + case 50: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000010; + actionName_ = bs; + break; + } + case 58: { + bitField0_ |= 0x00000020; + detailedStats_ = input.readBytes(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000010) != 0)) { + internalAction_.makeImmutable(); // C + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_OceanAnnotation_Hero_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_OceanAnnotation_Hero_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.Builder.class); + } + + private int bitField0_; + public static final int PLAYERID_FIELD_NUMBER = 1; + private int playerID_; + /** + * <code>required int32 playerID = 1;</code> + */ + public boolean hasPlayerID() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 playerID = 1;</code> + */ + public int getPlayerID() { + return playerID_; + } + + public static final int VALUEFUNCTION_FIELD_NUMBER = 2; + private float valueFunction_; + /** + * <code>optional float valueFunction = 2;</code> + */ + public boolean hasValueFunction() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional float valueFunction = 2;</code> + */ + public float getValueFunction() { + return valueFunction_; + } + + public static final int ACTIONLOGP_FIELD_NUMBER = 3; + private float actionLogp_; + /** + * <code>optional float actionLogp = 3;</code> + */ + public boolean hasActionLogp() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional float actionLogp = 3;</code> + */ + public float getActionLogp() { + return actionLogp_; + } + + public static final int REWARD_FIELD_NUMBER = 4; + private float reward_; + /** + * <code>optional float reward = 4;</code> + */ + public boolean hasReward() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional float reward = 4;</code> + */ + public float getReward() { + return reward_; + } + + public static final int INTERNALACTION_FIELD_NUMBER = 5; + private com.google.protobuf.Internal.IntList internalAction_; + /** + * <code>repeated int32 internalAction = 5;</code> + */ + public java.util.List<java.lang.Integer> + getInternalActionList() { + return internalAction_; + } + /** + * <code>repeated int32 internalAction = 5;</code> + */ + public int getInternalActionCount() { + return internalAction_.size(); + } + /** + * <code>repeated int32 internalAction = 5;</code> + */ + public int getInternalAction(int index) { + return internalAction_.getInt(index); + } + + public static final int ACTIONNAME_FIELD_NUMBER = 6; + private volatile java.lang.Object actionName_; + /** + * <code>optional string actionName = 6;</code> + */ + public boolean hasActionName() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional string actionName = 6;</code> + */ + public java.lang.String getActionName() { + java.lang.Object ref = actionName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + actionName_ = s; + } + return s; + } + } + /** + * <code>optional string actionName = 6;</code> + */ + public com.google.protobuf.ByteString + getActionNameBytes() { + java.lang.Object ref = actionName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + actionName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DETAILEDSTATS_FIELD_NUMBER = 7; + private com.google.protobuf.ByteString detailedStats_; + /** + * <code>optional bytes detailedStats = 7;</code> + */ + public boolean hasDetailedStats() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional bytes detailedStats = 7;</code> + */ + public com.google.protobuf.ByteString getDetailedStats() { + return detailedStats_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasPlayerID()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(1, playerID_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeFloat(2, valueFunction_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeFloat(3, actionLogp_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeFloat(4, reward_); + } + for (int i = 0; i < internalAction_.size(); i++) { + output.writeInt32(5, internalAction_.getInt(i)); + } + if (((bitField0_ & 0x00000010) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 6, actionName_); + } + if (((bitField0_ & 0x00000020) != 0)) { + output.writeBytes(7, detailedStats_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, playerID_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(2, valueFunction_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(3, actionLogp_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(4, reward_); + } + { + int dataSize = 0; + for (int i = 0; i < internalAction_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(internalAction_.getInt(i)); + } + size += dataSize; + size += 1 * getInternalActionList().size(); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, actionName_); + } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(7, detailedStats_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero) obj; + + if (hasPlayerID() != other.hasPlayerID()) return false; + if (hasPlayerID()) { + if (getPlayerID() + != other.getPlayerID()) return false; + } + if (hasValueFunction() != other.hasValueFunction()) return false; + if (hasValueFunction()) { + if (java.lang.Float.floatToIntBits(getValueFunction()) + != java.lang.Float.floatToIntBits( + other.getValueFunction())) return false; + } + if (hasActionLogp() != other.hasActionLogp()) return false; + if (hasActionLogp()) { + if (java.lang.Float.floatToIntBits(getActionLogp()) + != java.lang.Float.floatToIntBits( + other.getActionLogp())) return false; + } + if (hasReward() != other.hasReward()) return false; + if (hasReward()) { + if (java.lang.Float.floatToIntBits(getReward()) + != java.lang.Float.floatToIntBits( + other.getReward())) return false; + } + if (!getInternalActionList() + .equals(other.getInternalActionList())) return false; + if (hasActionName() != other.hasActionName()) return false; + if (hasActionName()) { + if (!getActionName() + .equals(other.getActionName())) return false; + } + if (hasDetailedStats() != other.hasDetailedStats()) return false; + if (hasDetailedStats()) { + if (!getDetailedStats() + .equals(other.getDetailedStats())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasPlayerID()) { + hash = (37 * hash) + PLAYERID_FIELD_NUMBER; + hash = (53 * hash) + getPlayerID(); + } + if (hasValueFunction()) { + hash = (37 * hash) + VALUEFUNCTION_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getValueFunction()); + } + if (hasActionLogp()) { + hash = (37 * hash) + ACTIONLOGP_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getActionLogp()); + } + if (hasReward()) { + hash = (37 * hash) + REWARD_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getReward()); + } + if (getInternalActionCount() > 0) { + hash = (37 * hash) + INTERNALACTION_FIELD_NUMBER; + hash = (53 * hash) + getInternalActionList().hashCode(); + } + if (hasActionName()) { + hash = (37 * hash) + ACTIONNAME_FIELD_NUMBER; + hash = (53 * hash) + getActionName().hashCode(); + } + if (hasDetailedStats()) { + hash = (37 * hash) + DETAILEDSTATS_FIELD_NUMBER; + hash = (53 * hash) + getDetailedStats().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Actions.OceanAnnotation.Hero} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Actions.OceanAnnotation.Hero) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.HeroOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_OceanAnnotation_Hero_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_OceanAnnotation_Hero_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + playerID_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + valueFunction_ = 0F; + bitField0_ = (bitField0_ & ~0x00000002); + actionLogp_ = 0F; + bitField0_ = (bitField0_ & ~0x00000004); + reward_ = 0F; + bitField0_ = (bitField0_ & ~0x00000008); + internalAction_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000010); + actionName_ = ""; + bitField0_ = (bitField0_ & ~0x00000020); + detailedStats_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000040); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_OceanAnnotation_Hero_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.playerID_ = playerID_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.valueFunction_ = valueFunction_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.actionLogp_ = actionLogp_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.reward_ = reward_; + to_bitField0_ |= 0x00000008; + } + if (((bitField0_ & 0x00000010) != 0)) { + internalAction_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000010); + } + result.internalAction_ = internalAction_; + if (((from_bitField0_ & 0x00000020) != 0)) { + to_bitField0_ |= 0x00000010; + } + result.actionName_ = actionName_; + if (((from_bitField0_ & 0x00000040) != 0)) { + to_bitField0_ |= 0x00000020; + } + result.detailedStats_ = detailedStats_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.getDefaultInstance()) return this; + if (other.hasPlayerID()) { + setPlayerID(other.getPlayerID()); + } + if (other.hasValueFunction()) { + setValueFunction(other.getValueFunction()); + } + if (other.hasActionLogp()) { + setActionLogp(other.getActionLogp()); + } + if (other.hasReward()) { + setReward(other.getReward()); + } + if (!other.internalAction_.isEmpty()) { + if (internalAction_.isEmpty()) { + internalAction_ = other.internalAction_; + bitField0_ = (bitField0_ & ~0x00000010); + } else { + ensureInternalActionIsMutable(); + internalAction_.addAll(other.internalAction_); + } + onChanged(); + } + if (other.hasActionName()) { + bitField0_ |= 0x00000020; + actionName_ = other.actionName_; + onChanged(); + } + if (other.hasDetailedStats()) { + setDetailedStats(other.getDetailedStats()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasPlayerID()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int playerID_ ; + /** + * <code>required int32 playerID = 1;</code> + */ + public boolean hasPlayerID() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 playerID = 1;</code> + */ + public int getPlayerID() { + return playerID_; + } + /** + * <code>required int32 playerID = 1;</code> + */ + public Builder setPlayerID(int value) { + bitField0_ |= 0x00000001; + playerID_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 playerID = 1;</code> + */ + public Builder clearPlayerID() { + bitField0_ = (bitField0_ & ~0x00000001); + playerID_ = 0; + onChanged(); + return this; + } + + private float valueFunction_ ; + /** + * <code>optional float valueFunction = 2;</code> + */ + public boolean hasValueFunction() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional float valueFunction = 2;</code> + */ + public float getValueFunction() { + return valueFunction_; + } + /** + * <code>optional float valueFunction = 2;</code> + */ + public Builder setValueFunction(float value) { + bitField0_ |= 0x00000002; + valueFunction_ = value; + onChanged(); + return this; + } + /** + * <code>optional float valueFunction = 2;</code> + */ + public Builder clearValueFunction() { + bitField0_ = (bitField0_ & ~0x00000002); + valueFunction_ = 0F; + onChanged(); + return this; + } + + private float actionLogp_ ; + /** + * <code>optional float actionLogp = 3;</code> + */ + public boolean hasActionLogp() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional float actionLogp = 3;</code> + */ + public float getActionLogp() { + return actionLogp_; + } + /** + * <code>optional float actionLogp = 3;</code> + */ + public Builder setActionLogp(float value) { + bitField0_ |= 0x00000004; + actionLogp_ = value; + onChanged(); + return this; + } + /** + * <code>optional float actionLogp = 3;</code> + */ + public Builder clearActionLogp() { + bitField0_ = (bitField0_ & ~0x00000004); + actionLogp_ = 0F; + onChanged(); + return this; + } + + private float reward_ ; + /** + * <code>optional float reward = 4;</code> + */ + public boolean hasReward() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional float reward = 4;</code> + */ + public float getReward() { + return reward_; + } + /** + * <code>optional float reward = 4;</code> + */ + public Builder setReward(float value) { + bitField0_ |= 0x00000008; + reward_ = value; + onChanged(); + return this; + } + /** + * <code>optional float reward = 4;</code> + */ + public Builder clearReward() { + bitField0_ = (bitField0_ & ~0x00000008); + reward_ = 0F; + onChanged(); + return this; + } + + private com.google.protobuf.Internal.IntList internalAction_ = emptyIntList(); + private void ensureInternalActionIsMutable() { + if (!((bitField0_ & 0x00000010) != 0)) { + internalAction_ = mutableCopy(internalAction_); + bitField0_ |= 0x00000010; + } + } + /** + * <code>repeated int32 internalAction = 5;</code> + */ + public java.util.List<java.lang.Integer> + getInternalActionList() { + return ((bitField0_ & 0x00000010) != 0) ? + java.util.Collections.unmodifiableList(internalAction_) : internalAction_; + } + /** + * <code>repeated int32 internalAction = 5;</code> + */ + public int getInternalActionCount() { + return internalAction_.size(); + } + /** + * <code>repeated int32 internalAction = 5;</code> + */ + public int getInternalAction(int index) { + return internalAction_.getInt(index); + } + /** + * <code>repeated int32 internalAction = 5;</code> + */ + public Builder setInternalAction( + int index, int value) { + ensureInternalActionIsMutable(); + internalAction_.setInt(index, value); + onChanged(); + return this; + } + /** + * <code>repeated int32 internalAction = 5;</code> + */ + public Builder addInternalAction(int value) { + ensureInternalActionIsMutable(); + internalAction_.addInt(value); + onChanged(); + return this; + } + /** + * <code>repeated int32 internalAction = 5;</code> + */ + public Builder addAllInternalAction( + java.lang.Iterable<? extends java.lang.Integer> values) { + ensureInternalActionIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, internalAction_); + onChanged(); + return this; + } + /** + * <code>repeated int32 internalAction = 5;</code> + */ + public Builder clearInternalAction() { + internalAction_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + private java.lang.Object actionName_ = ""; + /** + * <code>optional string actionName = 6;</code> + */ + public boolean hasActionName() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional string actionName = 6;</code> + */ + public java.lang.String getActionName() { + java.lang.Object ref = actionName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + actionName_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string actionName = 6;</code> + */ + public com.google.protobuf.ByteString + getActionNameBytes() { + java.lang.Object ref = actionName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + actionName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string actionName = 6;</code> + */ + public Builder setActionName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000020; + actionName_ = value; + onChanged(); + return this; + } + /** + * <code>optional string actionName = 6;</code> + */ + public Builder clearActionName() { + bitField0_ = (bitField0_ & ~0x00000020); + actionName_ = getDefaultInstance().getActionName(); + onChanged(); + return this; + } + /** + * <code>optional string actionName = 6;</code> + */ + public Builder setActionNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000020; + actionName_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.ByteString detailedStats_ = com.google.protobuf.ByteString.EMPTY; + /** + * <code>optional bytes detailedStats = 7;</code> + */ + public boolean hasDetailedStats() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>optional bytes detailedStats = 7;</code> + */ + public com.google.protobuf.ByteString getDetailedStats() { + return detailedStats_; + } + /** + * <code>optional bytes detailedStats = 7;</code> + */ + public Builder setDetailedStats(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000040; + detailedStats_ = value; + onChanged(); + return this; + } + /** + * <code>optional bytes detailedStats = 7;</code> + */ + public Builder clearDetailedStats() { + bitField0_ = (bitField0_ & ~0x00000040); + detailedStats_ = getDefaultInstance().getDetailedStats(); + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Actions.OceanAnnotation.Hero) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Actions.OceanAnnotation.Hero) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<Hero> + PARSER = new com.google.protobuf.AbstractParser<Hero>() { + @java.lang.Override + public Hero parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Hero(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Hero> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Hero> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private int bitField0_; + public static final int HEROES_FIELD_NUMBER = 1; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero> heroes_; + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero> getHeroesList() { + return heroes_; + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.HeroOrBuilder> + getHeroesOrBuilderList() { + return heroes_; + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public int getHeroesCount() { + return heroes_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero getHeroes(int index) { + return heroes_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.HeroOrBuilder getHeroesOrBuilder( + int index) { + return heroes_.get(index); + } + + public static final int AGENTID_FIELD_NUMBER = 5; + private volatile java.lang.Object agentID_; + /** + * <code>optional string agentID = 5;</code> + */ + public boolean hasAgentID() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional string agentID = 5;</code> + */ + public java.lang.String getAgentID() { + java.lang.Object ref = agentID_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + agentID_ = s; + } + return s; + } + } + /** + * <code>optional string agentID = 5;</code> + */ + public com.google.protobuf.ByteString + getAgentIDBytes() { + java.lang.Object ref = agentID_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + agentID_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int REWARDS_FIELD_NUMBER = 6; + private com.google.protobuf.Internal.FloatList rewards_; + /** + * <code>repeated float rewards = 6;</code> + */ + public java.util.List<java.lang.Float> + getRewardsList() { + return rewards_; + } + /** + * <code>repeated float rewards = 6;</code> + */ + public int getRewardsCount() { + return rewards_.size(); + } + /** + * <code>repeated float rewards = 6;</code> + */ + public float getRewards(int index) { + return rewards_.getFloat(index); + } + + public static final int REWARD_NAMES_FIELD_NUMBER = 7; + private com.google.protobuf.LazyStringList rewardNames_; + /** + * <code>repeated string reward_names = 7;</code> + */ + public com.google.protobuf.ProtocolStringList + getRewardNamesList() { + return rewardNames_; + } + /** + * <code>repeated string reward_names = 7;</code> + */ + public int getRewardNamesCount() { + return rewardNames_.size(); + } + /** + * <code>repeated string reward_names = 7;</code> + */ + public java.lang.String getRewardNames(int index) { + return rewardNames_.get(index); + } + /** + * <code>repeated string reward_names = 7;</code> + */ + public com.google.protobuf.ByteString + getRewardNamesBytes(int index) { + return rewardNames_.getByteString(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + for (int i = 0; i < getHeroesCount(); i++) { + if (!getHeroes(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < heroes_.size(); i++) { + output.writeMessage(1, heroes_.get(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 5, agentID_); + } + for (int i = 0; i < rewards_.size(); i++) { + output.writeFloat(6, rewards_.getFloat(i)); + } + for (int i = 0; i < rewardNames_.size(); i++) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 7, rewardNames_.getRaw(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < heroes_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, heroes_.get(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, agentID_); + } + { + int dataSize = 0; + dataSize = 4 * getRewardsList().size(); + size += dataSize; + size += 1 * getRewardsList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < rewardNames_.size(); i++) { + dataSize += computeStringSizeNoTag(rewardNames_.getRaw(i)); + } + size += dataSize; + size += 1 * getRewardNamesList().size(); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation) obj; + + if (!getHeroesList() + .equals(other.getHeroesList())) return false; + if (hasAgentID() != other.hasAgentID()) return false; + if (hasAgentID()) { + if (!getAgentID() + .equals(other.getAgentID())) return false; + } + if (!getRewardsList() + .equals(other.getRewardsList())) return false; + if (!getRewardNamesList() + .equals(other.getRewardNamesList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getHeroesCount() > 0) { + hash = (37 * hash) + HEROES_FIELD_NUMBER; + hash = (53 * hash) + getHeroesList().hashCode(); + } + if (hasAgentID()) { + hash = (37 * hash) + AGENTID_FIELD_NUMBER; + hash = (53 * hash) + getAgentID().hashCode(); + } + if (getRewardsCount() > 0) { + hash = (37 * hash) + REWARDS_FIELD_NUMBER; + hash = (53 * hash) + getRewardsList().hashCode(); + } + if (getRewardNamesCount() > 0) { + hash = (37 * hash) + REWARD_NAMES_FIELD_NUMBER; + hash = (53 * hash) + getRewardNamesList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Actions.OceanAnnotation} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Actions.OceanAnnotation) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotationOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_OceanAnnotation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_OceanAnnotation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getHeroesFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (heroesBuilder_ == null) { + heroes_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + heroesBuilder_.clear(); + } + agentID_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + rewards_ = emptyFloatList(); + bitField0_ = (bitField0_ & ~0x00000004); + rewardNames_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_OceanAnnotation_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (heroesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + heroes_ = java.util.Collections.unmodifiableList(heroes_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.heroes_ = heroes_; + } else { + result.heroes_ = heroesBuilder_.build(); + } + if (((from_bitField0_ & 0x00000002) != 0)) { + to_bitField0_ |= 0x00000001; + } + result.agentID_ = agentID_; + if (((bitField0_ & 0x00000004) != 0)) { + rewards_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.rewards_ = rewards_; + if (((bitField0_ & 0x00000008) != 0)) { + rewardNames_ = rewardNames_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000008); + } + result.rewardNames_ = rewardNames_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.getDefaultInstance()) return this; + if (heroesBuilder_ == null) { + if (!other.heroes_.isEmpty()) { + if (heroes_.isEmpty()) { + heroes_ = other.heroes_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureHeroesIsMutable(); + heroes_.addAll(other.heroes_); + } + onChanged(); + } + } else { + if (!other.heroes_.isEmpty()) { + if (heroesBuilder_.isEmpty()) { + heroesBuilder_.dispose(); + heroesBuilder_ = null; + heroes_ = other.heroes_; + bitField0_ = (bitField0_ & ~0x00000001); + heroesBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getHeroesFieldBuilder() : null; + } else { + heroesBuilder_.addAllMessages(other.heroes_); + } + } + } + if (other.hasAgentID()) { + bitField0_ |= 0x00000002; + agentID_ = other.agentID_; + onChanged(); + } + if (!other.rewards_.isEmpty()) { + if (rewards_.isEmpty()) { + rewards_ = other.rewards_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureRewardsIsMutable(); + rewards_.addAll(other.rewards_); + } + onChanged(); + } + if (!other.rewardNames_.isEmpty()) { + if (rewardNames_.isEmpty()) { + rewardNames_ = other.rewardNames_; + bitField0_ = (bitField0_ & ~0x00000008); + } else { + ensureRewardNamesIsMutable(); + rewardNames_.addAll(other.rewardNames_); + } + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + for (int i = 0; i < getHeroesCount(); i++) { + if (!getHeroes(i).isInitialized()) { + return false; + } + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero> heroes_ = + java.util.Collections.emptyList(); + private void ensureHeroesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + heroes_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero>(heroes_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.HeroOrBuilder> heroesBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero> getHeroesList() { + if (heroesBuilder_ == null) { + return java.util.Collections.unmodifiableList(heroes_); + } else { + return heroesBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public int getHeroesCount() { + if (heroesBuilder_ == null) { + return heroes_.size(); + } else { + return heroesBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero getHeroes(int index) { + if (heroesBuilder_ == null) { + return heroes_.get(index); + } else { + return heroesBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public Builder setHeroes( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero value) { + if (heroesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureHeroesIsMutable(); + heroes_.set(index, value); + onChanged(); + } else { + heroesBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public Builder setHeroes( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.Builder builderForValue) { + if (heroesBuilder_ == null) { + ensureHeroesIsMutable(); + heroes_.set(index, builderForValue.build()); + onChanged(); + } else { + heroesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public Builder addHeroes(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero value) { + if (heroesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureHeroesIsMutable(); + heroes_.add(value); + onChanged(); + } else { + heroesBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public Builder addHeroes( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero value) { + if (heroesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureHeroesIsMutable(); + heroes_.add(index, value); + onChanged(); + } else { + heroesBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public Builder addHeroes( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.Builder builderForValue) { + if (heroesBuilder_ == null) { + ensureHeroesIsMutable(); + heroes_.add(builderForValue.build()); + onChanged(); + } else { + heroesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public Builder addHeroes( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.Builder builderForValue) { + if (heroesBuilder_ == null) { + ensureHeroesIsMutable(); + heroes_.add(index, builderForValue.build()); + onChanged(); + } else { + heroesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public Builder addAllHeroes( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero> values) { + if (heroesBuilder_ == null) { + ensureHeroesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, heroes_); + onChanged(); + } else { + heroesBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public Builder clearHeroes() { + if (heroesBuilder_ == null) { + heroes_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + heroesBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public Builder removeHeroes(int index) { + if (heroesBuilder_ == null) { + ensureHeroesIsMutable(); + heroes_.remove(index); + onChanged(); + } else { + heroesBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.Builder getHeroesBuilder( + int index) { + return getHeroesFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.HeroOrBuilder getHeroesOrBuilder( + int index) { + if (heroesBuilder_ == null) { + return heroes_.get(index); } else { + return heroesBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.HeroOrBuilder> + getHeroesOrBuilderList() { + if (heroesBuilder_ != null) { + return heroesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(heroes_); + } + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.Builder addHeroesBuilder() { + return getHeroesFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.Builder addHeroesBuilder( + int index) { + return getHeroesFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.Actions.OceanAnnotation.Hero heroes = 1;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.Builder> + getHeroesBuilderList() { + return getHeroesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.HeroOrBuilder> + getHeroesFieldBuilder() { + if (heroesBuilder_ == null) { + heroesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Hero.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.HeroOrBuilder>( + heroes_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + heroes_ = null; + } + return heroesBuilder_; + } + + private java.lang.Object agentID_ = ""; + /** + * <code>optional string agentID = 5;</code> + */ + public boolean hasAgentID() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional string agentID = 5;</code> + */ + public java.lang.String getAgentID() { + java.lang.Object ref = agentID_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + agentID_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string agentID = 5;</code> + */ + public com.google.protobuf.ByteString + getAgentIDBytes() { + java.lang.Object ref = agentID_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + agentID_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string agentID = 5;</code> + */ + public Builder setAgentID( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + agentID_ = value; + onChanged(); + return this; + } + /** + * <code>optional string agentID = 5;</code> + */ + public Builder clearAgentID() { + bitField0_ = (bitField0_ & ~0x00000002); + agentID_ = getDefaultInstance().getAgentID(); + onChanged(); + return this; + } + /** + * <code>optional string agentID = 5;</code> + */ + public Builder setAgentIDBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + agentID_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.Internal.FloatList rewards_ = emptyFloatList(); + private void ensureRewardsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + rewards_ = mutableCopy(rewards_); + bitField0_ |= 0x00000004; + } + } + /** + * <code>repeated float rewards = 6;</code> + */ + public java.util.List<java.lang.Float> + getRewardsList() { + return ((bitField0_ & 0x00000004) != 0) ? + java.util.Collections.unmodifiableList(rewards_) : rewards_; + } + /** + * <code>repeated float rewards = 6;</code> + */ + public int getRewardsCount() { + return rewards_.size(); + } + /** + * <code>repeated float rewards = 6;</code> + */ + public float getRewards(int index) { + return rewards_.getFloat(index); + } + /** + * <code>repeated float rewards = 6;</code> + */ + public Builder setRewards( + int index, float value) { + ensureRewardsIsMutable(); + rewards_.setFloat(index, value); + onChanged(); + return this; + } + /** + * <code>repeated float rewards = 6;</code> + */ + public Builder addRewards(float value) { + ensureRewardsIsMutable(); + rewards_.addFloat(value); + onChanged(); + return this; + } + /** + * <code>repeated float rewards = 6;</code> + */ + public Builder addAllRewards( + java.lang.Iterable<? extends java.lang.Float> values) { + ensureRewardsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, rewards_); + onChanged(); + return this; + } + /** + * <code>repeated float rewards = 6;</code> + */ + public Builder clearRewards() { + rewards_ = emptyFloatList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringList rewardNames_ = com.google.protobuf.LazyStringArrayList.EMPTY; + private void ensureRewardNamesIsMutable() { + if (!((bitField0_ & 0x00000008) != 0)) { + rewardNames_ = new com.google.protobuf.LazyStringArrayList(rewardNames_); + bitField0_ |= 0x00000008; + } + } + /** + * <code>repeated string reward_names = 7;</code> + */ + public com.google.protobuf.ProtocolStringList + getRewardNamesList() { + return rewardNames_.getUnmodifiableView(); + } + /** + * <code>repeated string reward_names = 7;</code> + */ + public int getRewardNamesCount() { + return rewardNames_.size(); + } + /** + * <code>repeated string reward_names = 7;</code> + */ + public java.lang.String getRewardNames(int index) { + return rewardNames_.get(index); + } + /** + * <code>repeated string reward_names = 7;</code> + */ + public com.google.protobuf.ByteString + getRewardNamesBytes(int index) { + return rewardNames_.getByteString(index); + } + /** + * <code>repeated string reward_names = 7;</code> + */ + public Builder setRewardNames( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureRewardNamesIsMutable(); + rewardNames_.set(index, value); + onChanged(); + return this; + } + /** + * <code>repeated string reward_names = 7;</code> + */ + public Builder addRewardNames( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureRewardNamesIsMutable(); + rewardNames_.add(value); + onChanged(); + return this; + } + /** + * <code>repeated string reward_names = 7;</code> + */ + public Builder addAllRewardNames( + java.lang.Iterable<java.lang.String> values) { + ensureRewardNamesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, rewardNames_); + onChanged(); + return this; + } + /** + * <code>repeated string reward_names = 7;</code> + */ + public Builder clearRewardNames() { + rewardNames_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + /** + * <code>repeated string reward_names = 7;</code> + */ + public Builder addRewardNamesBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + ensureRewardNamesIsMutable(); + rewardNames_.add(value); + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Actions.OceanAnnotation) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Actions.OceanAnnotation) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<OceanAnnotation> + PARSER = new com.google.protobuf.AbstractParser<OceanAnnotation>() { + @java.lang.Override + public OceanAnnotation parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new OceanAnnotation(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<OceanAnnotation> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<OceanAnnotation> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface HeaderOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Actions.Header) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional float startTime = 1;</code> + */ + boolean hasStartTime(); + /** + * <code>optional float startTime = 1;</code> + */ + float getStartTime(); + + /** + * <code>optional string name = 2;</code> + */ + boolean hasName(); + /** + * <code>optional string name = 2;</code> + */ + java.lang.String getName(); + /** + * <code>optional string name = 2;</code> + */ + com.google.protobuf.ByteString + getNameBytes(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Actions.Header} + */ + public static final class Header extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Actions.Header) + HeaderOrBuilder { + private static final long serialVersionUID = 0L; + // Use Header.newBuilder() to construct. + private Header(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Header() { + name_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Header( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 13: { + bitField0_ |= 0x00000001; + startTime_ = input.readFloat(); + break; + } + case 18: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000002; + name_ = bs; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_Header_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_Header_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.Builder.class); + } + + private int bitField0_; + public static final int STARTTIME_FIELD_NUMBER = 1; + private float startTime_; + /** + * <code>optional float startTime = 1;</code> + */ + public boolean hasStartTime() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional float startTime = 1;</code> + */ + public float getStartTime() { + return startTime_; + } + + public static final int NAME_FIELD_NUMBER = 2; + private volatile java.lang.Object name_; + /** + * <code>optional string name = 2;</code> + */ + public boolean hasName() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional string name = 2;</code> + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + name_ = s; + } + return s; + } + } + /** + * <code>optional string name = 2;</code> + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeFloat(1, startTime_); + } + if (((bitField0_ & 0x00000002) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(1, startTime_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header) obj; + + if (hasStartTime() != other.hasStartTime()) return false; + if (hasStartTime()) { + if (java.lang.Float.floatToIntBits(getStartTime()) + != java.lang.Float.floatToIntBits( + other.getStartTime())) return false; + } + if (hasName() != other.hasName()) return false; + if (hasName()) { + if (!getName() + .equals(other.getName())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasStartTime()) { + hash = (37 * hash) + STARTTIME_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getStartTime()); + } + if (hasName()) { + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Actions.Header} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Actions.Header) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.HeaderOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_Header_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_Header_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + startTime_ = 0F; + bitField0_ = (bitField0_ & ~0x00000001); + name_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_Header_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.startTime_ = startTime_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + to_bitField0_ |= 0x00000002; + } + result.name_ = name_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.getDefaultInstance()) return this; + if (other.hasStartTime()) { + setStartTime(other.getStartTime()); + } + if (other.hasName()) { + bitField0_ |= 0x00000002; + name_ = other.name_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private float startTime_ ; + /** + * <code>optional float startTime = 1;</code> + */ + public boolean hasStartTime() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional float startTime = 1;</code> + */ + public float getStartTime() { + return startTime_; + } + /** + * <code>optional float startTime = 1;</code> + */ + public Builder setStartTime(float value) { + bitField0_ |= 0x00000001; + startTime_ = value; + onChanged(); + return this; + } + /** + * <code>optional float startTime = 1;</code> + */ + public Builder clearStartTime() { + bitField0_ = (bitField0_ & ~0x00000001); + startTime_ = 0F; + onChanged(); + return this; + } + + private java.lang.Object name_ = ""; + /** + * <code>optional string name = 2;</code> + */ + public boolean hasName() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional string name = 2;</code> + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + name_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string name = 2;</code> + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string name = 2;</code> + */ + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + name_ = value; + onChanged(); + return this; + } + /** + * <code>optional string name = 2;</code> + */ + public Builder clearName() { + bitField0_ = (bitField0_ & ~0x00000002); + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * <code>optional string name = 2;</code> + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + name_ = value; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Actions.Header) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Actions.Header) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<Header> + PARSER = new com.google.protobuf.AbstractParser<Header>() { + @java.lang.Override + public Header parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Header(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Header> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Header> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private int bitField0_; + public static final int DOTA_TIME_FIELD_NUMBER = 1; + private float dotaTime_; + /** + * <code>optional float dota_time = 1 [default = -100];</code> + */ + public boolean hasDotaTime() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional float dota_time = 1 [default = -100];</code> + */ + public float getDotaTime() { + return dotaTime_; + } + + public static final int ACTIONS_FIELD_NUMBER = 2; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action> actions_; + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action> getActionsList() { + return actions_; + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.ActionOrBuilder> + getActionsOrBuilderList() { + return actions_; + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public int getActionsCount() { + return actions_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action getActions(int index) { + return actions_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.ActionOrBuilder getActionsOrBuilder( + int index) { + return actions_.get(index); + } + + public static final int EXTRADATA_FIELD_NUMBER = 3; + private volatile java.lang.Object extraData_; + /** + * <code>optional string extraData = 3;</code> + */ + public boolean hasExtraData() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional string extraData = 3;</code> + */ + public java.lang.String getExtraData() { + java.lang.Object ref = extraData_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + extraData_ = s; + } + return s; + } + } + /** + * <code>optional string extraData = 3;</code> + */ + public com.google.protobuf.ByteString + getExtraDataBytes() { + java.lang.Object ref = extraData_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + extraData_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int OCEANANNOTATION_FIELD_NUMBER = 4; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation oceanAnnotation_; + /** + * <code>optional .CMsgBotWorldState.Actions.OceanAnnotation oceanAnnotation = 4;</code> + */ + public boolean hasOceanAnnotation() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Actions.OceanAnnotation oceanAnnotation = 4;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation getOceanAnnotation() { + return oceanAnnotation_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.getDefaultInstance() : oceanAnnotation_; + } + /** + * <code>optional .CMsgBotWorldState.Actions.OceanAnnotation oceanAnnotation = 4;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotationOrBuilder getOceanAnnotationOrBuilder() { + return oceanAnnotation_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.getDefaultInstance() : oceanAnnotation_; + } + + public static final int HEADER_FIELD_NUMBER = 5; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header header_; + /** + * <code>optional .CMsgBotWorldState.Actions.Header header = 5;</code> + */ + public boolean hasHeader() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Actions.Header header = 5;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header getHeader() { + return header_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.getDefaultInstance() : header_; + } + /** + * <code>optional .CMsgBotWorldState.Actions.Header header = 5;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.HeaderOrBuilder getHeaderOrBuilder() { + return header_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.getDefaultInstance() : header_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + for (int i = 0; i < getActionsCount(); i++) { + if (!getActions(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasOceanAnnotation()) { + if (!getOceanAnnotation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeFloat(1, dotaTime_); + } + for (int i = 0; i < actions_.size(); i++) { + output.writeMessage(2, actions_.get(i)); + } + if (((bitField0_ & 0x00000002) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, extraData_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeMessage(4, getOceanAnnotation()); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeMessage(5, getHeader()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(1, dotaTime_); + } + for (int i = 0; i < actions_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, actions_.get(i)); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, extraData_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, getOceanAnnotation()); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getHeader()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions) obj; + + if (hasDotaTime() != other.hasDotaTime()) return false; + if (hasDotaTime()) { + if (java.lang.Float.floatToIntBits(getDotaTime()) + != java.lang.Float.floatToIntBits( + other.getDotaTime())) return false; + } + if (!getActionsList() + .equals(other.getActionsList())) return false; + if (hasExtraData() != other.hasExtraData()) return false; + if (hasExtraData()) { + if (!getExtraData() + .equals(other.getExtraData())) return false; + } + if (hasOceanAnnotation() != other.hasOceanAnnotation()) return false; + if (hasOceanAnnotation()) { + if (!getOceanAnnotation() + .equals(other.getOceanAnnotation())) return false; + } + if (hasHeader() != other.hasHeader()) return false; + if (hasHeader()) { + if (!getHeader() + .equals(other.getHeader())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasDotaTime()) { + hash = (37 * hash) + DOTA_TIME_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getDotaTime()); + } + if (getActionsCount() > 0) { + hash = (37 * hash) + ACTIONS_FIELD_NUMBER; + hash = (53 * hash) + getActionsList().hashCode(); + } + if (hasExtraData()) { + hash = (37 * hash) + EXTRADATA_FIELD_NUMBER; + hash = (53 * hash) + getExtraData().hashCode(); + } + if (hasOceanAnnotation()) { + hash = (37 * hash) + OCEANANNOTATION_FIELD_NUMBER; + hash = (53 * hash) + getOceanAnnotation().hashCode(); + } + if (hasHeader()) { + hash = (37 * hash) + HEADER_FIELD_NUMBER; + hash = (53 * hash) + getHeader().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Actions} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Actions) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.ActionsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getActionsFieldBuilder(); + getOceanAnnotationFieldBuilder(); + getHeaderFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + dotaTime_ = -100F; + bitField0_ = (bitField0_ & ~0x00000001); + if (actionsBuilder_ == null) { + actions_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + } else { + actionsBuilder_.clear(); + } + extraData_ = ""; + bitField0_ = (bitField0_ & ~0x00000004); + if (oceanAnnotationBuilder_ == null) { + oceanAnnotation_ = null; + } else { + oceanAnnotationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + if (headerBuilder_ == null) { + header_ = null; + } else { + headerBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Actions_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + to_bitField0_ |= 0x00000001; + } + result.dotaTime_ = dotaTime_; + if (actionsBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + actions_ = java.util.Collections.unmodifiableList(actions_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.actions_ = actions_; + } else { + result.actions_ = actionsBuilder_.build(); + } + if (((from_bitField0_ & 0x00000004) != 0)) { + to_bitField0_ |= 0x00000002; + } + result.extraData_ = extraData_; + if (((from_bitField0_ & 0x00000008) != 0)) { + if (oceanAnnotationBuilder_ == null) { + result.oceanAnnotation_ = oceanAnnotation_; + } else { + result.oceanAnnotation_ = oceanAnnotationBuilder_.build(); + } + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + if (headerBuilder_ == null) { + result.header_ = header_; + } else { + result.header_ = headerBuilder_.build(); + } + to_bitField0_ |= 0x00000008; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.getDefaultInstance()) return this; + if (other.hasDotaTime()) { + setDotaTime(other.getDotaTime()); + } + if (actionsBuilder_ == null) { + if (!other.actions_.isEmpty()) { + if (actions_.isEmpty()) { + actions_ = other.actions_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureActionsIsMutable(); + actions_.addAll(other.actions_); + } + onChanged(); + } + } else { + if (!other.actions_.isEmpty()) { + if (actionsBuilder_.isEmpty()) { + actionsBuilder_.dispose(); + actionsBuilder_ = null; + actions_ = other.actions_; + bitField0_ = (bitField0_ & ~0x00000002); + actionsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getActionsFieldBuilder() : null; + } else { + actionsBuilder_.addAllMessages(other.actions_); + } + } + } + if (other.hasExtraData()) { + bitField0_ |= 0x00000004; + extraData_ = other.extraData_; + onChanged(); + } + if (other.hasOceanAnnotation()) { + mergeOceanAnnotation(other.getOceanAnnotation()); + } + if (other.hasHeader()) { + mergeHeader(other.getHeader()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + for (int i = 0; i < getActionsCount(); i++) { + if (!getActions(i).isInitialized()) { + return false; + } + } + if (hasOceanAnnotation()) { + if (!getOceanAnnotation().isInitialized()) { + return false; + } + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private float dotaTime_ = -100F; + /** + * <code>optional float dota_time = 1 [default = -100];</code> + */ + public boolean hasDotaTime() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional float dota_time = 1 [default = -100];</code> + */ + public float getDotaTime() { + return dotaTime_; + } + /** + * <code>optional float dota_time = 1 [default = -100];</code> + */ + public Builder setDotaTime(float value) { + bitField0_ |= 0x00000001; + dotaTime_ = value; + onChanged(); + return this; + } + /** + * <code>optional float dota_time = 1 [default = -100];</code> + */ + public Builder clearDotaTime() { + bitField0_ = (bitField0_ & ~0x00000001); + dotaTime_ = -100F; + onChanged(); + return this; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action> actions_ = + java.util.Collections.emptyList(); + private void ensureActionsIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + actions_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action>(actions_); + bitField0_ |= 0x00000002; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.ActionOrBuilder> actionsBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action> getActionsList() { + if (actionsBuilder_ == null) { + return java.util.Collections.unmodifiableList(actions_); + } else { + return actionsBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public int getActionsCount() { + if (actionsBuilder_ == null) { + return actions_.size(); + } else { + return actionsBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action getActions(int index) { + if (actionsBuilder_ == null) { + return actions_.get(index); + } else { + return actionsBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public Builder setActions( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action value) { + if (actionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureActionsIsMutable(); + actions_.set(index, value); + onChanged(); + } else { + actionsBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public Builder setActions( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Builder builderForValue) { + if (actionsBuilder_ == null) { + ensureActionsIsMutable(); + actions_.set(index, builderForValue.build()); + onChanged(); + } else { + actionsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public Builder addActions(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action value) { + if (actionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureActionsIsMutable(); + actions_.add(value); + onChanged(); + } else { + actionsBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public Builder addActions( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action value) { + if (actionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureActionsIsMutable(); + actions_.add(index, value); + onChanged(); + } else { + actionsBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public Builder addActions( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Builder builderForValue) { + if (actionsBuilder_ == null) { + ensureActionsIsMutable(); + actions_.add(builderForValue.build()); + onChanged(); + } else { + actionsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public Builder addActions( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Builder builderForValue) { + if (actionsBuilder_ == null) { + ensureActionsIsMutable(); + actions_.add(index, builderForValue.build()); + onChanged(); + } else { + actionsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public Builder addAllActions( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action> values) { + if (actionsBuilder_ == null) { + ensureActionsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, actions_); + onChanged(); + } else { + actionsBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public Builder clearActions() { + if (actionsBuilder_ == null) { + actions_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + actionsBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public Builder removeActions(int index) { + if (actionsBuilder_ == null) { + ensureActionsIsMutable(); + actions_.remove(index); + onChanged(); + } else { + actionsBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Builder getActionsBuilder( + int index) { + return getActionsFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.ActionOrBuilder getActionsOrBuilder( + int index) { + if (actionsBuilder_ == null) { + return actions_.get(index); } else { + return actionsBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.ActionOrBuilder> + getActionsOrBuilderList() { + if (actionsBuilder_ != null) { + return actionsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(actions_); + } + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Builder addActionsBuilder() { + return getActionsFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Builder addActionsBuilder( + int index) { + return getActionsFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.Action actions = 2;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Builder> + getActionsBuilderList() { + return getActionsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.ActionOrBuilder> + getActionsFieldBuilder() { + if (actionsBuilder_ == null) { + actionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.ActionOrBuilder>( + actions_, + ((bitField0_ & 0x00000002) != 0), + getParentForChildren(), + isClean()); + actions_ = null; + } + return actionsBuilder_; + } + + private java.lang.Object extraData_ = ""; + /** + * <code>optional string extraData = 3;</code> + */ + public boolean hasExtraData() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional string extraData = 3;</code> + */ + public java.lang.String getExtraData() { + java.lang.Object ref = extraData_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + extraData_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string extraData = 3;</code> + */ + public com.google.protobuf.ByteString + getExtraDataBytes() { + java.lang.Object ref = extraData_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + extraData_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string extraData = 3;</code> + */ + public Builder setExtraData( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + extraData_ = value; + onChanged(); + return this; + } + /** + * <code>optional string extraData = 3;</code> + */ + public Builder clearExtraData() { + bitField0_ = (bitField0_ & ~0x00000004); + extraData_ = getDefaultInstance().getExtraData(); + onChanged(); + return this; + } + /** + * <code>optional string extraData = 3;</code> + */ + public Builder setExtraDataBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + extraData_ = value; + onChanged(); + return this; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation oceanAnnotation_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotationOrBuilder> oceanAnnotationBuilder_; + /** + * <code>optional .CMsgBotWorldState.Actions.OceanAnnotation oceanAnnotation = 4;</code> + */ + public boolean hasOceanAnnotation() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Actions.OceanAnnotation oceanAnnotation = 4;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation getOceanAnnotation() { + if (oceanAnnotationBuilder_ == null) { + return oceanAnnotation_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.getDefaultInstance() : oceanAnnotation_; + } else { + return oceanAnnotationBuilder_.getMessage(); + } + } + /** + * <code>optional .CMsgBotWorldState.Actions.OceanAnnotation oceanAnnotation = 4;</code> + */ + public Builder setOceanAnnotation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation value) { + if (oceanAnnotationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + oceanAnnotation_ = value; + onChanged(); + } else { + oceanAnnotationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Actions.OceanAnnotation oceanAnnotation = 4;</code> + */ + public Builder setOceanAnnotation( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Builder builderForValue) { + if (oceanAnnotationBuilder_ == null) { + oceanAnnotation_ = builderForValue.build(); + onChanged(); + } else { + oceanAnnotationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Actions.OceanAnnotation oceanAnnotation = 4;</code> + */ + public Builder mergeOceanAnnotation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation value) { + if (oceanAnnotationBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0) && + oceanAnnotation_ != null && + oceanAnnotation_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.getDefaultInstance()) { + oceanAnnotation_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.newBuilder(oceanAnnotation_).mergeFrom(value).buildPartial(); + } else { + oceanAnnotation_ = value; + } + onChanged(); + } else { + oceanAnnotationBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Actions.OceanAnnotation oceanAnnotation = 4;</code> + */ + public Builder clearOceanAnnotation() { + if (oceanAnnotationBuilder_ == null) { + oceanAnnotation_ = null; + onChanged(); + } else { + oceanAnnotationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + /** + * <code>optional .CMsgBotWorldState.Actions.OceanAnnotation oceanAnnotation = 4;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Builder getOceanAnnotationBuilder() { + bitField0_ |= 0x00000008; + onChanged(); + return getOceanAnnotationFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Actions.OceanAnnotation oceanAnnotation = 4;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotationOrBuilder getOceanAnnotationOrBuilder() { + if (oceanAnnotationBuilder_ != null) { + return oceanAnnotationBuilder_.getMessageOrBuilder(); + } else { + return oceanAnnotation_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.getDefaultInstance() : oceanAnnotation_; + } + } + /** + * <code>optional .CMsgBotWorldState.Actions.OceanAnnotation oceanAnnotation = 4;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotationOrBuilder> + getOceanAnnotationFieldBuilder() { + if (oceanAnnotationBuilder_ == null) { + oceanAnnotationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotation.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.OceanAnnotationOrBuilder>( + getOceanAnnotation(), + getParentForChildren(), + isClean()); + oceanAnnotation_ = null; + } + return oceanAnnotationBuilder_; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header header_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.HeaderOrBuilder> headerBuilder_; + /** + * <code>optional .CMsgBotWorldState.Actions.Header header = 5;</code> + */ + public boolean hasHeader() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Actions.Header header = 5;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header getHeader() { + if (headerBuilder_ == null) { + return header_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.getDefaultInstance() : header_; + } else { + return headerBuilder_.getMessage(); + } + } + /** + * <code>optional .CMsgBotWorldState.Actions.Header header = 5;</code> + */ + public Builder setHeader(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header value) { + if (headerBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + header_ = value; + onChanged(); + } else { + headerBuilder_.setMessage(value); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Actions.Header header = 5;</code> + */ + public Builder setHeader( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.Builder builderForValue) { + if (headerBuilder_ == null) { + header_ = builderForValue.build(); + onChanged(); + } else { + headerBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Actions.Header header = 5;</code> + */ + public Builder mergeHeader(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header value) { + if (headerBuilder_ == null) { + if (((bitField0_ & 0x00000010) != 0) && + header_ != null && + header_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.getDefaultInstance()) { + header_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.newBuilder(header_).mergeFrom(value).buildPartial(); + } else { + header_ = value; + } + onChanged(); + } else { + headerBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Actions.Header header = 5;</code> + */ + public Builder clearHeader() { + if (headerBuilder_ == null) { + header_ = null; + onChanged(); + } else { + headerBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + /** + * <code>optional .CMsgBotWorldState.Actions.Header header = 5;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.Builder getHeaderBuilder() { + bitField0_ |= 0x00000010; + onChanged(); + return getHeaderFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Actions.Header header = 5;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.HeaderOrBuilder getHeaderOrBuilder() { + if (headerBuilder_ != null) { + return headerBuilder_.getMessageOrBuilder(); + } else { + return header_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.getDefaultInstance() : header_; + } + } + /** + * <code>optional .CMsgBotWorldState.Actions.Header header = 5;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.HeaderOrBuilder> + getHeaderFieldBuilder() { + if (headerBuilder_ == null) { + headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.Header.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions.HeaderOrBuilder>( + getHeader(), + getParentForChildren(), + isClean()); + header_ = null; + } + return headerBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Actions) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Actions) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<Actions> + PARSER = new com.google.protobuf.AbstractParser<Actions>() { + @java.lang.Override + public Actions parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Actions(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Actions> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Actions> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Actions getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ActionOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required .CMsgBotWorldState.Action.Type actionType = 1 [default = DOTA_UNIT_ORDER_NONE];</code> + */ + boolean hasActionType(); + /** + * <code>required .CMsgBotWorldState.Action.Type actionType = 1 [default = DOTA_UNIT_ORDER_NONE];</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Type getActionType(); + + /** + * <code>optional int32 player = 2 [default = -1];</code> + */ + boolean hasPlayer(); + /** + * <code>optional int32 player = 2 [default = -1];</code> + */ + int getPlayer(); + + /** + * <code>optional int32 actionID = 4 [default = -1];</code> + */ + boolean hasActionID(); + /** + * <code>optional int32 actionID = 4 [default = -1];</code> + */ + int getActionID(); + + /** + * <code>optional int32 actionDelay = 10 [default = 0];</code> + */ + boolean hasActionDelay(); + /** + * <code>optional int32 actionDelay = 10 [default = 0];</code> + */ + int getActionDelay(); + + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveToLocation = 101;</code> + */ + boolean hasMoveToLocation(); + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveToLocation = 101;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation getMoveToLocation(); + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveToLocation = 101;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocationOrBuilder getMoveToLocationOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.MoveToTarget moveToTarget = 102;</code> + */ + boolean hasMoveToTarget(); + /** + * <code>optional .CMsgBotWorldState.Action.MoveToTarget moveToTarget = 102;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget getMoveToTarget(); + /** + * <code>optional .CMsgBotWorldState.Action.MoveToTarget moveToTarget = 102;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTargetOrBuilder getMoveToTargetOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.AttackMove attackMove = 103;</code> + */ + boolean hasAttackMove(); + /** + * <code>optional .CMsgBotWorldState.Action.AttackMove attackMove = 103;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove getAttackMove(); + /** + * <code>optional .CMsgBotWorldState.Action.AttackMove attackMove = 103;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMoveOrBuilder getAttackMoveOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.AttackTarget attackTarget = 104;</code> + */ + boolean hasAttackTarget(); + /** + * <code>optional .CMsgBotWorldState.Action.AttackTarget attackTarget = 104;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget getAttackTarget(); + /** + * <code>optional .CMsgBotWorldState.Action.AttackTarget attackTarget = 104;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTargetOrBuilder getAttackTargetOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.CastLocation castLocation = 105;</code> + */ + boolean hasCastLocation(); + /** + * <code>optional .CMsgBotWorldState.Action.CastLocation castLocation = 105;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation getCastLocation(); + /** + * <code>optional .CMsgBotWorldState.Action.CastLocation castLocation = 105;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocationOrBuilder getCastLocationOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.CastTarget castTarget = 106;</code> + */ + boolean hasCastTarget(); + /** + * <code>optional .CMsgBotWorldState.Action.CastTarget castTarget = 106;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget getCastTarget(); + /** + * <code>optional .CMsgBotWorldState.Action.CastTarget castTarget = 106;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTargetOrBuilder getCastTargetOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.CastTree castTree = 107;</code> + */ + boolean hasCastTree(); + /** + * <code>optional .CMsgBotWorldState.Action.CastTree castTree = 107;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree getCastTree(); + /** + * <code>optional .CMsgBotWorldState.Action.CastTree castTree = 107;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTreeOrBuilder getCastTreeOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.Cast cast = 108;</code> + */ + boolean hasCast(); + /** + * <code>optional .CMsgBotWorldState.Action.Cast cast = 108;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast getCast(); + /** + * <code>optional .CMsgBotWorldState.Action.Cast cast = 108;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastOrBuilder getCastOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.CastToggle castToggle = 109;</code> + */ + boolean hasCastToggle(); + /** + * <code>optional .CMsgBotWorldState.Action.CastToggle castToggle = 109;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle getCastToggle(); + /** + * <code>optional .CMsgBotWorldState.Action.CastToggle castToggle = 109;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggleOrBuilder getCastToggleOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.HoldLocation holdLocation = 110;</code> + */ + boolean hasHoldLocation(); + /** + * <code>optional .CMsgBotWorldState.Action.HoldLocation holdLocation = 110;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation getHoldLocation(); + /** + * <code>optional .CMsgBotWorldState.Action.HoldLocation holdLocation = 110;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocationOrBuilder getHoldLocationOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.TrainAbility trainAbility = 111;</code> + */ + boolean hasTrainAbility(); + /** + * <code>optional .CMsgBotWorldState.Action.TrainAbility trainAbility = 111;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility getTrainAbility(); + /** + * <code>optional .CMsgBotWorldState.Action.TrainAbility trainAbility = 111;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbilityOrBuilder getTrainAbilityOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.DropItem dropItem = 112;</code> + */ + boolean hasDropItem(); + /** + * <code>optional .CMsgBotWorldState.Action.DropItem dropItem = 112;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem getDropItem(); + /** + * <code>optional .CMsgBotWorldState.Action.DropItem dropItem = 112;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItemOrBuilder getDropItemOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.PickUpItem pickUpItem = 114;</code> + */ + boolean hasPickUpItem(); + /** + * <code>optional .CMsgBotWorldState.Action.PickUpItem pickUpItem = 114;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem getPickUpItem(); + /** + * <code>optional .CMsgBotWorldState.Action.PickUpItem pickUpItem = 114;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItemOrBuilder getPickUpItemOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.PickupRune pickupRune = 115;</code> + */ + boolean hasPickupRune(); + /** + * <code>optional .CMsgBotWorldState.Action.PickupRune pickupRune = 115;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune getPickupRune(); + /** + * <code>optional .CMsgBotWorldState.Action.PickupRune pickupRune = 115;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRuneOrBuilder getPickupRuneOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.PurchaseItem purchaseItem = 116;</code> + */ + boolean hasPurchaseItem(); + /** + * <code>optional .CMsgBotWorldState.Action.PurchaseItem purchaseItem = 116;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem getPurchaseItem(); + /** + * <code>optional .CMsgBotWorldState.Action.PurchaseItem purchaseItem = 116;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItemOrBuilder getPurchaseItemOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.SellItem sellItem = 117;</code> + */ + boolean hasSellItem(); + /** + * <code>optional .CMsgBotWorldState.Action.SellItem sellItem = 117;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem getSellItem(); + /** + * <code>optional .CMsgBotWorldState.Action.SellItem sellItem = 117;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItemOrBuilder getSellItemOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.DisassembleItem disassembleItem = 118;</code> + */ + boolean hasDisassembleItem(); + /** + * <code>optional .CMsgBotWorldState.Action.DisassembleItem disassembleItem = 118;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem getDisassembleItem(); + /** + * <code>optional .CMsgBotWorldState.Action.DisassembleItem disassembleItem = 118;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItemOrBuilder getDisassembleItemOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.SetCombineLockItem setCombineLockItem = 132;</code> + */ + boolean hasSetCombineLockItem(); + /** + * <code>optional .CMsgBotWorldState.Action.SetCombineLockItem setCombineLockItem = 132;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem getSetCombineLockItem(); + /** + * <code>optional .CMsgBotWorldState.Action.SetCombineLockItem setCombineLockItem = 132;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItemOrBuilder getSetCombineLockItemOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.Stop stop = 121;</code> + */ + boolean hasStop(); + /** + * <code>optional .CMsgBotWorldState.Action.Stop stop = 121;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop getStop(); + /** + * <code>optional .CMsgBotWorldState.Action.Stop stop = 121;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.StopOrBuilder getStopOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.Chat chat = 140;</code> + */ + boolean hasChat(); + /** + * <code>optional .CMsgBotWorldState.Action.Chat chat = 140;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat getChat(); + /** + * <code>optional .CMsgBotWorldState.Action.Chat chat = 140;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ChatOrBuilder getChatOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.SwapItems swapItems = 141;</code> + */ + boolean hasSwapItems(); + /** + * <code>optional .CMsgBotWorldState.Action.SwapItems swapItems = 141;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems getSwapItems(); + /** + * <code>optional .CMsgBotWorldState.Action.SwapItems swapItems = 141;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItemsOrBuilder getSwapItemsOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.UseShrine useShrine = 142;</code> + */ + boolean hasUseShrine(); + /** + * <code>optional .CMsgBotWorldState.Action.UseShrine useShrine = 142;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine getUseShrine(); + /** + * <code>optional .CMsgBotWorldState.Action.UseShrine useShrine = 142;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrineOrBuilder getUseShrineOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.Courier courier = 143;</code> + */ + boolean hasCourier(); + /** + * <code>optional .CMsgBotWorldState.Action.Courier courier = 143;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier getCourier(); + /** + * <code>optional .CMsgBotWorldState.Action.Courier courier = 143;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CourierOrBuilder getCourierOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.GetActualIncomingDamage getActualIncomingDamage = 144;</code> + */ + boolean hasGetActualIncomingDamage(); + /** + * <code>optional .CMsgBotWorldState.Action.GetActualIncomingDamage getActualIncomingDamage = 144;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage getGetActualIncomingDamage(); + /** + * <code>optional .CMsgBotWorldState.Action.GetActualIncomingDamage getActualIncomingDamage = 144;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamageOrBuilder getGetActualIncomingDamageOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.GetEstimatedDamageToTarget getEstimatedDamageToTarget = 145;</code> + */ + boolean hasGetEstimatedDamageToTarget(); + /** + * <code>optional .CMsgBotWorldState.Action.GetEstimatedDamageToTarget getEstimatedDamageToTarget = 145;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget getGetEstimatedDamageToTarget(); + /** + * <code>optional .CMsgBotWorldState.Action.GetEstimatedDamageToTarget getEstimatedDamageToTarget = 145;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTargetOrBuilder getGetEstimatedDamageToTargetOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.Glyph glyph = 146;</code> + */ + boolean hasGlyph(); + /** + * <code>optional .CMsgBotWorldState.Action.Glyph glyph = 146;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph getGlyph(); + /** + * <code>optional .CMsgBotWorldState.Action.Glyph glyph = 146;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GlyphOrBuilder getGlyphOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.SoftReset softReset = 148;</code> + */ + boolean hasSoftReset(); + /** + * <code>optional .CMsgBotWorldState.Action.SoftReset softReset = 148;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset getSoftReset(); + /** + * <code>optional .CMsgBotWorldState.Action.SoftReset softReset = 148;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftResetOrBuilder getSoftResetOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.Buyback buyback = 149;</code> + */ + boolean hasBuyback(); + /** + * <code>optional .CMsgBotWorldState.Action.Buyback buyback = 149;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback getBuyback(); + /** + * <code>optional .CMsgBotWorldState.Action.Buyback buyback = 149;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.BuybackOrBuilder getBuybackOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawText scriptingDebugDrawText = 150;</code> + */ + boolean hasScriptingDebugDrawText(); + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawText scriptingDebugDrawText = 150;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText getScriptingDebugDrawText(); + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawText scriptingDebugDrawText = 150;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawTextOrBuilder getScriptingDebugDrawTextOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawLine scriptingDebugDrawLine = 151;</code> + */ + boolean hasScriptingDebugDrawLine(); + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawLine scriptingDebugDrawLine = 151;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine getScriptingDebugDrawLine(); + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawLine scriptingDebugDrawLine = 151;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLineOrBuilder getScriptingDebugDrawLineOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawScreenText scriptingDebugDrawScreenText = 152;</code> + */ + boolean hasScriptingDebugDrawScreenText(); + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawScreenText scriptingDebugDrawScreenText = 152;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText getScriptingDebugDrawScreenText(); + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawScreenText scriptingDebugDrawScreenText = 152;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenTextOrBuilder getScriptingDebugDrawScreenTextOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawBox scriptingDebugDrawBox = 153;</code> + */ + boolean hasScriptingDebugDrawBox(); + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawBox scriptingDebugDrawBox = 153;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox getScriptingDebugDrawBox(); + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawBox scriptingDebugDrawBox = 153;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBoxOrBuilder getScriptingDebugDrawBoxOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawCircle scriptingDebugDrawCircle = 154;</code> + */ + boolean hasScriptingDebugDrawCircle(); + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawCircle scriptingDebugDrawCircle = 154;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle getScriptingDebugDrawCircle(); + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawCircle scriptingDebugDrawCircle = 154;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircleOrBuilder getScriptingDebugDrawCircleOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawClear scriptingDebugDrawClear = 155;</code> + */ + boolean hasScriptingDebugDrawClear(); + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawClear scriptingDebugDrawClear = 155;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear getScriptingDebugDrawClear(); + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawClear scriptingDebugDrawClear = 155;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClearOrBuilder getScriptingDebugDrawClearOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty scriptingDebugScreenTextPretty = 159;</code> + */ + boolean hasScriptingDebugScreenTextPretty(); + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty scriptingDebugScreenTextPretty = 159;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty getScriptingDebugScreenTextPretty(); + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty scriptingDebugScreenTextPretty = 159;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPrettyOrBuilder getScriptingDebugScreenTextPrettyOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveDirectly = 156;</code> + */ + boolean hasMoveDirectly(); + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveDirectly = 156;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation getMoveDirectly(); + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveDirectly = 156;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocationOrBuilder getMoveDirectlyOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.OceanWinGame oceanWinGame = 157;</code> + */ + boolean hasOceanWinGame(); + /** + * <code>optional .CMsgBotWorldState.Action.OceanWinGame oceanWinGame = 157;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame getOceanWinGame(); + /** + * <code>optional .CMsgBotWorldState.Action.OceanWinGame oceanWinGame = 157;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGameOrBuilder getOceanWinGameOrBuilder(); + + /** + * <code>optional .CMsgBotWorldState.Action.OceanReplayCorrectTime oceanReplayCorrectTime = 158;</code> + */ + boolean hasOceanReplayCorrectTime(); + /** + * <code>optional .CMsgBotWorldState.Action.OceanReplayCorrectTime oceanReplayCorrectTime = 158;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime getOceanReplayCorrectTime(); + /** + * <code>optional .CMsgBotWorldState.Action.OceanReplayCorrectTime oceanReplayCorrectTime = 158;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTimeOrBuilder getOceanReplayCorrectTimeOrBuilder(); + + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ActionDataCase getActionDataCase(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action} + */ + public static final class Action extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action) + ActionOrBuilder { + private static final long serialVersionUID = 0L; + // Use Action.newBuilder() to construct. + private Action(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Action() { + actionType_ = 0; + player_ = -1; + actionID_ = -1; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Action( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + int mutable_bitField1_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + int rawValue = input.readEnum(); + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Type value = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Type.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(1, rawValue); + } else { + bitField0_ |= 0x00000001; + actionType_ = rawValue; + } + break; + } + case 16: { + bitField0_ |= 0x00000002; + player_ = input.readInt32(); + break; + } + case 32: { + bitField0_ |= 0x00000004; + actionID_ = input.readInt32(); + break; + } + case 80: { + bitField0_ |= 0x00000008; + actionDelay_ = input.readInt32(); + break; + } + case 810: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.Builder subBuilder = null; + if (actionDataCase_ == 101) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 101; + break; + } + case 818: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.Builder subBuilder = null; + if (actionDataCase_ == 102) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 102; + break; + } + case 826: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.Builder subBuilder = null; + if (actionDataCase_ == 103) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 103; + break; + } + case 834: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.Builder subBuilder = null; + if (actionDataCase_ == 104) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 104; + break; + } + case 842: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.Builder subBuilder = null; + if (actionDataCase_ == 105) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 105; + break; + } + case 850: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.Builder subBuilder = null; + if (actionDataCase_ == 106) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 106; + break; + } + case 858: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.Builder subBuilder = null; + if (actionDataCase_ == 107) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 107; + break; + } + case 866: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.Builder subBuilder = null; + if (actionDataCase_ == 108) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 108; + break; + } + case 874: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.Builder subBuilder = null; + if (actionDataCase_ == 109) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 109; + break; + } + case 882: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.Builder subBuilder = null; + if (actionDataCase_ == 110) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 110; + break; + } + case 890: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.Builder subBuilder = null; + if (actionDataCase_ == 111) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 111; + break; + } + case 898: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.Builder subBuilder = null; + if (actionDataCase_ == 112) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 112; + break; + } + case 914: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.Builder subBuilder = null; + if (actionDataCase_ == 114) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 114; + break; + } + case 922: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.Builder subBuilder = null; + if (actionDataCase_ == 115) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 115; + break; + } + case 930: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.Builder subBuilder = null; + if (actionDataCase_ == 116) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 116; + break; + } + case 938: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.Builder subBuilder = null; + if (actionDataCase_ == 117) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 117; + break; + } + case 946: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.Builder subBuilder = null; + if (actionDataCase_ == 118) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 118; + break; + } + case 970: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.Builder subBuilder = null; + if (actionDataCase_ == 121) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 121; + break; + } + case 1058: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.Builder subBuilder = null; + if (actionDataCase_ == 132) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 132; + break; + } + case 1122: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.Builder subBuilder = null; + if (actionDataCase_ == 140) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 140; + break; + } + case 1130: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.Builder subBuilder = null; + if (actionDataCase_ == 141) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 141; + break; + } + case 1138: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.Builder subBuilder = null; + if (actionDataCase_ == 142) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 142; + break; + } + case 1146: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.Builder subBuilder = null; + if (actionDataCase_ == 143) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 143; + break; + } + case 1154: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.Builder subBuilder = null; + if (actionDataCase_ == 144) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 144; + break; + } + case 1162: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.Builder subBuilder = null; + if (actionDataCase_ == 145) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 145; + break; + } + case 1170: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.Builder subBuilder = null; + if (actionDataCase_ == 146) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 146; + break; + } + case 1186: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.Builder subBuilder = null; + if (actionDataCase_ == 148) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 148; + break; + } + case 1194: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.Builder subBuilder = null; + if (actionDataCase_ == 149) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 149; + break; + } + case 1202: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.Builder subBuilder = null; + if (actionDataCase_ == 150) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 150; + break; + } + case 1210: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.Builder subBuilder = null; + if (actionDataCase_ == 151) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 151; + break; + } + case 1218: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.Builder subBuilder = null; + if (actionDataCase_ == 152) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 152; + break; + } + case 1226: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.Builder subBuilder = null; + if (actionDataCase_ == 153) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 153; + break; + } + case 1234: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.Builder subBuilder = null; + if (actionDataCase_ == 154) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 154; + break; + } + case 1242: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.Builder subBuilder = null; + if (actionDataCase_ == 155) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 155; + break; + } + case 1250: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.Builder subBuilder = null; + if (actionDataCase_ == 156) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 156; + break; + } + case 1258: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.Builder subBuilder = null; + if (actionDataCase_ == 157) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 157; + break; + } + case 1266: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.Builder subBuilder = null; + if (actionDataCase_ == 158) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 158; + break; + } + case 1274: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.Builder subBuilder = null; + if (actionDataCase_ == 159) { + subBuilder = ((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) actionData_).toBuilder(); + } + actionData_ = + input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) actionData_); + actionData_ = subBuilder.buildPartial(); + } + actionDataCase_ = 159; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Builder.class); + } + + /** + * Protobuf enum {@code CMsgBotWorldState.Action.Type} + */ + public enum Type + implements com.google.protobuf.ProtocolMessageEnum { + /** + * <code>DOTA_UNIT_ORDER_NONE = 0;</code> + */ + DOTA_UNIT_ORDER_NONE(0), + /** + * <code>DOTA_UNIT_ORDER_MOVE_TO_POSITION = 1;</code> + */ + DOTA_UNIT_ORDER_MOVE_TO_POSITION(1), + /** + * <code>DOTA_UNIT_ORDER_MOVE_TO_TARGET = 2;</code> + */ + DOTA_UNIT_ORDER_MOVE_TO_TARGET(2), + /** + * <code>DOTA_UNIT_ORDER_ATTACK_MOVE = 3;</code> + */ + DOTA_UNIT_ORDER_ATTACK_MOVE(3), + /** + * <code>DOTA_UNIT_ORDER_ATTACK_TARGET = 4;</code> + */ + DOTA_UNIT_ORDER_ATTACK_TARGET(4), + /** + * <code>DOTA_UNIT_ORDER_CAST_POSITION = 5;</code> + */ + DOTA_UNIT_ORDER_CAST_POSITION(5), + /** + * <code>DOTA_UNIT_ORDER_CAST_TARGET = 6;</code> + */ + DOTA_UNIT_ORDER_CAST_TARGET(6), + /** + * <code>DOTA_UNIT_ORDER_CAST_TARGET_TREE = 7;</code> + */ + DOTA_UNIT_ORDER_CAST_TARGET_TREE(7), + /** + * <code>DOTA_UNIT_ORDER_CAST_NO_TARGET = 8;</code> + */ + DOTA_UNIT_ORDER_CAST_NO_TARGET(8), + /** + * <code>DOTA_UNIT_ORDER_CAST_TOGGLE = 9;</code> + */ + DOTA_UNIT_ORDER_CAST_TOGGLE(9), + /** + * <code>DOTA_UNIT_ORDER_HOLD_POSITION = 10;</code> + */ + DOTA_UNIT_ORDER_HOLD_POSITION(10), + /** + * <code>DOTA_UNIT_ORDER_TRAIN_ABILITY = 11;</code> + */ + DOTA_UNIT_ORDER_TRAIN_ABILITY(11), + /** + * <code>DOTA_UNIT_ORDER_DROP_ITEM = 12;</code> + */ + DOTA_UNIT_ORDER_DROP_ITEM(12), + /** + * <code>DOTA_UNIT_ORDER_GIVE_ITEM = 13;</code> + */ + DOTA_UNIT_ORDER_GIVE_ITEM(13), + /** + * <code>DOTA_UNIT_ORDER_PICKUP_ITEM = 14;</code> + */ + DOTA_UNIT_ORDER_PICKUP_ITEM(14), + /** + * <code>DOTA_UNIT_ORDER_PICKUP_RUNE = 15;</code> + */ + DOTA_UNIT_ORDER_PICKUP_RUNE(15), + /** + * <code>DOTA_UNIT_ORDER_PURCHASE_ITEM = 16;</code> + */ + DOTA_UNIT_ORDER_PURCHASE_ITEM(16), + /** + * <code>DOTA_UNIT_ORDER_SELL_ITEM = 17;</code> + */ + DOTA_UNIT_ORDER_SELL_ITEM(17), + /** + * <code>DOTA_UNIT_ORDER_DISASSEMBLE_ITEM = 18;</code> + */ + DOTA_UNIT_ORDER_DISASSEMBLE_ITEM(18), + /** + * <code>DOTA_UNIT_ORDER_MOVE_ITEM = 19;</code> + */ + DOTA_UNIT_ORDER_MOVE_ITEM(19), + /** + * <code>DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO = 20;</code> + */ + DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO(20), + /** + * <code>DOTA_UNIT_ORDER_STOP = 21;</code> + */ + DOTA_UNIT_ORDER_STOP(21), + /** + * <code>DOTA_UNIT_ORDER_TAUNT = 22;</code> + */ + DOTA_UNIT_ORDER_TAUNT(22), + /** + * <code>DOTA_UNIT_ORDER_BUYBACK = 23;</code> + */ + DOTA_UNIT_ORDER_BUYBACK(23), + /** + * <code>DOTA_UNIT_ORDER_GLYPH = 24;</code> + */ + DOTA_UNIT_ORDER_GLYPH(24), + /** + * <code>DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH = 25;</code> + */ + DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH(25), + /** + * <code>DOTA_UNIT_ORDER_CAST_RUNE = 26;</code> + */ + DOTA_UNIT_ORDER_CAST_RUNE(26), + /** + * <code>DOTA_UNIT_ORDER_PING_ABILITY = 27;</code> + */ + DOTA_UNIT_ORDER_PING_ABILITY(27), + /** + * <code>DOTA_UNIT_ORDER_MOVE_TO_DIRECTION = 28;</code> + */ + DOTA_UNIT_ORDER_MOVE_TO_DIRECTION(28), + /** + * <code>DOTA_UNIT_ORDER_PATROL = 29;</code> + */ + DOTA_UNIT_ORDER_PATROL(29), + /** + * <code>DOTA_UNIT_ORDER_VECTOR_TARGET_POSITION = 30;</code> + */ + DOTA_UNIT_ORDER_VECTOR_TARGET_POSITION(30), + /** + * <code>DOTA_UNIT_ORDER_RADAR = 31;</code> + */ + DOTA_UNIT_ORDER_RADAR(31), + /** + * <code>DOTA_UNIT_ORDER_SET_ITEM_COMBINE_LOCK = 32;</code> + */ + DOTA_UNIT_ORDER_SET_ITEM_COMBINE_LOCK(32), + /** + * <code>DOTA_UNIT_ORDER_CONTINUE = 33;</code> + */ + DOTA_UNIT_ORDER_CONTINUE(33), + /** + * <code>ACTION_CHAT = 40;</code> + */ + ACTION_CHAT(40), + /** + * <code>ACTION_SWAP_ITEMS = 41;</code> + */ + ACTION_SWAP_ITEMS(41), + /** + * <code>ACTION_USE_SHRINE = 42;</code> + */ + ACTION_USE_SHRINE(42), + /** + * <code>ACTION_COURIER = 43;</code> + */ + ACTION_COURIER(43), + /** + * <code>RPC_GET_ACTUAL_INCOMING_DAMAGE = 44;</code> + */ + RPC_GET_ACTUAL_INCOMING_DAMAGE(44), + /** + * <code>RPC_GET_ESTIMATED_DAMAGE_TO_TARGET = 45;</code> + */ + RPC_GET_ESTIMATED_DAMAGE_TO_TARGET(45), + /** + * <code>OCEAN_FULL_UPDATE = 50;</code> + */ + OCEAN_FULL_UPDATE(50), + /** + * <code>OCEAN_RELOAD_CODE = 51;</code> + */ + OCEAN_RELOAD_CODE(51), + /** + * <code>OCEAN_SOFT_RESET = 52;</code> + */ + OCEAN_SOFT_RESET(52), + /** + * <code>OCEAN_HOLD_FRAMESKIP = 54;</code> + */ + OCEAN_HOLD_FRAMESKIP(54), + /** + * <code>OCEAN_WIN_GAME = 63;</code> + */ + OCEAN_WIN_GAME(63), + /** + * <code>OCEAN_REPLAY_CORRECT_TIME = 64;</code> + */ + OCEAN_REPLAY_CORRECT_TIME(64), + /** + * <code>SCRIPTING_DEBUG_DRAW_TEXT = 55;</code> + */ + SCRIPTING_DEBUG_DRAW_TEXT(55), + /** + * <code>SCRIPTING_DEBUG_DRAW_LINE = 56;</code> + */ + SCRIPTING_DEBUG_DRAW_LINE(56), + /** + * <code>SCRIPTING_DOTA_UNIT_ORDER_MOVE_TO_POSITION = 57;</code> + */ + SCRIPTING_DOTA_UNIT_ORDER_MOVE_TO_POSITION(57), + /** + * <code>SCRIPTING_DEBUG_DRAW_SCREEN_TEXT = 58;</code> + */ + SCRIPTING_DEBUG_DRAW_SCREEN_TEXT(58), + /** + * <code>SCRIPTING_DEBUG_DRAW_BOX = 59;</code> + */ + SCRIPTING_DEBUG_DRAW_BOX(59), + /** + * <code>SCRIPTING_DEBUG_DRAW_CIRCLE = 60;</code> + */ + SCRIPTING_DEBUG_DRAW_CIRCLE(60), + /** + * <code>SCRIPTING_DEBUG_DRAW_CLEAR = 61;</code> + */ + SCRIPTING_DEBUG_DRAW_CLEAR(61), + /** + * <code>SCRIPTING_DEBUG_SCREEN_TEXT_PRETTY = 65;</code> + */ + SCRIPTING_DEBUG_SCREEN_TEXT_PRETTY(65), + /** + * <code>DOTA_UNIT_ORDER_MOVE_DIRECTLY = 62;</code> + */ + DOTA_UNIT_ORDER_MOVE_DIRECTLY(62), + ; + + /** + * <code>DOTA_UNIT_ORDER_NONE = 0;</code> + */ + public static final int DOTA_UNIT_ORDER_NONE_VALUE = 0; + /** + * <code>DOTA_UNIT_ORDER_MOVE_TO_POSITION = 1;</code> + */ + public static final int DOTA_UNIT_ORDER_MOVE_TO_POSITION_VALUE = 1; + /** + * <code>DOTA_UNIT_ORDER_MOVE_TO_TARGET = 2;</code> + */ + public static final int DOTA_UNIT_ORDER_MOVE_TO_TARGET_VALUE = 2; + /** + * <code>DOTA_UNIT_ORDER_ATTACK_MOVE = 3;</code> + */ + public static final int DOTA_UNIT_ORDER_ATTACK_MOVE_VALUE = 3; + /** + * <code>DOTA_UNIT_ORDER_ATTACK_TARGET = 4;</code> + */ + public static final int DOTA_UNIT_ORDER_ATTACK_TARGET_VALUE = 4; + /** + * <code>DOTA_UNIT_ORDER_CAST_POSITION = 5;</code> + */ + public static final int DOTA_UNIT_ORDER_CAST_POSITION_VALUE = 5; + /** + * <code>DOTA_UNIT_ORDER_CAST_TARGET = 6;</code> + */ + public static final int DOTA_UNIT_ORDER_CAST_TARGET_VALUE = 6; + /** + * <code>DOTA_UNIT_ORDER_CAST_TARGET_TREE = 7;</code> + */ + public static final int DOTA_UNIT_ORDER_CAST_TARGET_TREE_VALUE = 7; + /** + * <code>DOTA_UNIT_ORDER_CAST_NO_TARGET = 8;</code> + */ + public static final int DOTA_UNIT_ORDER_CAST_NO_TARGET_VALUE = 8; + /** + * <code>DOTA_UNIT_ORDER_CAST_TOGGLE = 9;</code> + */ + public static final int DOTA_UNIT_ORDER_CAST_TOGGLE_VALUE = 9; + /** + * <code>DOTA_UNIT_ORDER_HOLD_POSITION = 10;</code> + */ + public static final int DOTA_UNIT_ORDER_HOLD_POSITION_VALUE = 10; + /** + * <code>DOTA_UNIT_ORDER_TRAIN_ABILITY = 11;</code> + */ + public static final int DOTA_UNIT_ORDER_TRAIN_ABILITY_VALUE = 11; + /** + * <code>DOTA_UNIT_ORDER_DROP_ITEM = 12;</code> + */ + public static final int DOTA_UNIT_ORDER_DROP_ITEM_VALUE = 12; + /** + * <code>DOTA_UNIT_ORDER_GIVE_ITEM = 13;</code> + */ + public static final int DOTA_UNIT_ORDER_GIVE_ITEM_VALUE = 13; + /** + * <code>DOTA_UNIT_ORDER_PICKUP_ITEM = 14;</code> + */ + public static final int DOTA_UNIT_ORDER_PICKUP_ITEM_VALUE = 14; + /** + * <code>DOTA_UNIT_ORDER_PICKUP_RUNE = 15;</code> + */ + public static final int DOTA_UNIT_ORDER_PICKUP_RUNE_VALUE = 15; + /** + * <code>DOTA_UNIT_ORDER_PURCHASE_ITEM = 16;</code> + */ + public static final int DOTA_UNIT_ORDER_PURCHASE_ITEM_VALUE = 16; + /** + * <code>DOTA_UNIT_ORDER_SELL_ITEM = 17;</code> + */ + public static final int DOTA_UNIT_ORDER_SELL_ITEM_VALUE = 17; + /** + * <code>DOTA_UNIT_ORDER_DISASSEMBLE_ITEM = 18;</code> + */ + public static final int DOTA_UNIT_ORDER_DISASSEMBLE_ITEM_VALUE = 18; + /** + * <code>DOTA_UNIT_ORDER_MOVE_ITEM = 19;</code> + */ + public static final int DOTA_UNIT_ORDER_MOVE_ITEM_VALUE = 19; + /** + * <code>DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO = 20;</code> + */ + public static final int DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO_VALUE = 20; + /** + * <code>DOTA_UNIT_ORDER_STOP = 21;</code> + */ + public static final int DOTA_UNIT_ORDER_STOP_VALUE = 21; + /** + * <code>DOTA_UNIT_ORDER_TAUNT = 22;</code> + */ + public static final int DOTA_UNIT_ORDER_TAUNT_VALUE = 22; + /** + * <code>DOTA_UNIT_ORDER_BUYBACK = 23;</code> + */ + public static final int DOTA_UNIT_ORDER_BUYBACK_VALUE = 23; + /** + * <code>DOTA_UNIT_ORDER_GLYPH = 24;</code> + */ + public static final int DOTA_UNIT_ORDER_GLYPH_VALUE = 24; + /** + * <code>DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH = 25;</code> + */ + public static final int DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH_VALUE = 25; + /** + * <code>DOTA_UNIT_ORDER_CAST_RUNE = 26;</code> + */ + public static final int DOTA_UNIT_ORDER_CAST_RUNE_VALUE = 26; + /** + * <code>DOTA_UNIT_ORDER_PING_ABILITY = 27;</code> + */ + public static final int DOTA_UNIT_ORDER_PING_ABILITY_VALUE = 27; + /** + * <code>DOTA_UNIT_ORDER_MOVE_TO_DIRECTION = 28;</code> + */ + public static final int DOTA_UNIT_ORDER_MOVE_TO_DIRECTION_VALUE = 28; + /** + * <code>DOTA_UNIT_ORDER_PATROL = 29;</code> + */ + public static final int DOTA_UNIT_ORDER_PATROL_VALUE = 29; + /** + * <code>DOTA_UNIT_ORDER_VECTOR_TARGET_POSITION = 30;</code> + */ + public static final int DOTA_UNIT_ORDER_VECTOR_TARGET_POSITION_VALUE = 30; + /** + * <code>DOTA_UNIT_ORDER_RADAR = 31;</code> + */ + public static final int DOTA_UNIT_ORDER_RADAR_VALUE = 31; + /** + * <code>DOTA_UNIT_ORDER_SET_ITEM_COMBINE_LOCK = 32;</code> + */ + public static final int DOTA_UNIT_ORDER_SET_ITEM_COMBINE_LOCK_VALUE = 32; + /** + * <code>DOTA_UNIT_ORDER_CONTINUE = 33;</code> + */ + public static final int DOTA_UNIT_ORDER_CONTINUE_VALUE = 33; + /** + * <code>ACTION_CHAT = 40;</code> + */ + public static final int ACTION_CHAT_VALUE = 40; + /** + * <code>ACTION_SWAP_ITEMS = 41;</code> + */ + public static final int ACTION_SWAP_ITEMS_VALUE = 41; + /** + * <code>ACTION_USE_SHRINE = 42;</code> + */ + public static final int ACTION_USE_SHRINE_VALUE = 42; + /** + * <code>ACTION_COURIER = 43;</code> + */ + public static final int ACTION_COURIER_VALUE = 43; + /** + * <code>RPC_GET_ACTUAL_INCOMING_DAMAGE = 44;</code> + */ + public static final int RPC_GET_ACTUAL_INCOMING_DAMAGE_VALUE = 44; + /** + * <code>RPC_GET_ESTIMATED_DAMAGE_TO_TARGET = 45;</code> + */ + public static final int RPC_GET_ESTIMATED_DAMAGE_TO_TARGET_VALUE = 45; + /** + * <code>OCEAN_FULL_UPDATE = 50;</code> + */ + public static final int OCEAN_FULL_UPDATE_VALUE = 50; + /** + * <code>OCEAN_RELOAD_CODE = 51;</code> + */ + public static final int OCEAN_RELOAD_CODE_VALUE = 51; + /** + * <code>OCEAN_SOFT_RESET = 52;</code> + */ + public static final int OCEAN_SOFT_RESET_VALUE = 52; + /** + * <code>OCEAN_HOLD_FRAMESKIP = 54;</code> + */ + public static final int OCEAN_HOLD_FRAMESKIP_VALUE = 54; + /** + * <code>OCEAN_WIN_GAME = 63;</code> + */ + public static final int OCEAN_WIN_GAME_VALUE = 63; + /** + * <code>OCEAN_REPLAY_CORRECT_TIME = 64;</code> + */ + public static final int OCEAN_REPLAY_CORRECT_TIME_VALUE = 64; + /** + * <code>SCRIPTING_DEBUG_DRAW_TEXT = 55;</code> + */ + public static final int SCRIPTING_DEBUG_DRAW_TEXT_VALUE = 55; + /** + * <code>SCRIPTING_DEBUG_DRAW_LINE = 56;</code> + */ + public static final int SCRIPTING_DEBUG_DRAW_LINE_VALUE = 56; + /** + * <code>SCRIPTING_DOTA_UNIT_ORDER_MOVE_TO_POSITION = 57;</code> + */ + public static final int SCRIPTING_DOTA_UNIT_ORDER_MOVE_TO_POSITION_VALUE = 57; + /** + * <code>SCRIPTING_DEBUG_DRAW_SCREEN_TEXT = 58;</code> + */ + public static final int SCRIPTING_DEBUG_DRAW_SCREEN_TEXT_VALUE = 58; + /** + * <code>SCRIPTING_DEBUG_DRAW_BOX = 59;</code> + */ + public static final int SCRIPTING_DEBUG_DRAW_BOX_VALUE = 59; + /** + * <code>SCRIPTING_DEBUG_DRAW_CIRCLE = 60;</code> + */ + public static final int SCRIPTING_DEBUG_DRAW_CIRCLE_VALUE = 60; + /** + * <code>SCRIPTING_DEBUG_DRAW_CLEAR = 61;</code> + */ + public static final int SCRIPTING_DEBUG_DRAW_CLEAR_VALUE = 61; + /** + * <code>SCRIPTING_DEBUG_SCREEN_TEXT_PRETTY = 65;</code> + */ + public static final int SCRIPTING_DEBUG_SCREEN_TEXT_PRETTY_VALUE = 65; + /** + * <code>DOTA_UNIT_ORDER_MOVE_DIRECTLY = 62;</code> + */ + public static final int DOTA_UNIT_ORDER_MOVE_DIRECTLY_VALUE = 62; + + + public final int getNumber() { + return value; + } + + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Type valueOf(int value) { + return forNumber(value); + } + + public static Type forNumber(int value) { + switch (value) { + case 0: return DOTA_UNIT_ORDER_NONE; + case 1: return DOTA_UNIT_ORDER_MOVE_TO_POSITION; + case 2: return DOTA_UNIT_ORDER_MOVE_TO_TARGET; + case 3: return DOTA_UNIT_ORDER_ATTACK_MOVE; + case 4: return DOTA_UNIT_ORDER_ATTACK_TARGET; + case 5: return DOTA_UNIT_ORDER_CAST_POSITION; + case 6: return DOTA_UNIT_ORDER_CAST_TARGET; + case 7: return DOTA_UNIT_ORDER_CAST_TARGET_TREE; + case 8: return DOTA_UNIT_ORDER_CAST_NO_TARGET; + case 9: return DOTA_UNIT_ORDER_CAST_TOGGLE; + case 10: return DOTA_UNIT_ORDER_HOLD_POSITION; + case 11: return DOTA_UNIT_ORDER_TRAIN_ABILITY; + case 12: return DOTA_UNIT_ORDER_DROP_ITEM; + case 13: return DOTA_UNIT_ORDER_GIVE_ITEM; + case 14: return DOTA_UNIT_ORDER_PICKUP_ITEM; + case 15: return DOTA_UNIT_ORDER_PICKUP_RUNE; + case 16: return DOTA_UNIT_ORDER_PURCHASE_ITEM; + case 17: return DOTA_UNIT_ORDER_SELL_ITEM; + case 18: return DOTA_UNIT_ORDER_DISASSEMBLE_ITEM; + case 19: return DOTA_UNIT_ORDER_MOVE_ITEM; + case 20: return DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO; + case 21: return DOTA_UNIT_ORDER_STOP; + case 22: return DOTA_UNIT_ORDER_TAUNT; + case 23: return DOTA_UNIT_ORDER_BUYBACK; + case 24: return DOTA_UNIT_ORDER_GLYPH; + case 25: return DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH; + case 26: return DOTA_UNIT_ORDER_CAST_RUNE; + case 27: return DOTA_UNIT_ORDER_PING_ABILITY; + case 28: return DOTA_UNIT_ORDER_MOVE_TO_DIRECTION; + case 29: return DOTA_UNIT_ORDER_PATROL; + case 30: return DOTA_UNIT_ORDER_VECTOR_TARGET_POSITION; + case 31: return DOTA_UNIT_ORDER_RADAR; + case 32: return DOTA_UNIT_ORDER_SET_ITEM_COMBINE_LOCK; + case 33: return DOTA_UNIT_ORDER_CONTINUE; + case 40: return ACTION_CHAT; + case 41: return ACTION_SWAP_ITEMS; + case 42: return ACTION_USE_SHRINE; + case 43: return ACTION_COURIER; + case 44: return RPC_GET_ACTUAL_INCOMING_DAMAGE; + case 45: return RPC_GET_ESTIMATED_DAMAGE_TO_TARGET; + case 50: return OCEAN_FULL_UPDATE; + case 51: return OCEAN_RELOAD_CODE; + case 52: return OCEAN_SOFT_RESET; + case 54: return OCEAN_HOLD_FRAMESKIP; + case 63: return OCEAN_WIN_GAME; + case 64: return OCEAN_REPLAY_CORRECT_TIME; + case 55: return SCRIPTING_DEBUG_DRAW_TEXT; + case 56: return SCRIPTING_DEBUG_DRAW_LINE; + case 57: return SCRIPTING_DOTA_UNIT_ORDER_MOVE_TO_POSITION; + case 58: return SCRIPTING_DEBUG_DRAW_SCREEN_TEXT; + case 59: return SCRIPTING_DEBUG_DRAW_BOX; + case 60: return SCRIPTING_DEBUG_DRAW_CIRCLE; + case 61: return SCRIPTING_DEBUG_DRAW_CLEAR; + case 65: return SCRIPTING_DEBUG_SCREEN_TEXT_PRETTY; + case 62: return DOTA_UNIT_ORDER_MOVE_DIRECTLY; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap<Type> + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + Type> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap<Type>() { + public Type findValueByNumber(int number) { + return Type.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.getDescriptor().getEnumTypes().get(0); + } + + private static final Type[] VALUES = values(); + + public static Type valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private Type(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:CMsgBotWorldState.Action.Type) + } + + public interface MoveToLocationOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.MoveToLocation) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>repeated int32 units = 1;</code> + */ + java.util.List<java.lang.Integer> getUnitsList(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnitsCount(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnits(int index); + + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + boolean hasLocation(); + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation(); + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.MoveToLocation} + */ + public static final class MoveToLocation extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.MoveToLocation) + MoveToLocationOrBuilder { + private static final long serialVersionUID = 0L; + // Use MoveToLocation.newBuilder() to construct. + private MoveToLocation(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private MoveToLocation() { + units_ = emptyIntList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private MoveToLocation( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + units_.addInt(input.readInt32()); + break; + } + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + while (input.getBytesUntilLimit() > 0) { + units_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + case 18: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000001) != 0)) { + subBuilder = location_.toBuilder(); + } + location_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(location_); + location_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000001; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); // C + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_MoveToLocation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_MoveToLocation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.Builder.class); + } + + private int bitField0_; + public static final int UNITS_FIELD_NUMBER = 1; + private com.google.protobuf.Internal.IntList units_; + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + + public static final int LOCATION_FIELD_NUMBER = 2; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasLocation()) { + memoizedIsInitialized = 0; + return false; + } + if (!getLocation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < units_.size(); i++) { + output.writeInt32(1, units_.getInt(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getLocation()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < units_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(units_.getInt(i)); + } + size += dataSize; + size += 1 * getUnitsList().size(); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getLocation()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) obj; + + if (!getUnitsList() + .equals(other.getUnitsList())) return false; + if (hasLocation() != other.hasLocation()) return false; + if (hasLocation()) { + if (!getLocation() + .equals(other.getLocation())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getUnitsCount() > 0) { + hash = (37 * hash) + UNITS_FIELD_NUMBER; + hash = (53 * hash) + getUnitsList().hashCode(); + } + if (hasLocation()) { + hash = (37 * hash) + LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getLocation().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.MoveToLocation} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.MoveToLocation) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocationOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_MoveToLocation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_MoveToLocation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getLocationFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + if (locationBuilder_ == null) { + location_ = null; + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_MoveToLocation_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.units_ = units_; + if (((from_bitField0_ & 0x00000002) != 0)) { + if (locationBuilder_ == null) { + result.location_ = location_; + } else { + result.location_ = locationBuilder_.build(); + } + to_bitField0_ |= 0x00000001; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.getDefaultInstance()) return this; + if (!other.units_.isEmpty()) { + if (units_.isEmpty()) { + units_ = other.units_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureUnitsIsMutable(); + units_.addAll(other.units_); + } + onChanged(); + } + if (other.hasLocation()) { + mergeLocation(other.getLocation()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasLocation()) { + return false; + } + if (!getLocation().isInitialized()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList units_ = emptyIntList(); + private void ensureUnitsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + units_ = mutableCopy(units_); + bitField0_ |= 0x00000001; + } + } + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return ((bitField0_ & 0x00000001) != 0) ? + java.util.Collections.unmodifiableList(units_) : units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder setUnits( + int index, int value) { + ensureUnitsIsMutable(); + units_.setInt(index, value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addUnits(int value) { + ensureUnitsIsMutable(); + units_.addInt(value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addAllUnits( + java.lang.Iterable<? extends java.lang.Integer> values) { + ensureUnitsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, units_); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder clearUnits() { + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> locationBuilder_; + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + if (locationBuilder_ == null) { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } else { + return locationBuilder_.getMessage(); + } + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder setLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + onChanged(); + } else { + locationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder setLocation( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (locationBuilder_ == null) { + location_ = builderForValue.build(); + onChanged(); + } else { + locationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder mergeLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && + location_ != null && + location_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + location_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(location_).mergeFrom(value).buildPartial(); + } else { + location_ = value; + } + onChanged(); + } else { + locationBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder clearLocation() { + if (locationBuilder_ == null) { + location_ = null; + onChanged(); + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getLocationBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return getLocationFieldBuilder().getBuilder(); + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + if (locationBuilder_ != null) { + return locationBuilder_.getMessageOrBuilder(); + } else { + return location_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getLocationFieldBuilder() { + if (locationBuilder_ == null) { + locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getLocation(), + getParentForChildren(), + isClean()); + location_ = null; + } + return locationBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.MoveToLocation) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.MoveToLocation) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<MoveToLocation> + PARSER = new com.google.protobuf.AbstractParser<MoveToLocation>() { + @java.lang.Override + public MoveToLocation parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new MoveToLocation(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<MoveToLocation> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<MoveToLocation> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface MoveToTargetOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.MoveToTarget) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>repeated int32 units = 1;</code> + */ + java.util.List<java.lang.Integer> getUnitsList(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnitsCount(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnits(int index); + + /** + * <code>required int32 target = 2;</code> + */ + boolean hasTarget(); + /** + * <code>required int32 target = 2;</code> + */ + int getTarget(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.MoveToTarget} + */ + public static final class MoveToTarget extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.MoveToTarget) + MoveToTargetOrBuilder { + private static final long serialVersionUID = 0L; + // Use MoveToTarget.newBuilder() to construct. + private MoveToTarget(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private MoveToTarget() { + units_ = emptyIntList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private MoveToTarget( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + units_.addInt(input.readInt32()); + break; + } + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + while (input.getBytesUntilLimit() > 0) { + units_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + case 16: { + bitField0_ |= 0x00000001; + target_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); // C + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_MoveToTarget_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_MoveToTarget_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.Builder.class); + } + + private int bitField0_; + public static final int UNITS_FIELD_NUMBER = 1; + private com.google.protobuf.Internal.IntList units_; + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + + public static final int TARGET_FIELD_NUMBER = 2; + private int target_; + /** + * <code>required int32 target = 2;</code> + */ + public boolean hasTarget() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 target = 2;</code> + */ + public int getTarget() { + return target_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasTarget()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < units_.size(); i++) { + output.writeInt32(1, units_.getInt(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(2, target_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < units_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(units_.getInt(i)); + } + size += dataSize; + size += 1 * getUnitsList().size(); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, target_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget) obj; + + if (!getUnitsList() + .equals(other.getUnitsList())) return false; + if (hasTarget() != other.hasTarget()) return false; + if (hasTarget()) { + if (getTarget() + != other.getTarget()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getUnitsCount() > 0) { + hash = (37 * hash) + UNITS_FIELD_NUMBER; + hash = (53 * hash) + getUnitsList().hashCode(); + } + if (hasTarget()) { + hash = (37 * hash) + TARGET_FIELD_NUMBER; + hash = (53 * hash) + getTarget(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.MoveToTarget} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.MoveToTarget) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTargetOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_MoveToTarget_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_MoveToTarget_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + target_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_MoveToTarget_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.units_ = units_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.target_ = target_; + to_bitField0_ |= 0x00000001; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.getDefaultInstance()) return this; + if (!other.units_.isEmpty()) { + if (units_.isEmpty()) { + units_ = other.units_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureUnitsIsMutable(); + units_.addAll(other.units_); + } + onChanged(); + } + if (other.hasTarget()) { + setTarget(other.getTarget()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasTarget()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList units_ = emptyIntList(); + private void ensureUnitsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + units_ = mutableCopy(units_); + bitField0_ |= 0x00000001; + } + } + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return ((bitField0_ & 0x00000001) != 0) ? + java.util.Collections.unmodifiableList(units_) : units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder setUnits( + int index, int value) { + ensureUnitsIsMutable(); + units_.setInt(index, value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addUnits(int value) { + ensureUnitsIsMutable(); + units_.addInt(value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addAllUnits( + java.lang.Iterable<? extends java.lang.Integer> values) { + ensureUnitsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, units_); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder clearUnits() { + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + private int target_ ; + /** + * <code>required int32 target = 2;</code> + */ + public boolean hasTarget() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required int32 target = 2;</code> + */ + public int getTarget() { + return target_; + } + /** + * <code>required int32 target = 2;</code> + */ + public Builder setTarget(int value) { + bitField0_ |= 0x00000002; + target_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 target = 2;</code> + */ + public Builder clearTarget() { + bitField0_ = (bitField0_ & ~0x00000002); + target_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.MoveToTarget) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.MoveToTarget) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<MoveToTarget> + PARSER = new com.google.protobuf.AbstractParser<MoveToTarget>() { + @java.lang.Override + public MoveToTarget parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new MoveToTarget(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<MoveToTarget> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<MoveToTarget> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface AttackMoveOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.AttackMove) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>repeated int32 units = 1;</code> + */ + java.util.List<java.lang.Integer> getUnitsList(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnitsCount(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnits(int index); + + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + boolean hasLocation(); + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation(); + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.AttackMove} + */ + public static final class AttackMove extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.AttackMove) + AttackMoveOrBuilder { + private static final long serialVersionUID = 0L; + // Use AttackMove.newBuilder() to construct. + private AttackMove(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private AttackMove() { + units_ = emptyIntList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private AttackMove( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + units_.addInt(input.readInt32()); + break; + } + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + while (input.getBytesUntilLimit() > 0) { + units_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + case 18: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000001) != 0)) { + subBuilder = location_.toBuilder(); + } + location_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(location_); + location_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000001; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); // C + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_AttackMove_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_AttackMove_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.Builder.class); + } + + private int bitField0_; + public static final int UNITS_FIELD_NUMBER = 1; + private com.google.protobuf.Internal.IntList units_; + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + + public static final int LOCATION_FIELD_NUMBER = 2; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasLocation()) { + memoizedIsInitialized = 0; + return false; + } + if (!getLocation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < units_.size(); i++) { + output.writeInt32(1, units_.getInt(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getLocation()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < units_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(units_.getInt(i)); + } + size += dataSize; + size += 1 * getUnitsList().size(); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getLocation()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove) obj; + + if (!getUnitsList() + .equals(other.getUnitsList())) return false; + if (hasLocation() != other.hasLocation()) return false; + if (hasLocation()) { + if (!getLocation() + .equals(other.getLocation())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getUnitsCount() > 0) { + hash = (37 * hash) + UNITS_FIELD_NUMBER; + hash = (53 * hash) + getUnitsList().hashCode(); + } + if (hasLocation()) { + hash = (37 * hash) + LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getLocation().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.AttackMove} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.AttackMove) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMoveOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_AttackMove_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_AttackMove_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getLocationFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + if (locationBuilder_ == null) { + location_ = null; + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_AttackMove_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.units_ = units_; + if (((from_bitField0_ & 0x00000002) != 0)) { + if (locationBuilder_ == null) { + result.location_ = location_; + } else { + result.location_ = locationBuilder_.build(); + } + to_bitField0_ |= 0x00000001; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.getDefaultInstance()) return this; + if (!other.units_.isEmpty()) { + if (units_.isEmpty()) { + units_ = other.units_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureUnitsIsMutable(); + units_.addAll(other.units_); + } + onChanged(); + } + if (other.hasLocation()) { + mergeLocation(other.getLocation()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasLocation()) { + return false; + } + if (!getLocation().isInitialized()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList units_ = emptyIntList(); + private void ensureUnitsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + units_ = mutableCopy(units_); + bitField0_ |= 0x00000001; + } + } + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return ((bitField0_ & 0x00000001) != 0) ? + java.util.Collections.unmodifiableList(units_) : units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder setUnits( + int index, int value) { + ensureUnitsIsMutable(); + units_.setInt(index, value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addUnits(int value) { + ensureUnitsIsMutable(); + units_.addInt(value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addAllUnits( + java.lang.Iterable<? extends java.lang.Integer> values) { + ensureUnitsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, units_); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder clearUnits() { + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> locationBuilder_; + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + if (locationBuilder_ == null) { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } else { + return locationBuilder_.getMessage(); + } + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder setLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + onChanged(); + } else { + locationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder setLocation( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (locationBuilder_ == null) { + location_ = builderForValue.build(); + onChanged(); + } else { + locationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder mergeLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && + location_ != null && + location_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + location_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(location_).mergeFrom(value).buildPartial(); + } else { + location_ = value; + } + onChanged(); + } else { + locationBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public Builder clearLocation() { + if (locationBuilder_ == null) { + location_ = null; + onChanged(); + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getLocationBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return getLocationFieldBuilder().getBuilder(); + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + if (locationBuilder_ != null) { + return locationBuilder_.getMessageOrBuilder(); + } else { + return location_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + } + /** + * <code>required .CMsgBotWorldState.Vector location = 2;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getLocationFieldBuilder() { + if (locationBuilder_ == null) { + locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getLocation(), + getParentForChildren(), + isClean()); + location_ = null; + } + return locationBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.AttackMove) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.AttackMove) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<AttackMove> + PARSER = new com.google.protobuf.AbstractParser<AttackMove>() { + @java.lang.Override + public AttackMove parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new AttackMove(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<AttackMove> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<AttackMove> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface AttackTargetOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.AttackTarget) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>repeated int32 units = 1;</code> + */ + java.util.List<java.lang.Integer> getUnitsList(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnitsCount(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnits(int index); + + /** + * <code>required int32 target = 2;</code> + */ + boolean hasTarget(); + /** + * <code>required int32 target = 2;</code> + */ + int getTarget(); + + /** + * <code>optional bool once = 3;</code> + */ + boolean hasOnce(); + /** + * <code>optional bool once = 3;</code> + */ + boolean getOnce(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.AttackTarget} + */ + public static final class AttackTarget extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.AttackTarget) + AttackTargetOrBuilder { + private static final long serialVersionUID = 0L; + // Use AttackTarget.newBuilder() to construct. + private AttackTarget(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private AttackTarget() { + units_ = emptyIntList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private AttackTarget( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + units_.addInt(input.readInt32()); + break; + } + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + while (input.getBytesUntilLimit() > 0) { + units_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + case 16: { + bitField0_ |= 0x00000001; + target_ = input.readInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000002; + once_ = input.readBool(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); // C + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_AttackTarget_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_AttackTarget_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.Builder.class); + } + + private int bitField0_; + public static final int UNITS_FIELD_NUMBER = 1; + private com.google.protobuf.Internal.IntList units_; + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + + public static final int TARGET_FIELD_NUMBER = 2; + private int target_; + /** + * <code>required int32 target = 2;</code> + */ + public boolean hasTarget() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 target = 2;</code> + */ + public int getTarget() { + return target_; + } + + public static final int ONCE_FIELD_NUMBER = 3; + private boolean once_; + /** + * <code>optional bool once = 3;</code> + */ + public boolean hasOnce() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional bool once = 3;</code> + */ + public boolean getOnce() { + return once_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasTarget()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < units_.size(); i++) { + output.writeInt32(1, units_.getInt(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(2, target_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeBool(3, once_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < units_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(units_.getInt(i)); + } + size += dataSize; + size += 1 * getUnitsList().size(); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, target_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(3, once_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget) obj; + + if (!getUnitsList() + .equals(other.getUnitsList())) return false; + if (hasTarget() != other.hasTarget()) return false; + if (hasTarget()) { + if (getTarget() + != other.getTarget()) return false; + } + if (hasOnce() != other.hasOnce()) return false; + if (hasOnce()) { + if (getOnce() + != other.getOnce()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getUnitsCount() > 0) { + hash = (37 * hash) + UNITS_FIELD_NUMBER; + hash = (53 * hash) + getUnitsList().hashCode(); + } + if (hasTarget()) { + hash = (37 * hash) + TARGET_FIELD_NUMBER; + hash = (53 * hash) + getTarget(); + } + if (hasOnce()) { + hash = (37 * hash) + ONCE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getOnce()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.AttackTarget} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.AttackTarget) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTargetOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_AttackTarget_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_AttackTarget_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + target_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + once_ = false; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_AttackTarget_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.units_ = units_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.target_ = target_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.once_ = once_; + to_bitField0_ |= 0x00000002; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.getDefaultInstance()) return this; + if (!other.units_.isEmpty()) { + if (units_.isEmpty()) { + units_ = other.units_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureUnitsIsMutable(); + units_.addAll(other.units_); + } + onChanged(); + } + if (other.hasTarget()) { + setTarget(other.getTarget()); + } + if (other.hasOnce()) { + setOnce(other.getOnce()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasTarget()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList units_ = emptyIntList(); + private void ensureUnitsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + units_ = mutableCopy(units_); + bitField0_ |= 0x00000001; + } + } + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return ((bitField0_ & 0x00000001) != 0) ? + java.util.Collections.unmodifiableList(units_) : units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder setUnits( + int index, int value) { + ensureUnitsIsMutable(); + units_.setInt(index, value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addUnits(int value) { + ensureUnitsIsMutable(); + units_.addInt(value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addAllUnits( + java.lang.Iterable<? extends java.lang.Integer> values) { + ensureUnitsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, units_); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder clearUnits() { + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + private int target_ ; + /** + * <code>required int32 target = 2;</code> + */ + public boolean hasTarget() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required int32 target = 2;</code> + */ + public int getTarget() { + return target_; + } + /** + * <code>required int32 target = 2;</code> + */ + public Builder setTarget(int value) { + bitField0_ |= 0x00000002; + target_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 target = 2;</code> + */ + public Builder clearTarget() { + bitField0_ = (bitField0_ & ~0x00000002); + target_ = 0; + onChanged(); + return this; + } + + private boolean once_ ; + /** + * <code>optional bool once = 3;</code> + */ + public boolean hasOnce() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional bool once = 3;</code> + */ + public boolean getOnce() { + return once_; + } + /** + * <code>optional bool once = 3;</code> + */ + public Builder setOnce(boolean value) { + bitField0_ |= 0x00000004; + once_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool once = 3;</code> + */ + public Builder clearOnce() { + bitField0_ = (bitField0_ & ~0x00000004); + once_ = false; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.AttackTarget) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.AttackTarget) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<AttackTarget> + PARSER = new com.google.protobuf.AbstractParser<AttackTarget>() { + @java.lang.Override + public AttackTarget parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new AttackTarget(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<AttackTarget> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<AttackTarget> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface HoldLocationOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.HoldLocation) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>repeated int32 units = 1;</code> + */ + java.util.List<java.lang.Integer> getUnitsList(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnitsCount(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnits(int index); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.HoldLocation} + */ + public static final class HoldLocation extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.HoldLocation) + HoldLocationOrBuilder { + private static final long serialVersionUID = 0L; + // Use HoldLocation.newBuilder() to construct. + private HoldLocation(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private HoldLocation() { + units_ = emptyIntList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private HoldLocation( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + units_.addInt(input.readInt32()); + break; + } + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + while (input.getBytesUntilLimit() > 0) { + units_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); // C + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_HoldLocation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_HoldLocation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.Builder.class); + } + + public static final int UNITS_FIELD_NUMBER = 1; + private com.google.protobuf.Internal.IntList units_; + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < units_.size(); i++) { + output.writeInt32(1, units_.getInt(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < units_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(units_.getInt(i)); + } + size += dataSize; + size += 1 * getUnitsList().size(); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation) obj; + + if (!getUnitsList() + .equals(other.getUnitsList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getUnitsCount() > 0) { + hash = (37 * hash) + UNITS_FIELD_NUMBER; + hash = (53 * hash) + getUnitsList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.HoldLocation} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.HoldLocation) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocationOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_HoldLocation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_HoldLocation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_HoldLocation_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation(this); + int from_bitField0_ = bitField0_; + if (((bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.units_ = units_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.getDefaultInstance()) return this; + if (!other.units_.isEmpty()) { + if (units_.isEmpty()) { + units_ = other.units_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureUnitsIsMutable(); + units_.addAll(other.units_); + } + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList units_ = emptyIntList(); + private void ensureUnitsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + units_ = mutableCopy(units_); + bitField0_ |= 0x00000001; + } + } + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return ((bitField0_ & 0x00000001) != 0) ? + java.util.Collections.unmodifiableList(units_) : units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder setUnits( + int index, int value) { + ensureUnitsIsMutable(); + units_.setInt(index, value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addUnits(int value) { + ensureUnitsIsMutable(); + units_.addInt(value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addAllUnits( + java.lang.Iterable<? extends java.lang.Integer> values) { + ensureUnitsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, units_); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder clearUnits() { + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.HoldLocation) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.HoldLocation) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<HoldLocation> + PARSER = new com.google.protobuf.AbstractParser<HoldLocation>() { + @java.lang.Override + public HoldLocation parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new HoldLocation(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<HoldLocation> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<HoldLocation> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface StopOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.Stop) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>repeated int32 units = 1;</code> + */ + java.util.List<java.lang.Integer> getUnitsList(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnitsCount(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnits(int index); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.Stop} + */ + public static final class Stop extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.Stop) + StopOrBuilder { + private static final long serialVersionUID = 0L; + // Use Stop.newBuilder() to construct. + private Stop(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Stop() { + units_ = emptyIntList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Stop( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + units_.addInt(input.readInt32()); + break; + } + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + while (input.getBytesUntilLimit() > 0) { + units_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); // C + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Stop_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Stop_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.Builder.class); + } + + public static final int UNITS_FIELD_NUMBER = 1; + private com.google.protobuf.Internal.IntList units_; + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < units_.size(); i++) { + output.writeInt32(1, units_.getInt(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < units_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(units_.getInt(i)); + } + size += dataSize; + size += 1 * getUnitsList().size(); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop) obj; + + if (!getUnitsList() + .equals(other.getUnitsList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getUnitsCount() > 0) { + hash = (37 * hash) + UNITS_FIELD_NUMBER; + hash = (53 * hash) + getUnitsList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.Stop} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.Stop) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.StopOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Stop_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Stop_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Stop_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop(this); + int from_bitField0_ = bitField0_; + if (((bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.units_ = units_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.getDefaultInstance()) return this; + if (!other.units_.isEmpty()) { + if (units_.isEmpty()) { + units_ = other.units_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureUnitsIsMutable(); + units_.addAll(other.units_); + } + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList units_ = emptyIntList(); + private void ensureUnitsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + units_ = mutableCopy(units_); + bitField0_ |= 0x00000001; + } + } + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return ((bitField0_ & 0x00000001) != 0) ? + java.util.Collections.unmodifiableList(units_) : units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder setUnits( + int index, int value) { + ensureUnitsIsMutable(); + units_.setInt(index, value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addUnits(int value) { + ensureUnitsIsMutable(); + units_.addInt(value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addAllUnits( + java.lang.Iterable<? extends java.lang.Integer> values) { + ensureUnitsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, units_); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder clearUnits() { + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.Stop) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.Stop) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<Stop> + PARSER = new com.google.protobuf.AbstractParser<Stop>() { + @java.lang.Override + public Stop parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Stop(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Stop> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Stop> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface CastLocationOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.CastLocation) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>repeated int32 units = 1;</code> + */ + java.util.List<java.lang.Integer> getUnitsList(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnitsCount(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnits(int index); + + /** + * <code>required int32 abilitySlot = 2;</code> + */ + boolean hasAbilitySlot(); + /** + * <code>required int32 abilitySlot = 2;</code> + */ + int getAbilitySlot(); + + /** + * <code>required .CMsgBotWorldState.Vector location = 3;</code> + */ + boolean hasLocation(); + /** + * <code>required .CMsgBotWorldState.Vector location = 3;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation(); + /** + * <code>required .CMsgBotWorldState.Vector location = 3;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.CastLocation} + */ + public static final class CastLocation extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.CastLocation) + CastLocationOrBuilder { + private static final long serialVersionUID = 0L; + // Use CastLocation.newBuilder() to construct. + private CastLocation(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private CastLocation() { + units_ = emptyIntList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private CastLocation( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + units_.addInt(input.readInt32()); + break; + } + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + while (input.getBytesUntilLimit() > 0) { + units_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + case 16: { + bitField0_ |= 0x00000001; + abilitySlot_ = input.readInt32(); + break; + } + case 26: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000002) != 0)) { + subBuilder = location_.toBuilder(); + } + location_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(location_); + location_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000002; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); // C + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastLocation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastLocation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.Builder.class); + } + + private int bitField0_; + public static final int UNITS_FIELD_NUMBER = 1; + private com.google.protobuf.Internal.IntList units_; + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + + public static final int ABILITYSLOT_FIELD_NUMBER = 2; + private int abilitySlot_; + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public boolean hasAbilitySlot() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public int getAbilitySlot() { + return abilitySlot_; + } + + public static final int LOCATION_FIELD_NUMBER = 3; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + /** + * <code>required .CMsgBotWorldState.Vector location = 3;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector location = 3;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + /** + * <code>required .CMsgBotWorldState.Vector location = 3;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasAbilitySlot()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasLocation()) { + memoizedIsInitialized = 0; + return false; + } + if (!getLocation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < units_.size(); i++) { + output.writeInt32(1, units_.getInt(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(2, abilitySlot_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(3, getLocation()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < units_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(units_.getInt(i)); + } + size += dataSize; + size += 1 * getUnitsList().size(); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, abilitySlot_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getLocation()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation) obj; + + if (!getUnitsList() + .equals(other.getUnitsList())) return false; + if (hasAbilitySlot() != other.hasAbilitySlot()) return false; + if (hasAbilitySlot()) { + if (getAbilitySlot() + != other.getAbilitySlot()) return false; + } + if (hasLocation() != other.hasLocation()) return false; + if (hasLocation()) { + if (!getLocation() + .equals(other.getLocation())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getUnitsCount() > 0) { + hash = (37 * hash) + UNITS_FIELD_NUMBER; + hash = (53 * hash) + getUnitsList().hashCode(); + } + if (hasAbilitySlot()) { + hash = (37 * hash) + ABILITYSLOT_FIELD_NUMBER; + hash = (53 * hash) + getAbilitySlot(); + } + if (hasLocation()) { + hash = (37 * hash) + LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getLocation().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.CastLocation} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.CastLocation) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocationOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastLocation_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastLocation_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getLocationFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + abilitySlot_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + if (locationBuilder_ == null) { + location_ = null; + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastLocation_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.units_ = units_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.abilitySlot_ = abilitySlot_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + if (locationBuilder_ == null) { + result.location_ = location_; + } else { + result.location_ = locationBuilder_.build(); + } + to_bitField0_ |= 0x00000002; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.getDefaultInstance()) return this; + if (!other.units_.isEmpty()) { + if (units_.isEmpty()) { + units_ = other.units_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureUnitsIsMutable(); + units_.addAll(other.units_); + } + onChanged(); + } + if (other.hasAbilitySlot()) { + setAbilitySlot(other.getAbilitySlot()); + } + if (other.hasLocation()) { + mergeLocation(other.getLocation()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasAbilitySlot()) { + return false; + } + if (!hasLocation()) { + return false; + } + if (!getLocation().isInitialized()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList units_ = emptyIntList(); + private void ensureUnitsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + units_ = mutableCopy(units_); + bitField0_ |= 0x00000001; + } + } + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return ((bitField0_ & 0x00000001) != 0) ? + java.util.Collections.unmodifiableList(units_) : units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder setUnits( + int index, int value) { + ensureUnitsIsMutable(); + units_.setInt(index, value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addUnits(int value) { + ensureUnitsIsMutable(); + units_.addInt(value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addAllUnits( + java.lang.Iterable<? extends java.lang.Integer> values) { + ensureUnitsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, units_); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder clearUnits() { + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + private int abilitySlot_ ; + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public boolean hasAbilitySlot() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public int getAbilitySlot() { + return abilitySlot_; + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public Builder setAbilitySlot(int value) { + bitField0_ |= 0x00000002; + abilitySlot_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public Builder clearAbilitySlot() { + bitField0_ = (bitField0_ & ~0x00000002); + abilitySlot_ = 0; + onChanged(); + return this; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> locationBuilder_; + /** + * <code>required .CMsgBotWorldState.Vector location = 3;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector location = 3;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + if (locationBuilder_ == null) { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } else { + return locationBuilder_.getMessage(); + } + } + /** + * <code>required .CMsgBotWorldState.Vector location = 3;</code> + */ + public Builder setLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + onChanged(); + } else { + locationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector location = 3;</code> + */ + public Builder setLocation( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (locationBuilder_ == null) { + location_ = builderForValue.build(); + onChanged(); + } else { + locationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector location = 3;</code> + */ + public Builder mergeLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) && + location_ != null && + location_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + location_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(location_).mergeFrom(value).buildPartial(); + } else { + location_ = value; + } + onChanged(); + } else { + locationBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector location = 3;</code> + */ + public Builder clearLocation() { + if (locationBuilder_ == null) { + location_ = null; + onChanged(); + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector location = 3;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getLocationBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return getLocationFieldBuilder().getBuilder(); + } + /** + * <code>required .CMsgBotWorldState.Vector location = 3;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + if (locationBuilder_ != null) { + return locationBuilder_.getMessageOrBuilder(); + } else { + return location_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + } + /** + * <code>required .CMsgBotWorldState.Vector location = 3;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getLocationFieldBuilder() { + if (locationBuilder_ == null) { + locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getLocation(), + getParentForChildren(), + isClean()); + location_ = null; + } + return locationBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.CastLocation) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.CastLocation) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<CastLocation> + PARSER = new com.google.protobuf.AbstractParser<CastLocation>() { + @java.lang.Override + public CastLocation parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new CastLocation(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<CastLocation> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<CastLocation> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface CastTargetOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.CastTarget) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>repeated int32 units = 1;</code> + */ + java.util.List<java.lang.Integer> getUnitsList(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnitsCount(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnits(int index); + + /** + * <code>required int32 abilitySlot = 2;</code> + */ + boolean hasAbilitySlot(); + /** + * <code>required int32 abilitySlot = 2;</code> + */ + int getAbilitySlot(); + + /** + * <code>required int32 target = 3;</code> + */ + boolean hasTarget(); + /** + * <code>required int32 target = 3;</code> + */ + int getTarget(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.CastTarget} + */ + public static final class CastTarget extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.CastTarget) + CastTargetOrBuilder { + private static final long serialVersionUID = 0L; + // Use CastTarget.newBuilder() to construct. + private CastTarget(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private CastTarget() { + units_ = emptyIntList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private CastTarget( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + units_.addInt(input.readInt32()); + break; + } + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + while (input.getBytesUntilLimit() > 0) { + units_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + case 16: { + bitField0_ |= 0x00000001; + abilitySlot_ = input.readInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000002; + target_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); // C + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastTarget_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastTarget_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.Builder.class); + } + + private int bitField0_; + public static final int UNITS_FIELD_NUMBER = 1; + private com.google.protobuf.Internal.IntList units_; + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + + public static final int ABILITYSLOT_FIELD_NUMBER = 2; + private int abilitySlot_; + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public boolean hasAbilitySlot() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public int getAbilitySlot() { + return abilitySlot_; + } + + public static final int TARGET_FIELD_NUMBER = 3; + private int target_; + /** + * <code>required int32 target = 3;</code> + */ + public boolean hasTarget() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required int32 target = 3;</code> + */ + public int getTarget() { + return target_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasAbilitySlot()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasTarget()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < units_.size(); i++) { + output.writeInt32(1, units_.getInt(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(2, abilitySlot_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeInt32(3, target_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < units_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(units_.getInt(i)); + } + size += dataSize; + size += 1 * getUnitsList().size(); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, abilitySlot_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, target_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget) obj; + + if (!getUnitsList() + .equals(other.getUnitsList())) return false; + if (hasAbilitySlot() != other.hasAbilitySlot()) return false; + if (hasAbilitySlot()) { + if (getAbilitySlot() + != other.getAbilitySlot()) return false; + } + if (hasTarget() != other.hasTarget()) return false; + if (hasTarget()) { + if (getTarget() + != other.getTarget()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getUnitsCount() > 0) { + hash = (37 * hash) + UNITS_FIELD_NUMBER; + hash = (53 * hash) + getUnitsList().hashCode(); + } + if (hasAbilitySlot()) { + hash = (37 * hash) + ABILITYSLOT_FIELD_NUMBER; + hash = (53 * hash) + getAbilitySlot(); + } + if (hasTarget()) { + hash = (37 * hash) + TARGET_FIELD_NUMBER; + hash = (53 * hash) + getTarget(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.CastTarget} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.CastTarget) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTargetOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastTarget_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastTarget_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + abilitySlot_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + target_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastTarget_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.units_ = units_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.abilitySlot_ = abilitySlot_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.target_ = target_; + to_bitField0_ |= 0x00000002; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.getDefaultInstance()) return this; + if (!other.units_.isEmpty()) { + if (units_.isEmpty()) { + units_ = other.units_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureUnitsIsMutable(); + units_.addAll(other.units_); + } + onChanged(); + } + if (other.hasAbilitySlot()) { + setAbilitySlot(other.getAbilitySlot()); + } + if (other.hasTarget()) { + setTarget(other.getTarget()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasAbilitySlot()) { + return false; + } + if (!hasTarget()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList units_ = emptyIntList(); + private void ensureUnitsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + units_ = mutableCopy(units_); + bitField0_ |= 0x00000001; + } + } + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return ((bitField0_ & 0x00000001) != 0) ? + java.util.Collections.unmodifiableList(units_) : units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder setUnits( + int index, int value) { + ensureUnitsIsMutable(); + units_.setInt(index, value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addUnits(int value) { + ensureUnitsIsMutable(); + units_.addInt(value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addAllUnits( + java.lang.Iterable<? extends java.lang.Integer> values) { + ensureUnitsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, units_); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder clearUnits() { + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + private int abilitySlot_ ; + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public boolean hasAbilitySlot() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public int getAbilitySlot() { + return abilitySlot_; + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public Builder setAbilitySlot(int value) { + bitField0_ |= 0x00000002; + abilitySlot_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public Builder clearAbilitySlot() { + bitField0_ = (bitField0_ & ~0x00000002); + abilitySlot_ = 0; + onChanged(); + return this; + } + + private int target_ ; + /** + * <code>required int32 target = 3;</code> + */ + public boolean hasTarget() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required int32 target = 3;</code> + */ + public int getTarget() { + return target_; + } + /** + * <code>required int32 target = 3;</code> + */ + public Builder setTarget(int value) { + bitField0_ |= 0x00000004; + target_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 target = 3;</code> + */ + public Builder clearTarget() { + bitField0_ = (bitField0_ & ~0x00000004); + target_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.CastTarget) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.CastTarget) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<CastTarget> + PARSER = new com.google.protobuf.AbstractParser<CastTarget>() { + @java.lang.Override + public CastTarget parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new CastTarget(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<CastTarget> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<CastTarget> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface CastTreeOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.CastTree) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>repeated int32 units = 1;</code> + */ + java.util.List<java.lang.Integer> getUnitsList(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnitsCount(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnits(int index); + + /** + * <code>required int32 abilitySlot = 2;</code> + */ + boolean hasAbilitySlot(); + /** + * <code>required int32 abilitySlot = 2;</code> + */ + int getAbilitySlot(); + + /** + * <code>required int32 tree = 3;</code> + */ + boolean hasTree(); + /** + * <code>required int32 tree = 3;</code> + */ + int getTree(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.CastTree} + */ + public static final class CastTree extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.CastTree) + CastTreeOrBuilder { + private static final long serialVersionUID = 0L; + // Use CastTree.newBuilder() to construct. + private CastTree(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private CastTree() { + units_ = emptyIntList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private CastTree( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + units_.addInt(input.readInt32()); + break; + } + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + while (input.getBytesUntilLimit() > 0) { + units_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + case 16: { + bitField0_ |= 0x00000001; + abilitySlot_ = input.readInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000002; + tree_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); // C + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastTree_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastTree_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.Builder.class); + } + + private int bitField0_; + public static final int UNITS_FIELD_NUMBER = 1; + private com.google.protobuf.Internal.IntList units_; + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + + public static final int ABILITYSLOT_FIELD_NUMBER = 2; + private int abilitySlot_; + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public boolean hasAbilitySlot() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public int getAbilitySlot() { + return abilitySlot_; + } + + public static final int TREE_FIELD_NUMBER = 3; + private int tree_; + /** + * <code>required int32 tree = 3;</code> + */ + public boolean hasTree() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required int32 tree = 3;</code> + */ + public int getTree() { + return tree_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasAbilitySlot()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasTree()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < units_.size(); i++) { + output.writeInt32(1, units_.getInt(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(2, abilitySlot_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeInt32(3, tree_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < units_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(units_.getInt(i)); + } + size += dataSize; + size += 1 * getUnitsList().size(); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, abilitySlot_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, tree_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree) obj; + + if (!getUnitsList() + .equals(other.getUnitsList())) return false; + if (hasAbilitySlot() != other.hasAbilitySlot()) return false; + if (hasAbilitySlot()) { + if (getAbilitySlot() + != other.getAbilitySlot()) return false; + } + if (hasTree() != other.hasTree()) return false; + if (hasTree()) { + if (getTree() + != other.getTree()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getUnitsCount() > 0) { + hash = (37 * hash) + UNITS_FIELD_NUMBER; + hash = (53 * hash) + getUnitsList().hashCode(); + } + if (hasAbilitySlot()) { + hash = (37 * hash) + ABILITYSLOT_FIELD_NUMBER; + hash = (53 * hash) + getAbilitySlot(); + } + if (hasTree()) { + hash = (37 * hash) + TREE_FIELD_NUMBER; + hash = (53 * hash) + getTree(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.CastTree} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.CastTree) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTreeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastTree_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastTree_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + abilitySlot_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + tree_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastTree_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.units_ = units_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.abilitySlot_ = abilitySlot_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.tree_ = tree_; + to_bitField0_ |= 0x00000002; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.getDefaultInstance()) return this; + if (!other.units_.isEmpty()) { + if (units_.isEmpty()) { + units_ = other.units_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureUnitsIsMutable(); + units_.addAll(other.units_); + } + onChanged(); + } + if (other.hasAbilitySlot()) { + setAbilitySlot(other.getAbilitySlot()); + } + if (other.hasTree()) { + setTree(other.getTree()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasAbilitySlot()) { + return false; + } + if (!hasTree()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList units_ = emptyIntList(); + private void ensureUnitsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + units_ = mutableCopy(units_); + bitField0_ |= 0x00000001; + } + } + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return ((bitField0_ & 0x00000001) != 0) ? + java.util.Collections.unmodifiableList(units_) : units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder setUnits( + int index, int value) { + ensureUnitsIsMutable(); + units_.setInt(index, value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addUnits(int value) { + ensureUnitsIsMutable(); + units_.addInt(value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addAllUnits( + java.lang.Iterable<? extends java.lang.Integer> values) { + ensureUnitsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, units_); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder clearUnits() { + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + private int abilitySlot_ ; + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public boolean hasAbilitySlot() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public int getAbilitySlot() { + return abilitySlot_; + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public Builder setAbilitySlot(int value) { + bitField0_ |= 0x00000002; + abilitySlot_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public Builder clearAbilitySlot() { + bitField0_ = (bitField0_ & ~0x00000002); + abilitySlot_ = 0; + onChanged(); + return this; + } + + private int tree_ ; + /** + * <code>required int32 tree = 3;</code> + */ + public boolean hasTree() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required int32 tree = 3;</code> + */ + public int getTree() { + return tree_; + } + /** + * <code>required int32 tree = 3;</code> + */ + public Builder setTree(int value) { + bitField0_ |= 0x00000004; + tree_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 tree = 3;</code> + */ + public Builder clearTree() { + bitField0_ = (bitField0_ & ~0x00000004); + tree_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.CastTree) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.CastTree) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<CastTree> + PARSER = new com.google.protobuf.AbstractParser<CastTree>() { + @java.lang.Override + public CastTree parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new CastTree(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<CastTree> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<CastTree> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface CastOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.Cast) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>repeated int32 units = 1;</code> + */ + java.util.List<java.lang.Integer> getUnitsList(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnitsCount(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnits(int index); + + /** + * <code>required int32 abilitySlot = 2;</code> + */ + boolean hasAbilitySlot(); + /** + * <code>required int32 abilitySlot = 2;</code> + */ + int getAbilitySlot(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.Cast} + */ + public static final class Cast extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.Cast) + CastOrBuilder { + private static final long serialVersionUID = 0L; + // Use Cast.newBuilder() to construct. + private Cast(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Cast() { + units_ = emptyIntList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Cast( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + units_.addInt(input.readInt32()); + break; + } + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + while (input.getBytesUntilLimit() > 0) { + units_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + case 16: { + bitField0_ |= 0x00000001; + abilitySlot_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); // C + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Cast_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Cast_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.Builder.class); + } + + private int bitField0_; + public static final int UNITS_FIELD_NUMBER = 1; + private com.google.protobuf.Internal.IntList units_; + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + + public static final int ABILITYSLOT_FIELD_NUMBER = 2; + private int abilitySlot_; + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public boolean hasAbilitySlot() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public int getAbilitySlot() { + return abilitySlot_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasAbilitySlot()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < units_.size(); i++) { + output.writeInt32(1, units_.getInt(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(2, abilitySlot_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < units_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(units_.getInt(i)); + } + size += dataSize; + size += 1 * getUnitsList().size(); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, abilitySlot_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast) obj; + + if (!getUnitsList() + .equals(other.getUnitsList())) return false; + if (hasAbilitySlot() != other.hasAbilitySlot()) return false; + if (hasAbilitySlot()) { + if (getAbilitySlot() + != other.getAbilitySlot()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getUnitsCount() > 0) { + hash = (37 * hash) + UNITS_FIELD_NUMBER; + hash = (53 * hash) + getUnitsList().hashCode(); + } + if (hasAbilitySlot()) { + hash = (37 * hash) + ABILITYSLOT_FIELD_NUMBER; + hash = (53 * hash) + getAbilitySlot(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.Cast} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.Cast) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Cast_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Cast_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + abilitySlot_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Cast_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.units_ = units_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.abilitySlot_ = abilitySlot_; + to_bitField0_ |= 0x00000001; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.getDefaultInstance()) return this; + if (!other.units_.isEmpty()) { + if (units_.isEmpty()) { + units_ = other.units_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureUnitsIsMutable(); + units_.addAll(other.units_); + } + onChanged(); + } + if (other.hasAbilitySlot()) { + setAbilitySlot(other.getAbilitySlot()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasAbilitySlot()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList units_ = emptyIntList(); + private void ensureUnitsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + units_ = mutableCopy(units_); + bitField0_ |= 0x00000001; + } + } + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return ((bitField0_ & 0x00000001) != 0) ? + java.util.Collections.unmodifiableList(units_) : units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder setUnits( + int index, int value) { + ensureUnitsIsMutable(); + units_.setInt(index, value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addUnits(int value) { + ensureUnitsIsMutable(); + units_.addInt(value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addAllUnits( + java.lang.Iterable<? extends java.lang.Integer> values) { + ensureUnitsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, units_); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder clearUnits() { + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + private int abilitySlot_ ; + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public boolean hasAbilitySlot() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public int getAbilitySlot() { + return abilitySlot_; + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public Builder setAbilitySlot(int value) { + bitField0_ |= 0x00000002; + abilitySlot_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public Builder clearAbilitySlot() { + bitField0_ = (bitField0_ & ~0x00000002); + abilitySlot_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.Cast) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.Cast) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<Cast> + PARSER = new com.google.protobuf.AbstractParser<Cast>() { + @java.lang.Override + public Cast parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Cast(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Cast> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Cast> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface CastToggleOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.CastToggle) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>repeated int32 units = 1;</code> + */ + java.util.List<java.lang.Integer> getUnitsList(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnitsCount(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnits(int index); + + /** + * <code>required int32 abilitySlot = 2;</code> + */ + boolean hasAbilitySlot(); + /** + * <code>required int32 abilitySlot = 2;</code> + */ + int getAbilitySlot(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.CastToggle} + */ + public static final class CastToggle extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.CastToggle) + CastToggleOrBuilder { + private static final long serialVersionUID = 0L; + // Use CastToggle.newBuilder() to construct. + private CastToggle(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private CastToggle() { + units_ = emptyIntList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private CastToggle( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + units_.addInt(input.readInt32()); + break; + } + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + while (input.getBytesUntilLimit() > 0) { + units_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + case 16: { + bitField0_ |= 0x00000001; + abilitySlot_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); // C + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastToggle_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastToggle_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.Builder.class); + } + + private int bitField0_; + public static final int UNITS_FIELD_NUMBER = 1; + private com.google.protobuf.Internal.IntList units_; + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + + public static final int ABILITYSLOT_FIELD_NUMBER = 2; + private int abilitySlot_; + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public boolean hasAbilitySlot() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public int getAbilitySlot() { + return abilitySlot_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasAbilitySlot()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < units_.size(); i++) { + output.writeInt32(1, units_.getInt(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(2, abilitySlot_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < units_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(units_.getInt(i)); + } + size += dataSize; + size += 1 * getUnitsList().size(); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, abilitySlot_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle) obj; + + if (!getUnitsList() + .equals(other.getUnitsList())) return false; + if (hasAbilitySlot() != other.hasAbilitySlot()) return false; + if (hasAbilitySlot()) { + if (getAbilitySlot() + != other.getAbilitySlot()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getUnitsCount() > 0) { + hash = (37 * hash) + UNITS_FIELD_NUMBER; + hash = (53 * hash) + getUnitsList().hashCode(); + } + if (hasAbilitySlot()) { + hash = (37 * hash) + ABILITYSLOT_FIELD_NUMBER; + hash = (53 * hash) + getAbilitySlot(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.CastToggle} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.CastToggle) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggleOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastToggle_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastToggle_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + abilitySlot_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_CastToggle_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.units_ = units_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.abilitySlot_ = abilitySlot_; + to_bitField0_ |= 0x00000001; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.getDefaultInstance()) return this; + if (!other.units_.isEmpty()) { + if (units_.isEmpty()) { + units_ = other.units_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureUnitsIsMutable(); + units_.addAll(other.units_); + } + onChanged(); + } + if (other.hasAbilitySlot()) { + setAbilitySlot(other.getAbilitySlot()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasAbilitySlot()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList units_ = emptyIntList(); + private void ensureUnitsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + units_ = mutableCopy(units_); + bitField0_ |= 0x00000001; + } + } + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return ((bitField0_ & 0x00000001) != 0) ? + java.util.Collections.unmodifiableList(units_) : units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder setUnits( + int index, int value) { + ensureUnitsIsMutable(); + units_.setInt(index, value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addUnits(int value) { + ensureUnitsIsMutable(); + units_.addInt(value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addAllUnits( + java.lang.Iterable<? extends java.lang.Integer> values) { + ensureUnitsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, units_); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder clearUnits() { + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + private int abilitySlot_ ; + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public boolean hasAbilitySlot() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public int getAbilitySlot() { + return abilitySlot_; + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public Builder setAbilitySlot(int value) { + bitField0_ |= 0x00000002; + abilitySlot_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 abilitySlot = 2;</code> + */ + public Builder clearAbilitySlot() { + bitField0_ = (bitField0_ & ~0x00000002); + abilitySlot_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.CastToggle) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.CastToggle) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<CastToggle> + PARSER = new com.google.protobuf.AbstractParser<CastToggle>() { + @java.lang.Override + public CastToggle parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new CastToggle(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<CastToggle> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<CastToggle> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface TrainAbilityOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.TrainAbility) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required string ability = 1;</code> + */ + boolean hasAbility(); + /** + * <code>required string ability = 1;</code> + */ + java.lang.String getAbility(); + /** + * <code>required string ability = 1;</code> + */ + com.google.protobuf.ByteString + getAbilityBytes(); + + /** + * <code>optional int32 level = 2;</code> + */ + boolean hasLevel(); + /** + * <code>optional int32 level = 2;</code> + */ + int getLevel(); + + /** + * <code>optional int32 unit = 3;</code> + */ + boolean hasUnit(); + /** + * <code>optional int32 unit = 3;</code> + */ + int getUnit(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.TrainAbility} + */ + public static final class TrainAbility extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.TrainAbility) + TrainAbilityOrBuilder { + private static final long serialVersionUID = 0L; + // Use TrainAbility.newBuilder() to construct. + private TrainAbility(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private TrainAbility() { + ability_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private TrainAbility( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000001; + ability_ = bs; + break; + } + case 16: { + bitField0_ |= 0x00000002; + level_ = input.readInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + unit_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_TrainAbility_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_TrainAbility_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.Builder.class); + } + + private int bitField0_; + public static final int ABILITY_FIELD_NUMBER = 1; + private volatile java.lang.Object ability_; + /** + * <code>required string ability = 1;</code> + */ + public boolean hasAbility() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required string ability = 1;</code> + */ + public java.lang.String getAbility() { + java.lang.Object ref = ability_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + ability_ = s; + } + return s; + } + } + /** + * <code>required string ability = 1;</code> + */ + public com.google.protobuf.ByteString + getAbilityBytes() { + java.lang.Object ref = ability_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ability_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int LEVEL_FIELD_NUMBER = 2; + private int level_; + /** + * <code>optional int32 level = 2;</code> + */ + public boolean hasLevel() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional int32 level = 2;</code> + */ + public int getLevel() { + return level_; + } + + public static final int UNIT_FIELD_NUMBER = 3; + private int unit_; + /** + * <code>optional int32 unit = 3;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional int32 unit = 3;</code> + */ + public int getUnit() { + return unit_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasAbility()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, ability_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeInt32(2, level_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeInt32(3, unit_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, ability_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, level_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, unit_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility) obj; + + if (hasAbility() != other.hasAbility()) return false; + if (hasAbility()) { + if (!getAbility() + .equals(other.getAbility())) return false; + } + if (hasLevel() != other.hasLevel()) return false; + if (hasLevel()) { + if (getLevel() + != other.getLevel()) return false; + } + if (hasUnit() != other.hasUnit()) return false; + if (hasUnit()) { + if (getUnit() + != other.getUnit()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasAbility()) { + hash = (37 * hash) + ABILITY_FIELD_NUMBER; + hash = (53 * hash) + getAbility().hashCode(); + } + if (hasLevel()) { + hash = (37 * hash) + LEVEL_FIELD_NUMBER; + hash = (53 * hash) + getLevel(); + } + if (hasUnit()) { + hash = (37 * hash) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.TrainAbility} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.TrainAbility) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbilityOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_TrainAbility_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_TrainAbility_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + ability_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + level_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + unit_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_TrainAbility_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + to_bitField0_ |= 0x00000001; + } + result.ability_ = ability_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.level_ = level_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.unit_ = unit_; + to_bitField0_ |= 0x00000004; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.getDefaultInstance()) return this; + if (other.hasAbility()) { + bitField0_ |= 0x00000001; + ability_ = other.ability_; + onChanged(); + } + if (other.hasLevel()) { + setLevel(other.getLevel()); + } + if (other.hasUnit()) { + setUnit(other.getUnit()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasAbility()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.lang.Object ability_ = ""; + /** + * <code>required string ability = 1;</code> + */ + public boolean hasAbility() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required string ability = 1;</code> + */ + public java.lang.String getAbility() { + java.lang.Object ref = ability_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + ability_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>required string ability = 1;</code> + */ + public com.google.protobuf.ByteString + getAbilityBytes() { + java.lang.Object ref = ability_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ability_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>required string ability = 1;</code> + */ + public Builder setAbility( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + ability_ = value; + onChanged(); + return this; + } + /** + * <code>required string ability = 1;</code> + */ + public Builder clearAbility() { + bitField0_ = (bitField0_ & ~0x00000001); + ability_ = getDefaultInstance().getAbility(); + onChanged(); + return this; + } + /** + * <code>required string ability = 1;</code> + */ + public Builder setAbilityBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + ability_ = value; + onChanged(); + return this; + } + + private int level_ ; + /** + * <code>optional int32 level = 2;</code> + */ + public boolean hasLevel() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional int32 level = 2;</code> + */ + public int getLevel() { + return level_; + } + /** + * <code>optional int32 level = 2;</code> + */ + public Builder setLevel(int value) { + bitField0_ |= 0x00000002; + level_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 level = 2;</code> + */ + public Builder clearLevel() { + bitField0_ = (bitField0_ & ~0x00000002); + level_ = 0; + onChanged(); + return this; + } + + private int unit_ ; + /** + * <code>optional int32 unit = 3;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional int32 unit = 3;</code> + */ + public int getUnit() { + return unit_; + } + /** + * <code>optional int32 unit = 3;</code> + */ + public Builder setUnit(int value) { + bitField0_ |= 0x00000004; + unit_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 unit = 3;</code> + */ + public Builder clearUnit() { + bitField0_ = (bitField0_ & ~0x00000004); + unit_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.TrainAbility) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.TrainAbility) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<TrainAbility> + PARSER = new com.google.protobuf.AbstractParser<TrainAbility>() { + @java.lang.Override + public TrainAbility parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new TrainAbility(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<TrainAbility> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<TrainAbility> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface DropItemOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.DropItem) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional int32 unit = 1;</code> + */ + boolean hasUnit(); + /** + * <code>optional int32 unit = 1;</code> + */ + int getUnit(); + + /** + * <code>optional int32 slot = 2;</code> + */ + boolean hasSlot(); + /** + * <code>optional int32 slot = 2;</code> + */ + int getSlot(); + + /** + * <code>optional .CMsgBotWorldState.Vector location = 3;</code> + */ + boolean hasLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 3;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation(); + /** + * <code>optional .CMsgBotWorldState.Vector location = 3;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.DropItem} + */ + public static final class DropItem extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.DropItem) + DropItemOrBuilder { + private static final long serialVersionUID = 0L; + // Use DropItem.newBuilder() to construct. + private DropItem(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private DropItem() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private DropItem( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + unit_ = input.readInt32(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + slot_ = input.readInt32(); + break; + } + case 26: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000004) != 0)) { + subBuilder = location_.toBuilder(); + } + location_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(location_); + location_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000004; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_DropItem_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_DropItem_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.Builder.class); + } + + private int bitField0_; + public static final int UNIT_FIELD_NUMBER = 1; + private int unit_; + /** + * <code>optional int32 unit = 1;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional int32 unit = 1;</code> + */ + public int getUnit() { + return unit_; + } + + public static final int SLOT_FIELD_NUMBER = 2; + private int slot_; + /** + * <code>optional int32 slot = 2;</code> + */ + public boolean hasSlot() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional int32 slot = 2;</code> + */ + public int getSlot() { + return slot_; + } + + public static final int LOCATION_FIELD_NUMBER = 3; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 3;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 3;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 3;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (hasLocation()) { + if (!getLocation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(1, unit_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeInt32(2, slot_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeMessage(3, getLocation()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, unit_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, slot_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getLocation()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem) obj; + + if (hasUnit() != other.hasUnit()) return false; + if (hasUnit()) { + if (getUnit() + != other.getUnit()) return false; + } + if (hasSlot() != other.hasSlot()) return false; + if (hasSlot()) { + if (getSlot() + != other.getSlot()) return false; + } + if (hasLocation() != other.hasLocation()) return false; + if (hasLocation()) { + if (!getLocation() + .equals(other.getLocation())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasUnit()) { + hash = (37 * hash) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit(); + } + if (hasSlot()) { + hash = (37 * hash) + SLOT_FIELD_NUMBER; + hash = (53 * hash) + getSlot(); + } + if (hasLocation()) { + hash = (37 * hash) + LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getLocation().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.DropItem} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.DropItem) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItemOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_DropItem_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_DropItem_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getLocationFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + unit_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + slot_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + if (locationBuilder_ == null) { + location_ = null; + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_DropItem_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.unit_ = unit_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.slot_ = slot_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + if (locationBuilder_ == null) { + result.location_ = location_; + } else { + result.location_ = locationBuilder_.build(); + } + to_bitField0_ |= 0x00000004; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.getDefaultInstance()) return this; + if (other.hasUnit()) { + setUnit(other.getUnit()); + } + if (other.hasSlot()) { + setSlot(other.getSlot()); + } + if (other.hasLocation()) { + mergeLocation(other.getLocation()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (hasLocation()) { + if (!getLocation().isInitialized()) { + return false; + } + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int unit_ ; + /** + * <code>optional int32 unit = 1;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional int32 unit = 1;</code> + */ + public int getUnit() { + return unit_; + } + /** + * <code>optional int32 unit = 1;</code> + */ + public Builder setUnit(int value) { + bitField0_ |= 0x00000001; + unit_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 unit = 1;</code> + */ + public Builder clearUnit() { + bitField0_ = (bitField0_ & ~0x00000001); + unit_ = 0; + onChanged(); + return this; + } + + private int slot_ ; + /** + * <code>optional int32 slot = 2;</code> + */ + public boolean hasSlot() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional int32 slot = 2;</code> + */ + public int getSlot() { + return slot_; + } + /** + * <code>optional int32 slot = 2;</code> + */ + public Builder setSlot(int value) { + bitField0_ |= 0x00000002; + slot_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 slot = 2;</code> + */ + public Builder clearSlot() { + bitField0_ = (bitField0_ & ~0x00000002); + slot_ = 0; + onChanged(); + return this; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector location_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> locationBuilder_; + /** + * <code>optional .CMsgBotWorldState.Vector location = 3;</code> + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 3;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getLocation() { + if (locationBuilder_ == null) { + return location_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } else { + return locationBuilder_.getMessage(); + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 3;</code> + */ + public Builder setLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + onChanged(); + } else { + locationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 3;</code> + */ + public Builder setLocation( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (locationBuilder_ == null) { + location_ = builderForValue.build(); + onChanged(); + } else { + locationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 3;</code> + */ + public Builder mergeLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (locationBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) && + location_ != null && + location_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + location_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(location_).mergeFrom(value).buildPartial(); + } else { + location_ = value; + } + onChanged(); + } else { + locationBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 3;</code> + */ + public Builder clearLocation() { + if (locationBuilder_ == null) { + location_ = null; + onChanged(); + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 3;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getLocationBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return getLocationFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 3;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getLocationOrBuilder() { + if (locationBuilder_ != null) { + return locationBuilder_.getMessageOrBuilder(); + } else { + return location_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : location_; + } + } + /** + * <code>optional .CMsgBotWorldState.Vector location = 3;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getLocationFieldBuilder() { + if (locationBuilder_ == null) { + locationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getLocation(), + getParentForChildren(), + isClean()); + location_ = null; + } + return locationBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.DropItem) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.DropItem) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<DropItem> + PARSER = new com.google.protobuf.AbstractParser<DropItem>() { + @java.lang.Override + public DropItem parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new DropItem(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<DropItem> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<DropItem> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface PickUpItemOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.PickUpItem) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional int32 unit = 1;</code> + */ + boolean hasUnit(); + /** + * <code>optional int32 unit = 1;</code> + */ + int getUnit(); + + /** + * <code>optional int32 itemId = 2;</code> + */ + boolean hasItemId(); + /** + * <code>optional int32 itemId = 2;</code> + */ + int getItemId(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.PickUpItem} + */ + public static final class PickUpItem extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.PickUpItem) + PickUpItemOrBuilder { + private static final long serialVersionUID = 0L; + // Use PickUpItem.newBuilder() to construct. + private PickUpItem(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private PickUpItem() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private PickUpItem( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + unit_ = input.readInt32(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + itemId_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_PickUpItem_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_PickUpItem_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.Builder.class); + } + + private int bitField0_; + public static final int UNIT_FIELD_NUMBER = 1; + private int unit_; + /** + * <code>optional int32 unit = 1;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional int32 unit = 1;</code> + */ + public int getUnit() { + return unit_; + } + + public static final int ITEMID_FIELD_NUMBER = 2; + private int itemId_; + /** + * <code>optional int32 itemId = 2;</code> + */ + public boolean hasItemId() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional int32 itemId = 2;</code> + */ + public int getItemId() { + return itemId_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(1, unit_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeInt32(2, itemId_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, unit_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, itemId_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem) obj; + + if (hasUnit() != other.hasUnit()) return false; + if (hasUnit()) { + if (getUnit() + != other.getUnit()) return false; + } + if (hasItemId() != other.hasItemId()) return false; + if (hasItemId()) { + if (getItemId() + != other.getItemId()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasUnit()) { + hash = (37 * hash) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit(); + } + if (hasItemId()) { + hash = (37 * hash) + ITEMID_FIELD_NUMBER; + hash = (53 * hash) + getItemId(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.PickUpItem} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.PickUpItem) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItemOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_PickUpItem_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_PickUpItem_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + unit_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + itemId_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_PickUpItem_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.unit_ = unit_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.itemId_ = itemId_; + to_bitField0_ |= 0x00000002; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.getDefaultInstance()) return this; + if (other.hasUnit()) { + setUnit(other.getUnit()); + } + if (other.hasItemId()) { + setItemId(other.getItemId()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int unit_ ; + /** + * <code>optional int32 unit = 1;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional int32 unit = 1;</code> + */ + public int getUnit() { + return unit_; + } + /** + * <code>optional int32 unit = 1;</code> + */ + public Builder setUnit(int value) { + bitField0_ |= 0x00000001; + unit_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 unit = 1;</code> + */ + public Builder clearUnit() { + bitField0_ = (bitField0_ & ~0x00000001); + unit_ = 0; + onChanged(); + return this; + } + + private int itemId_ ; + /** + * <code>optional int32 itemId = 2;</code> + */ + public boolean hasItemId() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional int32 itemId = 2;</code> + */ + public int getItemId() { + return itemId_; + } + /** + * <code>optional int32 itemId = 2;</code> + */ + public Builder setItemId(int value) { + bitField0_ |= 0x00000002; + itemId_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 itemId = 2;</code> + */ + public Builder clearItemId() { + bitField0_ = (bitField0_ & ~0x00000002); + itemId_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.PickUpItem) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.PickUpItem) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<PickUpItem> + PARSER = new com.google.protobuf.AbstractParser<PickUpItem>() { + @java.lang.Override + public PickUpItem parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new PickUpItem(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<PickUpItem> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<PickUpItem> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface PurchaseItemOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.PurchaseItem) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional int32 item = 1;</code> + */ + boolean hasItem(); + /** + * <code>optional int32 item = 1;</code> + */ + int getItem(); + + /** + * <code>optional string item_name = 2;</code> + */ + boolean hasItemName(); + /** + * <code>optional string item_name = 2;</code> + */ + java.lang.String getItemName(); + /** + * <code>optional string item_name = 2;</code> + */ + com.google.protobuf.ByteString + getItemNameBytes(); + + /** + * <code>optional int32 unit = 3;</code> + */ + boolean hasUnit(); + /** + * <code>optional int32 unit = 3;</code> + */ + int getUnit(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.PurchaseItem} + */ + public static final class PurchaseItem extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.PurchaseItem) + PurchaseItemOrBuilder { + private static final long serialVersionUID = 0L; + // Use PurchaseItem.newBuilder() to construct. + private PurchaseItem(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private PurchaseItem() { + itemName_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private PurchaseItem( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + item_ = input.readInt32(); + break; + } + case 18: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000002; + itemName_ = bs; + break; + } + case 24: { + bitField0_ |= 0x00000004; + unit_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_PurchaseItem_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_PurchaseItem_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.Builder.class); + } + + private int bitField0_; + public static final int ITEM_FIELD_NUMBER = 1; + private int item_; + /** + * <code>optional int32 item = 1;</code> + */ + public boolean hasItem() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional int32 item = 1;</code> + */ + public int getItem() { + return item_; + } + + public static final int ITEM_NAME_FIELD_NUMBER = 2; + private volatile java.lang.Object itemName_; + /** + * <code>optional string item_name = 2;</code> + */ + public boolean hasItemName() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional string item_name = 2;</code> + */ + public java.lang.String getItemName() { + java.lang.Object ref = itemName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + itemName_ = s; + } + return s; + } + } + /** + * <code>optional string item_name = 2;</code> + */ + public com.google.protobuf.ByteString + getItemNameBytes() { + java.lang.Object ref = itemName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + itemName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int UNIT_FIELD_NUMBER = 3; + private int unit_; + /** + * <code>optional int32 unit = 3;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional int32 unit = 3;</code> + */ + public int getUnit() { + return unit_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(1, item_); + } + if (((bitField0_ & 0x00000002) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, itemName_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeInt32(3, unit_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, item_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, itemName_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, unit_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem) obj; + + if (hasItem() != other.hasItem()) return false; + if (hasItem()) { + if (getItem() + != other.getItem()) return false; + } + if (hasItemName() != other.hasItemName()) return false; + if (hasItemName()) { + if (!getItemName() + .equals(other.getItemName())) return false; + } + if (hasUnit() != other.hasUnit()) return false; + if (hasUnit()) { + if (getUnit() + != other.getUnit()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasItem()) { + hash = (37 * hash) + ITEM_FIELD_NUMBER; + hash = (53 * hash) + getItem(); + } + if (hasItemName()) { + hash = (37 * hash) + ITEM_NAME_FIELD_NUMBER; + hash = (53 * hash) + getItemName().hashCode(); + } + if (hasUnit()) { + hash = (37 * hash) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.PurchaseItem} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.PurchaseItem) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItemOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_PurchaseItem_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_PurchaseItem_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + item_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + itemName_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + unit_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_PurchaseItem_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.item_ = item_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + to_bitField0_ |= 0x00000002; + } + result.itemName_ = itemName_; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.unit_ = unit_; + to_bitField0_ |= 0x00000004; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.getDefaultInstance()) return this; + if (other.hasItem()) { + setItem(other.getItem()); + } + if (other.hasItemName()) { + bitField0_ |= 0x00000002; + itemName_ = other.itemName_; + onChanged(); + } + if (other.hasUnit()) { + setUnit(other.getUnit()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int item_ ; + /** + * <code>optional int32 item = 1;</code> + */ + public boolean hasItem() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional int32 item = 1;</code> + */ + public int getItem() { + return item_; + } + /** + * <code>optional int32 item = 1;</code> + */ + public Builder setItem(int value) { + bitField0_ |= 0x00000001; + item_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 item = 1;</code> + */ + public Builder clearItem() { + bitField0_ = (bitField0_ & ~0x00000001); + item_ = 0; + onChanged(); + return this; + } + + private java.lang.Object itemName_ = ""; + /** + * <code>optional string item_name = 2;</code> + */ + public boolean hasItemName() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional string item_name = 2;</code> + */ + public java.lang.String getItemName() { + java.lang.Object ref = itemName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + itemName_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string item_name = 2;</code> + */ + public com.google.protobuf.ByteString + getItemNameBytes() { + java.lang.Object ref = itemName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + itemName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string item_name = 2;</code> + */ + public Builder setItemName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + itemName_ = value; + onChanged(); + return this; + } + /** + * <code>optional string item_name = 2;</code> + */ + public Builder clearItemName() { + bitField0_ = (bitField0_ & ~0x00000002); + itemName_ = getDefaultInstance().getItemName(); + onChanged(); + return this; + } + /** + * <code>optional string item_name = 2;</code> + */ + public Builder setItemNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + itemName_ = value; + onChanged(); + return this; + } + + private int unit_ ; + /** + * <code>optional int32 unit = 3;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional int32 unit = 3;</code> + */ + public int getUnit() { + return unit_; + } + /** + * <code>optional int32 unit = 3;</code> + */ + public Builder setUnit(int value) { + bitField0_ |= 0x00000004; + unit_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 unit = 3;</code> + */ + public Builder clearUnit() { + bitField0_ = (bitField0_ & ~0x00000004); + unit_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.PurchaseItem) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.PurchaseItem) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<PurchaseItem> + PARSER = new com.google.protobuf.AbstractParser<PurchaseItem>() { + @java.lang.Override + public PurchaseItem parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new PurchaseItem(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<PurchaseItem> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<PurchaseItem> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SellItemOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.SellItem) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional int32 item = 1;</code> + */ + boolean hasItem(); + /** + * <code>optional int32 item = 1;</code> + */ + int getItem(); + + /** + * <code>optional int32 slot = 2;</code> + */ + boolean hasSlot(); + /** + * <code>optional int32 slot = 2;</code> + */ + int getSlot(); + + /** + * <code>optional int32 unit = 3;</code> + */ + boolean hasUnit(); + /** + * <code>optional int32 unit = 3;</code> + */ + int getUnit(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.SellItem} + */ + public static final class SellItem extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.SellItem) + SellItemOrBuilder { + private static final long serialVersionUID = 0L; + // Use SellItem.newBuilder() to construct. + private SellItem(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private SellItem() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SellItem( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + item_ = input.readInt32(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + slot_ = input.readInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + unit_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SellItem_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SellItem_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.Builder.class); + } + + private int bitField0_; + public static final int ITEM_FIELD_NUMBER = 1; + private int item_; + /** + * <code>optional int32 item = 1;</code> + */ + public boolean hasItem() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional int32 item = 1;</code> + */ + public int getItem() { + return item_; + } + + public static final int SLOT_FIELD_NUMBER = 2; + private int slot_; + /** + * <code>optional int32 slot = 2;</code> + */ + public boolean hasSlot() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional int32 slot = 2;</code> + */ + public int getSlot() { + return slot_; + } + + public static final int UNIT_FIELD_NUMBER = 3; + private int unit_; + /** + * <code>optional int32 unit = 3;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional int32 unit = 3;</code> + */ + public int getUnit() { + return unit_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(1, item_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeInt32(2, slot_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeInt32(3, unit_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, item_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, slot_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, unit_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem) obj; + + if (hasItem() != other.hasItem()) return false; + if (hasItem()) { + if (getItem() + != other.getItem()) return false; + } + if (hasSlot() != other.hasSlot()) return false; + if (hasSlot()) { + if (getSlot() + != other.getSlot()) return false; + } + if (hasUnit() != other.hasUnit()) return false; + if (hasUnit()) { + if (getUnit() + != other.getUnit()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasItem()) { + hash = (37 * hash) + ITEM_FIELD_NUMBER; + hash = (53 * hash) + getItem(); + } + if (hasSlot()) { + hash = (37 * hash) + SLOT_FIELD_NUMBER; + hash = (53 * hash) + getSlot(); + } + if (hasUnit()) { + hash = (37 * hash) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.SellItem} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.SellItem) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItemOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SellItem_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SellItem_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + item_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + slot_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + unit_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SellItem_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.item_ = item_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.slot_ = slot_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.unit_ = unit_; + to_bitField0_ |= 0x00000004; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.getDefaultInstance()) return this; + if (other.hasItem()) { + setItem(other.getItem()); + } + if (other.hasSlot()) { + setSlot(other.getSlot()); + } + if (other.hasUnit()) { + setUnit(other.getUnit()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int item_ ; + /** + * <code>optional int32 item = 1;</code> + */ + public boolean hasItem() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional int32 item = 1;</code> + */ + public int getItem() { + return item_; + } + /** + * <code>optional int32 item = 1;</code> + */ + public Builder setItem(int value) { + bitField0_ |= 0x00000001; + item_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 item = 1;</code> + */ + public Builder clearItem() { + bitField0_ = (bitField0_ & ~0x00000001); + item_ = 0; + onChanged(); + return this; + } + + private int slot_ ; + /** + * <code>optional int32 slot = 2;</code> + */ + public boolean hasSlot() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional int32 slot = 2;</code> + */ + public int getSlot() { + return slot_; + } + /** + * <code>optional int32 slot = 2;</code> + */ + public Builder setSlot(int value) { + bitField0_ |= 0x00000002; + slot_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 slot = 2;</code> + */ + public Builder clearSlot() { + bitField0_ = (bitField0_ & ~0x00000002); + slot_ = 0; + onChanged(); + return this; + } + + private int unit_ ; + /** + * <code>optional int32 unit = 3;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional int32 unit = 3;</code> + */ + public int getUnit() { + return unit_; + } + /** + * <code>optional int32 unit = 3;</code> + */ + public Builder setUnit(int value) { + bitField0_ |= 0x00000004; + unit_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 unit = 3;</code> + */ + public Builder clearUnit() { + bitField0_ = (bitField0_ & ~0x00000004); + unit_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.SellItem) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.SellItem) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<SellItem> + PARSER = new com.google.protobuf.AbstractParser<SellItem>() { + @java.lang.Override + public SellItem parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SellItem(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<SellItem> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<SellItem> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SwapItemsOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.SwapItems) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required int32 slot_a = 1;</code> + */ + boolean hasSlotA(); + /** + * <code>required int32 slot_a = 1;</code> + */ + int getSlotA(); + + /** + * <code>required int32 slot_b = 2;</code> + */ + boolean hasSlotB(); + /** + * <code>required int32 slot_b = 2;</code> + */ + int getSlotB(); + + /** + * <code>optional int32 unit = 3;</code> + */ + boolean hasUnit(); + /** + * <code>optional int32 unit = 3;</code> + */ + int getUnit(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.SwapItems} + */ + public static final class SwapItems extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.SwapItems) + SwapItemsOrBuilder { + private static final long serialVersionUID = 0L; + // Use SwapItems.newBuilder() to construct. + private SwapItems(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private SwapItems() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SwapItems( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + slotA_ = input.readInt32(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + slotB_ = input.readInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + unit_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SwapItems_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SwapItems_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.Builder.class); + } + + private int bitField0_; + public static final int SLOT_A_FIELD_NUMBER = 1; + private int slotA_; + /** + * <code>required int32 slot_a = 1;</code> + */ + public boolean hasSlotA() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 slot_a = 1;</code> + */ + public int getSlotA() { + return slotA_; + } + + public static final int SLOT_B_FIELD_NUMBER = 2; + private int slotB_; + /** + * <code>required int32 slot_b = 2;</code> + */ + public boolean hasSlotB() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required int32 slot_b = 2;</code> + */ + public int getSlotB() { + return slotB_; + } + + public static final int UNIT_FIELD_NUMBER = 3; + private int unit_; + /** + * <code>optional int32 unit = 3;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional int32 unit = 3;</code> + */ + public int getUnit() { + return unit_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasSlotA()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasSlotB()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(1, slotA_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeInt32(2, slotB_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeInt32(3, unit_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, slotA_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, slotB_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, unit_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems) obj; + + if (hasSlotA() != other.hasSlotA()) return false; + if (hasSlotA()) { + if (getSlotA() + != other.getSlotA()) return false; + } + if (hasSlotB() != other.hasSlotB()) return false; + if (hasSlotB()) { + if (getSlotB() + != other.getSlotB()) return false; + } + if (hasUnit() != other.hasUnit()) return false; + if (hasUnit()) { + if (getUnit() + != other.getUnit()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasSlotA()) { + hash = (37 * hash) + SLOT_A_FIELD_NUMBER; + hash = (53 * hash) + getSlotA(); + } + if (hasSlotB()) { + hash = (37 * hash) + SLOT_B_FIELD_NUMBER; + hash = (53 * hash) + getSlotB(); + } + if (hasUnit()) { + hash = (37 * hash) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.SwapItems} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.SwapItems) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItemsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SwapItems_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SwapItems_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + slotA_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + slotB_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + unit_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SwapItems_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.slotA_ = slotA_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.slotB_ = slotB_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.unit_ = unit_; + to_bitField0_ |= 0x00000004; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.getDefaultInstance()) return this; + if (other.hasSlotA()) { + setSlotA(other.getSlotA()); + } + if (other.hasSlotB()) { + setSlotB(other.getSlotB()); + } + if (other.hasUnit()) { + setUnit(other.getUnit()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasSlotA()) { + return false; + } + if (!hasSlotB()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int slotA_ ; + /** + * <code>required int32 slot_a = 1;</code> + */ + public boolean hasSlotA() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 slot_a = 1;</code> + */ + public int getSlotA() { + return slotA_; + } + /** + * <code>required int32 slot_a = 1;</code> + */ + public Builder setSlotA(int value) { + bitField0_ |= 0x00000001; + slotA_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 slot_a = 1;</code> + */ + public Builder clearSlotA() { + bitField0_ = (bitField0_ & ~0x00000001); + slotA_ = 0; + onChanged(); + return this; + } + + private int slotB_ ; + /** + * <code>required int32 slot_b = 2;</code> + */ + public boolean hasSlotB() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required int32 slot_b = 2;</code> + */ + public int getSlotB() { + return slotB_; + } + /** + * <code>required int32 slot_b = 2;</code> + */ + public Builder setSlotB(int value) { + bitField0_ |= 0x00000002; + slotB_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 slot_b = 2;</code> + */ + public Builder clearSlotB() { + bitField0_ = (bitField0_ & ~0x00000002); + slotB_ = 0; + onChanged(); + return this; + } + + private int unit_ ; + /** + * <code>optional int32 unit = 3;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional int32 unit = 3;</code> + */ + public int getUnit() { + return unit_; + } + /** + * <code>optional int32 unit = 3;</code> + */ + public Builder setUnit(int value) { + bitField0_ |= 0x00000004; + unit_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 unit = 3;</code> + */ + public Builder clearUnit() { + bitField0_ = (bitField0_ & ~0x00000004); + unit_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.SwapItems) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.SwapItems) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<SwapItems> + PARSER = new com.google.protobuf.AbstractParser<SwapItems>() { + @java.lang.Override + public SwapItems parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SwapItems(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<SwapItems> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<SwapItems> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface DisassembleItemOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.DisassembleItem) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required int32 slot = 1;</code> + */ + boolean hasSlot(); + /** + * <code>required int32 slot = 1;</code> + */ + int getSlot(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.DisassembleItem} + */ + public static final class DisassembleItem extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.DisassembleItem) + DisassembleItemOrBuilder { + private static final long serialVersionUID = 0L; + // Use DisassembleItem.newBuilder() to construct. + private DisassembleItem(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private DisassembleItem() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private DisassembleItem( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + slot_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_DisassembleItem_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_DisassembleItem_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.Builder.class); + } + + private int bitField0_; + public static final int SLOT_FIELD_NUMBER = 1; + private int slot_; + /** + * <code>required int32 slot = 1;</code> + */ + public boolean hasSlot() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 slot = 1;</code> + */ + public int getSlot() { + return slot_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasSlot()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(1, slot_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, slot_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem) obj; + + if (hasSlot() != other.hasSlot()) return false; + if (hasSlot()) { + if (getSlot() + != other.getSlot()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasSlot()) { + hash = (37 * hash) + SLOT_FIELD_NUMBER; + hash = (53 * hash) + getSlot(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.DisassembleItem} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.DisassembleItem) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItemOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_DisassembleItem_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_DisassembleItem_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + slot_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_DisassembleItem_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.slot_ = slot_; + to_bitField0_ |= 0x00000001; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.getDefaultInstance()) return this; + if (other.hasSlot()) { + setSlot(other.getSlot()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasSlot()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int slot_ ; + /** + * <code>required int32 slot = 1;</code> + */ + public boolean hasSlot() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 slot = 1;</code> + */ + public int getSlot() { + return slot_; + } + /** + * <code>required int32 slot = 1;</code> + */ + public Builder setSlot(int value) { + bitField0_ |= 0x00000001; + slot_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 slot = 1;</code> + */ + public Builder clearSlot() { + bitField0_ = (bitField0_ & ~0x00000001); + slot_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.DisassembleItem) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.DisassembleItem) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<DisassembleItem> + PARSER = new com.google.protobuf.AbstractParser<DisassembleItem>() { + @java.lang.Override + public DisassembleItem parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new DisassembleItem(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<DisassembleItem> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<DisassembleItem> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SetCombineLockItemOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.SetCombineLockItem) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required int32 slot = 1;</code> + */ + boolean hasSlot(); + /** + * <code>required int32 slot = 1;</code> + */ + int getSlot(); + + /** + * <code>required bool value = 2;</code> + */ + boolean hasValue(); + /** + * <code>required bool value = 2;</code> + */ + boolean getValue(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.SetCombineLockItem} + */ + public static final class SetCombineLockItem extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.SetCombineLockItem) + SetCombineLockItemOrBuilder { + private static final long serialVersionUID = 0L; + // Use SetCombineLockItem.newBuilder() to construct. + private SetCombineLockItem(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private SetCombineLockItem() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SetCombineLockItem( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + slot_ = input.readInt32(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + value_ = input.readBool(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SetCombineLockItem_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SetCombineLockItem_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.Builder.class); + } + + private int bitField0_; + public static final int SLOT_FIELD_NUMBER = 1; + private int slot_; + /** + * <code>required int32 slot = 1;</code> + */ + public boolean hasSlot() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 slot = 1;</code> + */ + public int getSlot() { + return slot_; + } + + public static final int VALUE_FIELD_NUMBER = 2; + private boolean value_; + /** + * <code>required bool value = 2;</code> + */ + public boolean hasValue() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required bool value = 2;</code> + */ + public boolean getValue() { + return value_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasSlot()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasValue()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(1, slot_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeBool(2, value_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, slot_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(2, value_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem) obj; + + if (hasSlot() != other.hasSlot()) return false; + if (hasSlot()) { + if (getSlot() + != other.getSlot()) return false; + } + if (hasValue() != other.hasValue()) return false; + if (hasValue()) { + if (getValue() + != other.getValue()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasSlot()) { + hash = (37 * hash) + SLOT_FIELD_NUMBER; + hash = (53 * hash) + getSlot(); + } + if (hasValue()) { + hash = (37 * hash) + VALUE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getValue()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.SetCombineLockItem} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.SetCombineLockItem) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItemOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SetCombineLockItem_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SetCombineLockItem_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + slot_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + value_ = false; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SetCombineLockItem_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.slot_ = slot_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.value_ = value_; + to_bitField0_ |= 0x00000002; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.getDefaultInstance()) return this; + if (other.hasSlot()) { + setSlot(other.getSlot()); + } + if (other.hasValue()) { + setValue(other.getValue()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasSlot()) { + return false; + } + if (!hasValue()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int slot_ ; + /** + * <code>required int32 slot = 1;</code> + */ + public boolean hasSlot() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 slot = 1;</code> + */ + public int getSlot() { + return slot_; + } + /** + * <code>required int32 slot = 1;</code> + */ + public Builder setSlot(int value) { + bitField0_ |= 0x00000001; + slot_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 slot = 1;</code> + */ + public Builder clearSlot() { + bitField0_ = (bitField0_ & ~0x00000001); + slot_ = 0; + onChanged(); + return this; + } + + private boolean value_ ; + /** + * <code>required bool value = 2;</code> + */ + public boolean hasValue() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required bool value = 2;</code> + */ + public boolean getValue() { + return value_; + } + /** + * <code>required bool value = 2;</code> + */ + public Builder setValue(boolean value) { + bitField0_ |= 0x00000002; + value_ = value; + onChanged(); + return this; + } + /** + * <code>required bool value = 2;</code> + */ + public Builder clearValue() { + bitField0_ = (bitField0_ & ~0x00000002); + value_ = false; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.SetCombineLockItem) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.SetCombineLockItem) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<SetCombineLockItem> + PARSER = new com.google.protobuf.AbstractParser<SetCombineLockItem>() { + @java.lang.Override + public SetCombineLockItem parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SetCombineLockItem(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<SetCombineLockItem> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<SetCombineLockItem> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface PickupRuneOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.PickupRune) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>repeated int32 units = 1;</code> + */ + java.util.List<java.lang.Integer> getUnitsList(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnitsCount(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnits(int index); + + /** + * <code>required int32 rune = 2;</code> + */ + boolean hasRune(); + /** + * <code>required int32 rune = 2;</code> + */ + int getRune(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.PickupRune} + */ + public static final class PickupRune extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.PickupRune) + PickupRuneOrBuilder { + private static final long serialVersionUID = 0L; + // Use PickupRune.newBuilder() to construct. + private PickupRune(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private PickupRune() { + units_ = emptyIntList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private PickupRune( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + units_.addInt(input.readInt32()); + break; + } + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + while (input.getBytesUntilLimit() > 0) { + units_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + case 16: { + bitField0_ |= 0x00000001; + rune_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); // C + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_PickupRune_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_PickupRune_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.Builder.class); + } + + private int bitField0_; + public static final int UNITS_FIELD_NUMBER = 1; + private com.google.protobuf.Internal.IntList units_; + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + + public static final int RUNE_FIELD_NUMBER = 2; + private int rune_; + /** + * <code>required int32 rune = 2;</code> + */ + public boolean hasRune() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 rune = 2;</code> + */ + public int getRune() { + return rune_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasRune()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < units_.size(); i++) { + output.writeInt32(1, units_.getInt(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(2, rune_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < units_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(units_.getInt(i)); + } + size += dataSize; + size += 1 * getUnitsList().size(); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, rune_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune) obj; + + if (!getUnitsList() + .equals(other.getUnitsList())) return false; + if (hasRune() != other.hasRune()) return false; + if (hasRune()) { + if (getRune() + != other.getRune()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getUnitsCount() > 0) { + hash = (37 * hash) + UNITS_FIELD_NUMBER; + hash = (53 * hash) + getUnitsList().hashCode(); + } + if (hasRune()) { + hash = (37 * hash) + RUNE_FIELD_NUMBER; + hash = (53 * hash) + getRune(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.PickupRune} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.PickupRune) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRuneOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_PickupRune_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_PickupRune_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + rune_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_PickupRune_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.units_ = units_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.rune_ = rune_; + to_bitField0_ |= 0x00000001; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.getDefaultInstance()) return this; + if (!other.units_.isEmpty()) { + if (units_.isEmpty()) { + units_ = other.units_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureUnitsIsMutable(); + units_.addAll(other.units_); + } + onChanged(); + } + if (other.hasRune()) { + setRune(other.getRune()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasRune()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList units_ = emptyIntList(); + private void ensureUnitsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + units_ = mutableCopy(units_); + bitField0_ |= 0x00000001; + } + } + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return ((bitField0_ & 0x00000001) != 0) ? + java.util.Collections.unmodifiableList(units_) : units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder setUnits( + int index, int value) { + ensureUnitsIsMutable(); + units_.setInt(index, value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addUnits(int value) { + ensureUnitsIsMutable(); + units_.addInt(value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addAllUnits( + java.lang.Iterable<? extends java.lang.Integer> values) { + ensureUnitsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, units_); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder clearUnits() { + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + private int rune_ ; + /** + * <code>required int32 rune = 2;</code> + */ + public boolean hasRune() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required int32 rune = 2;</code> + */ + public int getRune() { + return rune_; + } + /** + * <code>required int32 rune = 2;</code> + */ + public Builder setRune(int value) { + bitField0_ |= 0x00000002; + rune_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 rune = 2;</code> + */ + public Builder clearRune() { + bitField0_ = (bitField0_ & ~0x00000002); + rune_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.PickupRune) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.PickupRune) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<PickupRune> + PARSER = new com.google.protobuf.AbstractParser<PickupRune>() { + @java.lang.Override + public PickupRune parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new PickupRune(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<PickupRune> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<PickupRune> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ChatOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.Chat) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required string message = 1;</code> + */ + boolean hasMessage(); + /** + * <code>required string message = 1;</code> + */ + java.lang.String getMessage(); + /** + * <code>required string message = 1;</code> + */ + com.google.protobuf.ByteString + getMessageBytes(); + + /** + * <code>required bool to_allchat = 2;</code> + */ + boolean hasToAllchat(); + /** + * <code>required bool to_allchat = 2;</code> + */ + boolean getToAllchat(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.Chat} + */ + public static final class Chat extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.Chat) + ChatOrBuilder { + private static final long serialVersionUID = 0L; + // Use Chat.newBuilder() to construct. + private Chat(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Chat() { + message_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Chat( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000001; + message_ = bs; + break; + } + case 16: { + bitField0_ |= 0x00000002; + toAllchat_ = input.readBool(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Chat_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Chat_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.Builder.class); + } + + private int bitField0_; + public static final int MESSAGE_FIELD_NUMBER = 1; + private volatile java.lang.Object message_; + /** + * <code>required string message = 1;</code> + */ + public boolean hasMessage() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required string message = 1;</code> + */ + public java.lang.String getMessage() { + java.lang.Object ref = message_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + message_ = s; + } + return s; + } + } + /** + * <code>required string message = 1;</code> + */ + public com.google.protobuf.ByteString + getMessageBytes() { + java.lang.Object ref = message_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + message_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TO_ALLCHAT_FIELD_NUMBER = 2; + private boolean toAllchat_; + /** + * <code>required bool to_allchat = 2;</code> + */ + public boolean hasToAllchat() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required bool to_allchat = 2;</code> + */ + public boolean getToAllchat() { + return toAllchat_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasMessage()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasToAllchat()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, message_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeBool(2, toAllchat_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, message_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(2, toAllchat_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat) obj; + + if (hasMessage() != other.hasMessage()) return false; + if (hasMessage()) { + if (!getMessage() + .equals(other.getMessage())) return false; + } + if (hasToAllchat() != other.hasToAllchat()) return false; + if (hasToAllchat()) { + if (getToAllchat() + != other.getToAllchat()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasMessage()) { + hash = (37 * hash) + MESSAGE_FIELD_NUMBER; + hash = (53 * hash) + getMessage().hashCode(); + } + if (hasToAllchat()) { + hash = (37 * hash) + TO_ALLCHAT_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getToAllchat()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.Chat} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.Chat) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ChatOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Chat_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Chat_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + message_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + toAllchat_ = false; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Chat_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + to_bitField0_ |= 0x00000001; + } + result.message_ = message_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.toAllchat_ = toAllchat_; + to_bitField0_ |= 0x00000002; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.getDefaultInstance()) return this; + if (other.hasMessage()) { + bitField0_ |= 0x00000001; + message_ = other.message_; + onChanged(); + } + if (other.hasToAllchat()) { + setToAllchat(other.getToAllchat()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasMessage()) { + return false; + } + if (!hasToAllchat()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.lang.Object message_ = ""; + /** + * <code>required string message = 1;</code> + */ + public boolean hasMessage() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required string message = 1;</code> + */ + public java.lang.String getMessage() { + java.lang.Object ref = message_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + message_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>required string message = 1;</code> + */ + public com.google.protobuf.ByteString + getMessageBytes() { + java.lang.Object ref = message_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + message_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>required string message = 1;</code> + */ + public Builder setMessage( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + message_ = value; + onChanged(); + return this; + } + /** + * <code>required string message = 1;</code> + */ + public Builder clearMessage() { + bitField0_ = (bitField0_ & ~0x00000001); + message_ = getDefaultInstance().getMessage(); + onChanged(); + return this; + } + /** + * <code>required string message = 1;</code> + */ + public Builder setMessageBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + message_ = value; + onChanged(); + return this; + } + + private boolean toAllchat_ ; + /** + * <code>required bool to_allchat = 2;</code> + */ + public boolean hasToAllchat() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required bool to_allchat = 2;</code> + */ + public boolean getToAllchat() { + return toAllchat_; + } + /** + * <code>required bool to_allchat = 2;</code> + */ + public Builder setToAllchat(boolean value) { + bitField0_ |= 0x00000002; + toAllchat_ = value; + onChanged(); + return this; + } + /** + * <code>required bool to_allchat = 2;</code> + */ + public Builder clearToAllchat() { + bitField0_ = (bitField0_ & ~0x00000002); + toAllchat_ = false; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.Chat) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.Chat) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<Chat> + PARSER = new com.google.protobuf.AbstractParser<Chat>() { + @java.lang.Override + public Chat parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Chat(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Chat> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Chat> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface UseShrineOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.UseShrine) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>repeated int32 units = 1;</code> + */ + java.util.List<java.lang.Integer> getUnitsList(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnitsCount(); + /** + * <code>repeated int32 units = 1;</code> + */ + int getUnits(int index); + + /** + * <code>required int32 shrine = 2;</code> + */ + boolean hasShrine(); + /** + * <code>required int32 shrine = 2;</code> + */ + int getShrine(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.UseShrine} + */ + public static final class UseShrine extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.UseShrine) + UseShrineOrBuilder { + private static final long serialVersionUID = 0L; + // Use UseShrine.newBuilder() to construct. + private UseShrine(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private UseShrine() { + units_ = emptyIntList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private UseShrine( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + units_.addInt(input.readInt32()); + break; + } + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { + units_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + while (input.getBytesUntilLimit() > 0) { + units_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + case 16: { + bitField0_ |= 0x00000001; + shrine_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); // C + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_UseShrine_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_UseShrine_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.Builder.class); + } + + private int bitField0_; + public static final int UNITS_FIELD_NUMBER = 1; + private com.google.protobuf.Internal.IntList units_; + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + + public static final int SHRINE_FIELD_NUMBER = 2; + private int shrine_; + /** + * <code>required int32 shrine = 2;</code> + */ + public boolean hasShrine() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 shrine = 2;</code> + */ + public int getShrine() { + return shrine_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasShrine()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < units_.size(); i++) { + output.writeInt32(1, units_.getInt(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(2, shrine_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < units_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(units_.getInt(i)); + } + size += dataSize; + size += 1 * getUnitsList().size(); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, shrine_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine) obj; + + if (!getUnitsList() + .equals(other.getUnitsList())) return false; + if (hasShrine() != other.hasShrine()) return false; + if (hasShrine()) { + if (getShrine() + != other.getShrine()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getUnitsCount() > 0) { + hash = (37 * hash) + UNITS_FIELD_NUMBER; + hash = (53 * hash) + getUnitsList().hashCode(); + } + if (hasShrine()) { + hash = (37 * hash) + SHRINE_FIELD_NUMBER; + hash = (53 * hash) + getShrine(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.UseShrine} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.UseShrine) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrineOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_UseShrine_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_UseShrine_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + shrine_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_UseShrine_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((bitField0_ & 0x00000001) != 0)) { + units_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.units_ = units_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.shrine_ = shrine_; + to_bitField0_ |= 0x00000001; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.getDefaultInstance()) return this; + if (!other.units_.isEmpty()) { + if (units_.isEmpty()) { + units_ = other.units_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureUnitsIsMutable(); + units_.addAll(other.units_); + } + onChanged(); + } + if (other.hasShrine()) { + setShrine(other.getShrine()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasShrine()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList units_ = emptyIntList(); + private void ensureUnitsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + units_ = mutableCopy(units_); + bitField0_ |= 0x00000001; + } + } + /** + * <code>repeated int32 units = 1;</code> + */ + public java.util.List<java.lang.Integer> + getUnitsList() { + return ((bitField0_ & 0x00000001) != 0) ? + java.util.Collections.unmodifiableList(units_) : units_; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public int getUnits(int index) { + return units_.getInt(index); + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder setUnits( + int index, int value) { + ensureUnitsIsMutable(); + units_.setInt(index, value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addUnits(int value) { + ensureUnitsIsMutable(); + units_.addInt(value); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder addAllUnits( + java.lang.Iterable<? extends java.lang.Integer> values) { + ensureUnitsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, units_); + onChanged(); + return this; + } + /** + * <code>repeated int32 units = 1;</code> + */ + public Builder clearUnits() { + units_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + private int shrine_ ; + /** + * <code>required int32 shrine = 2;</code> + */ + public boolean hasShrine() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required int32 shrine = 2;</code> + */ + public int getShrine() { + return shrine_; + } + /** + * <code>required int32 shrine = 2;</code> + */ + public Builder setShrine(int value) { + bitField0_ |= 0x00000002; + shrine_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 shrine = 2;</code> + */ + public Builder clearShrine() { + bitField0_ = (bitField0_ & ~0x00000002); + shrine_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.UseShrine) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.UseShrine) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<UseShrine> + PARSER = new com.google.protobuf.AbstractParser<UseShrine>() { + @java.lang.Override + public UseShrine parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new UseShrine(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<UseShrine> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<UseShrine> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface CourierOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.Courier) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required int32 unit = 1;</code> + */ + boolean hasUnit(); + /** + * <code>required int32 unit = 1;</code> + */ + int getUnit(); + + /** + * <code>required int32 courier = 2;</code> + */ + boolean hasCourier(); + /** + * <code>required int32 courier = 2;</code> + */ + int getCourier(); + + /** + * <code>required int32 action = 3;</code> + */ + boolean hasAction(); + /** + * <code>required int32 action = 3;</code> + */ + int getAction(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.Courier} + */ + public static final class Courier extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.Courier) + CourierOrBuilder { + private static final long serialVersionUID = 0L; + // Use Courier.newBuilder() to construct. + private Courier(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Courier() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Courier( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + unit_ = input.readInt32(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + courier_ = input.readInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + action_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Courier_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Courier_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.Builder.class); + } + + private int bitField0_; + public static final int UNIT_FIELD_NUMBER = 1; + private int unit_; + /** + * <code>required int32 unit = 1;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 unit = 1;</code> + */ + public int getUnit() { + return unit_; + } + + public static final int COURIER_FIELD_NUMBER = 2; + private int courier_; + /** + * <code>required int32 courier = 2;</code> + */ + public boolean hasCourier() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required int32 courier = 2;</code> + */ + public int getCourier() { + return courier_; + } + + public static final int ACTION_FIELD_NUMBER = 3; + private int action_; + /** + * <code>required int32 action = 3;</code> + */ + public boolean hasAction() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required int32 action = 3;</code> + */ + public int getAction() { + return action_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasUnit()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasCourier()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasAction()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(1, unit_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeInt32(2, courier_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeInt32(3, action_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, unit_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, courier_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, action_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier) obj; + + if (hasUnit() != other.hasUnit()) return false; + if (hasUnit()) { + if (getUnit() + != other.getUnit()) return false; + } + if (hasCourier() != other.hasCourier()) return false; + if (hasCourier()) { + if (getCourier() + != other.getCourier()) return false; + } + if (hasAction() != other.hasAction()) return false; + if (hasAction()) { + if (getAction() + != other.getAction()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasUnit()) { + hash = (37 * hash) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit(); + } + if (hasCourier()) { + hash = (37 * hash) + COURIER_FIELD_NUMBER; + hash = (53 * hash) + getCourier(); + } + if (hasAction()) { + hash = (37 * hash) + ACTION_FIELD_NUMBER; + hash = (53 * hash) + getAction(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.Courier} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.Courier) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CourierOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Courier_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Courier_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + unit_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + courier_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + action_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Courier_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.unit_ = unit_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.courier_ = courier_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.action_ = action_; + to_bitField0_ |= 0x00000004; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.getDefaultInstance()) return this; + if (other.hasUnit()) { + setUnit(other.getUnit()); + } + if (other.hasCourier()) { + setCourier(other.getCourier()); + } + if (other.hasAction()) { + setAction(other.getAction()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasUnit()) { + return false; + } + if (!hasCourier()) { + return false; + } + if (!hasAction()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int unit_ ; + /** + * <code>required int32 unit = 1;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 unit = 1;</code> + */ + public int getUnit() { + return unit_; + } + /** + * <code>required int32 unit = 1;</code> + */ + public Builder setUnit(int value) { + bitField0_ |= 0x00000001; + unit_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 unit = 1;</code> + */ + public Builder clearUnit() { + bitField0_ = (bitField0_ & ~0x00000001); + unit_ = 0; + onChanged(); + return this; + } + + private int courier_ ; + /** + * <code>required int32 courier = 2;</code> + */ + public boolean hasCourier() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required int32 courier = 2;</code> + */ + public int getCourier() { + return courier_; + } + /** + * <code>required int32 courier = 2;</code> + */ + public Builder setCourier(int value) { + bitField0_ |= 0x00000002; + courier_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 courier = 2;</code> + */ + public Builder clearCourier() { + bitField0_ = (bitField0_ & ~0x00000002); + courier_ = 0; + onChanged(); + return this; + } + + private int action_ ; + /** + * <code>required int32 action = 3;</code> + */ + public boolean hasAction() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required int32 action = 3;</code> + */ + public int getAction() { + return action_; + } + /** + * <code>required int32 action = 3;</code> + */ + public Builder setAction(int value) { + bitField0_ |= 0x00000004; + action_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 action = 3;</code> + */ + public Builder clearAction() { + bitField0_ = (bitField0_ & ~0x00000004); + action_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.Courier) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.Courier) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<Courier> + PARSER = new com.google.protobuf.AbstractParser<Courier>() { + @java.lang.Override + public Courier parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Courier(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Courier> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Courier> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface GetActualIncomingDamageOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.GetActualIncomingDamage) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required int32 unit = 1;</code> + */ + boolean hasUnit(); + /** + * <code>required int32 unit = 1;</code> + */ + int getUnit(); + + /** + * <code>required float nDamage = 2;</code> + */ + boolean hasNDamage(); + /** + * <code>required float nDamage = 2;</code> + */ + float getNDamage(); + + /** + * <code>required int32 nDamageType = 3;</code> + */ + boolean hasNDamageType(); + /** + * <code>required int32 nDamageType = 3;</code> + */ + int getNDamageType(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.GetActualIncomingDamage} + */ + public static final class GetActualIncomingDamage extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.GetActualIncomingDamage) + GetActualIncomingDamageOrBuilder { + private static final long serialVersionUID = 0L; + // Use GetActualIncomingDamage.newBuilder() to construct. + private GetActualIncomingDamage(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private GetActualIncomingDamage() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private GetActualIncomingDamage( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + unit_ = input.readInt32(); + break; + } + case 21: { + bitField0_ |= 0x00000002; + nDamage_ = input.readFloat(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + nDamageType_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_GetActualIncomingDamage_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_GetActualIncomingDamage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.Builder.class); + } + + private int bitField0_; + public static final int UNIT_FIELD_NUMBER = 1; + private int unit_; + /** + * <code>required int32 unit = 1;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 unit = 1;</code> + */ + public int getUnit() { + return unit_; + } + + public static final int NDAMAGE_FIELD_NUMBER = 2; + private float nDamage_; + /** + * <code>required float nDamage = 2;</code> + */ + public boolean hasNDamage() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required float nDamage = 2;</code> + */ + public float getNDamage() { + return nDamage_; + } + + public static final int NDAMAGETYPE_FIELD_NUMBER = 3; + private int nDamageType_; + /** + * <code>required int32 nDamageType = 3;</code> + */ + public boolean hasNDamageType() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required int32 nDamageType = 3;</code> + */ + public int getNDamageType() { + return nDamageType_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasUnit()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasNDamage()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasNDamageType()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(1, unit_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeFloat(2, nDamage_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeInt32(3, nDamageType_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, unit_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(2, nDamage_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, nDamageType_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage) obj; + + if (hasUnit() != other.hasUnit()) return false; + if (hasUnit()) { + if (getUnit() + != other.getUnit()) return false; + } + if (hasNDamage() != other.hasNDamage()) return false; + if (hasNDamage()) { + if (java.lang.Float.floatToIntBits(getNDamage()) + != java.lang.Float.floatToIntBits( + other.getNDamage())) return false; + } + if (hasNDamageType() != other.hasNDamageType()) return false; + if (hasNDamageType()) { + if (getNDamageType() + != other.getNDamageType()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasUnit()) { + hash = (37 * hash) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit(); + } + if (hasNDamage()) { + hash = (37 * hash) + NDAMAGE_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getNDamage()); + } + if (hasNDamageType()) { + hash = (37 * hash) + NDAMAGETYPE_FIELD_NUMBER; + hash = (53 * hash) + getNDamageType(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.GetActualIncomingDamage} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.GetActualIncomingDamage) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamageOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_GetActualIncomingDamage_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_GetActualIncomingDamage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + unit_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + nDamage_ = 0F; + bitField0_ = (bitField0_ & ~0x00000002); + nDamageType_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_GetActualIncomingDamage_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.unit_ = unit_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nDamage_ = nDamage_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.nDamageType_ = nDamageType_; + to_bitField0_ |= 0x00000004; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.getDefaultInstance()) return this; + if (other.hasUnit()) { + setUnit(other.getUnit()); + } + if (other.hasNDamage()) { + setNDamage(other.getNDamage()); + } + if (other.hasNDamageType()) { + setNDamageType(other.getNDamageType()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasUnit()) { + return false; + } + if (!hasNDamage()) { + return false; + } + if (!hasNDamageType()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int unit_ ; + /** + * <code>required int32 unit = 1;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 unit = 1;</code> + */ + public int getUnit() { + return unit_; + } + /** + * <code>required int32 unit = 1;</code> + */ + public Builder setUnit(int value) { + bitField0_ |= 0x00000001; + unit_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 unit = 1;</code> + */ + public Builder clearUnit() { + bitField0_ = (bitField0_ & ~0x00000001); + unit_ = 0; + onChanged(); + return this; + } + + private float nDamage_ ; + /** + * <code>required float nDamage = 2;</code> + */ + public boolean hasNDamage() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required float nDamage = 2;</code> + */ + public float getNDamage() { + return nDamage_; + } + /** + * <code>required float nDamage = 2;</code> + */ + public Builder setNDamage(float value) { + bitField0_ |= 0x00000002; + nDamage_ = value; + onChanged(); + return this; + } + /** + * <code>required float nDamage = 2;</code> + */ + public Builder clearNDamage() { + bitField0_ = (bitField0_ & ~0x00000002); + nDamage_ = 0F; + onChanged(); + return this; + } + + private int nDamageType_ ; + /** + * <code>required int32 nDamageType = 3;</code> + */ + public boolean hasNDamageType() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required int32 nDamageType = 3;</code> + */ + public int getNDamageType() { + return nDamageType_; + } + /** + * <code>required int32 nDamageType = 3;</code> + */ + public Builder setNDamageType(int value) { + bitField0_ |= 0x00000004; + nDamageType_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 nDamageType = 3;</code> + */ + public Builder clearNDamageType() { + bitField0_ = (bitField0_ & ~0x00000004); + nDamageType_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.GetActualIncomingDamage) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.GetActualIncomingDamage) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<GetActualIncomingDamage> + PARSER = new com.google.protobuf.AbstractParser<GetActualIncomingDamage>() { + @java.lang.Override + public GetActualIncomingDamage parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new GetActualIncomingDamage(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<GetActualIncomingDamage> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<GetActualIncomingDamage> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface GetEstimatedDamageToTargetOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.GetEstimatedDamageToTarget) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required int32 unit = 1;</code> + */ + boolean hasUnit(); + /** + * <code>required int32 unit = 1;</code> + */ + int getUnit(); + + /** + * <code>required bool bCurrentlyAvailable = 2;</code> + */ + boolean hasBCurrentlyAvailable(); + /** + * <code>required bool bCurrentlyAvailable = 2;</code> + */ + boolean getBCurrentlyAvailable(); + + /** + * <code>required int32 hTarget = 3;</code> + */ + boolean hasHTarget(); + /** + * <code>required int32 hTarget = 3;</code> + */ + int getHTarget(); + + /** + * <code>required float fDuration = 4;</code> + */ + boolean hasFDuration(); + /** + * <code>required float fDuration = 4;</code> + */ + float getFDuration(); + + /** + * <code>required int32 nDamageTypes = 5;</code> + */ + boolean hasNDamageTypes(); + /** + * <code>required int32 nDamageTypes = 5;</code> + */ + int getNDamageTypes(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.GetEstimatedDamageToTarget} + */ + public static final class GetEstimatedDamageToTarget extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.GetEstimatedDamageToTarget) + GetEstimatedDamageToTargetOrBuilder { + private static final long serialVersionUID = 0L; + // Use GetEstimatedDamageToTarget.newBuilder() to construct. + private GetEstimatedDamageToTarget(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private GetEstimatedDamageToTarget() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private GetEstimatedDamageToTarget( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + unit_ = input.readInt32(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + bCurrentlyAvailable_ = input.readBool(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + hTarget_ = input.readInt32(); + break; + } + case 37: { + bitField0_ |= 0x00000008; + fDuration_ = input.readFloat(); + break; + } + case 40: { + bitField0_ |= 0x00000010; + nDamageTypes_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_GetEstimatedDamageToTarget_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_GetEstimatedDamageToTarget_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.Builder.class); + } + + private int bitField0_; + public static final int UNIT_FIELD_NUMBER = 1; + private int unit_; + /** + * <code>required int32 unit = 1;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 unit = 1;</code> + */ + public int getUnit() { + return unit_; + } + + public static final int BCURRENTLYAVAILABLE_FIELD_NUMBER = 2; + private boolean bCurrentlyAvailable_; + /** + * <code>required bool bCurrentlyAvailable = 2;</code> + */ + public boolean hasBCurrentlyAvailable() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required bool bCurrentlyAvailable = 2;</code> + */ + public boolean getBCurrentlyAvailable() { + return bCurrentlyAvailable_; + } + + public static final int HTARGET_FIELD_NUMBER = 3; + private int hTarget_; + /** + * <code>required int32 hTarget = 3;</code> + */ + public boolean hasHTarget() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required int32 hTarget = 3;</code> + */ + public int getHTarget() { + return hTarget_; + } + + public static final int FDURATION_FIELD_NUMBER = 4; + private float fDuration_; + /** + * <code>required float fDuration = 4;</code> + */ + public boolean hasFDuration() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>required float fDuration = 4;</code> + */ + public float getFDuration() { + return fDuration_; + } + + public static final int NDAMAGETYPES_FIELD_NUMBER = 5; + private int nDamageTypes_; + /** + * <code>required int32 nDamageTypes = 5;</code> + */ + public boolean hasNDamageTypes() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>required int32 nDamageTypes = 5;</code> + */ + public int getNDamageTypes() { + return nDamageTypes_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasUnit()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasBCurrentlyAvailable()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasHTarget()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasFDuration()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasNDamageTypes()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(1, unit_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeBool(2, bCurrentlyAvailable_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeInt32(3, hTarget_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeFloat(4, fDuration_); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeInt32(5, nDamageTypes_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, unit_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(2, bCurrentlyAvailable_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, hTarget_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(4, fDuration_); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(5, nDamageTypes_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget) obj; + + if (hasUnit() != other.hasUnit()) return false; + if (hasUnit()) { + if (getUnit() + != other.getUnit()) return false; + } + if (hasBCurrentlyAvailable() != other.hasBCurrentlyAvailable()) return false; + if (hasBCurrentlyAvailable()) { + if (getBCurrentlyAvailable() + != other.getBCurrentlyAvailable()) return false; + } + if (hasHTarget() != other.hasHTarget()) return false; + if (hasHTarget()) { + if (getHTarget() + != other.getHTarget()) return false; + } + if (hasFDuration() != other.hasFDuration()) return false; + if (hasFDuration()) { + if (java.lang.Float.floatToIntBits(getFDuration()) + != java.lang.Float.floatToIntBits( + other.getFDuration())) return false; + } + if (hasNDamageTypes() != other.hasNDamageTypes()) return false; + if (hasNDamageTypes()) { + if (getNDamageTypes() + != other.getNDamageTypes()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasUnit()) { + hash = (37 * hash) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit(); + } + if (hasBCurrentlyAvailable()) { + hash = (37 * hash) + BCURRENTLYAVAILABLE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getBCurrentlyAvailable()); + } + if (hasHTarget()) { + hash = (37 * hash) + HTARGET_FIELD_NUMBER; + hash = (53 * hash) + getHTarget(); + } + if (hasFDuration()) { + hash = (37 * hash) + FDURATION_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getFDuration()); + } + if (hasNDamageTypes()) { + hash = (37 * hash) + NDAMAGETYPES_FIELD_NUMBER; + hash = (53 * hash) + getNDamageTypes(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.GetEstimatedDamageToTarget} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.GetEstimatedDamageToTarget) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTargetOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_GetEstimatedDamageToTarget_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_GetEstimatedDamageToTarget_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + unit_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + bCurrentlyAvailable_ = false; + bitField0_ = (bitField0_ & ~0x00000002); + hTarget_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + fDuration_ = 0F; + bitField0_ = (bitField0_ & ~0x00000008); + nDamageTypes_ = 0; + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_GetEstimatedDamageToTarget_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.unit_ = unit_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.bCurrentlyAvailable_ = bCurrentlyAvailable_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.hTarget_ = hTarget_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.fDuration_ = fDuration_; + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.nDamageTypes_ = nDamageTypes_; + to_bitField0_ |= 0x00000010; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.getDefaultInstance()) return this; + if (other.hasUnit()) { + setUnit(other.getUnit()); + } + if (other.hasBCurrentlyAvailable()) { + setBCurrentlyAvailable(other.getBCurrentlyAvailable()); + } + if (other.hasHTarget()) { + setHTarget(other.getHTarget()); + } + if (other.hasFDuration()) { + setFDuration(other.getFDuration()); + } + if (other.hasNDamageTypes()) { + setNDamageTypes(other.getNDamageTypes()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasUnit()) { + return false; + } + if (!hasBCurrentlyAvailable()) { + return false; + } + if (!hasHTarget()) { + return false; + } + if (!hasFDuration()) { + return false; + } + if (!hasNDamageTypes()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int unit_ ; + /** + * <code>required int32 unit = 1;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 unit = 1;</code> + */ + public int getUnit() { + return unit_; + } + /** + * <code>required int32 unit = 1;</code> + */ + public Builder setUnit(int value) { + bitField0_ |= 0x00000001; + unit_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 unit = 1;</code> + */ + public Builder clearUnit() { + bitField0_ = (bitField0_ & ~0x00000001); + unit_ = 0; + onChanged(); + return this; + } + + private boolean bCurrentlyAvailable_ ; + /** + * <code>required bool bCurrentlyAvailable = 2;</code> + */ + public boolean hasBCurrentlyAvailable() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required bool bCurrentlyAvailable = 2;</code> + */ + public boolean getBCurrentlyAvailable() { + return bCurrentlyAvailable_; + } + /** + * <code>required bool bCurrentlyAvailable = 2;</code> + */ + public Builder setBCurrentlyAvailable(boolean value) { + bitField0_ |= 0x00000002; + bCurrentlyAvailable_ = value; + onChanged(); + return this; + } + /** + * <code>required bool bCurrentlyAvailable = 2;</code> + */ + public Builder clearBCurrentlyAvailable() { + bitField0_ = (bitField0_ & ~0x00000002); + bCurrentlyAvailable_ = false; + onChanged(); + return this; + } + + private int hTarget_ ; + /** + * <code>required int32 hTarget = 3;</code> + */ + public boolean hasHTarget() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required int32 hTarget = 3;</code> + */ + public int getHTarget() { + return hTarget_; + } + /** + * <code>required int32 hTarget = 3;</code> + */ + public Builder setHTarget(int value) { + bitField0_ |= 0x00000004; + hTarget_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 hTarget = 3;</code> + */ + public Builder clearHTarget() { + bitField0_ = (bitField0_ & ~0x00000004); + hTarget_ = 0; + onChanged(); + return this; + } + + private float fDuration_ ; + /** + * <code>required float fDuration = 4;</code> + */ + public boolean hasFDuration() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>required float fDuration = 4;</code> + */ + public float getFDuration() { + return fDuration_; + } + /** + * <code>required float fDuration = 4;</code> + */ + public Builder setFDuration(float value) { + bitField0_ |= 0x00000008; + fDuration_ = value; + onChanged(); + return this; + } + /** + * <code>required float fDuration = 4;</code> + */ + public Builder clearFDuration() { + bitField0_ = (bitField0_ & ~0x00000008); + fDuration_ = 0F; + onChanged(); + return this; + } + + private int nDamageTypes_ ; + /** + * <code>required int32 nDamageTypes = 5;</code> + */ + public boolean hasNDamageTypes() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>required int32 nDamageTypes = 5;</code> + */ + public int getNDamageTypes() { + return nDamageTypes_; + } + /** + * <code>required int32 nDamageTypes = 5;</code> + */ + public Builder setNDamageTypes(int value) { + bitField0_ |= 0x00000010; + nDamageTypes_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 nDamageTypes = 5;</code> + */ + public Builder clearNDamageTypes() { + bitField0_ = (bitField0_ & ~0x00000010); + nDamageTypes_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.GetEstimatedDamageToTarget) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.GetEstimatedDamageToTarget) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<GetEstimatedDamageToTarget> + PARSER = new com.google.protobuf.AbstractParser<GetEstimatedDamageToTarget>() { + @java.lang.Override + public GetEstimatedDamageToTarget parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new GetEstimatedDamageToTarget(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<GetEstimatedDamageToTarget> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<GetEstimatedDamageToTarget> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface GlyphOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.Glyph) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required int32 unit = 1;</code> + */ + boolean hasUnit(); + /** + * <code>required int32 unit = 1;</code> + */ + int getUnit(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.Glyph} + */ + public static final class Glyph extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.Glyph) + GlyphOrBuilder { + private static final long serialVersionUID = 0L; + // Use Glyph.newBuilder() to construct. + private Glyph(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Glyph() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Glyph( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + unit_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Glyph_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Glyph_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.Builder.class); + } + + private int bitField0_; + public static final int UNIT_FIELD_NUMBER = 1; + private int unit_; + /** + * <code>required int32 unit = 1;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 unit = 1;</code> + */ + public int getUnit() { + return unit_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasUnit()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(1, unit_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, unit_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph) obj; + + if (hasUnit() != other.hasUnit()) return false; + if (hasUnit()) { + if (getUnit() + != other.getUnit()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasUnit()) { + hash = (37 * hash) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.Glyph} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.Glyph) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GlyphOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Glyph_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Glyph_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + unit_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Glyph_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.unit_ = unit_; + to_bitField0_ |= 0x00000001; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.getDefaultInstance()) return this; + if (other.hasUnit()) { + setUnit(other.getUnit()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasUnit()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int unit_ ; + /** + * <code>required int32 unit = 1;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 unit = 1;</code> + */ + public int getUnit() { + return unit_; + } + /** + * <code>required int32 unit = 1;</code> + */ + public Builder setUnit(int value) { + bitField0_ |= 0x00000001; + unit_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 unit = 1;</code> + */ + public Builder clearUnit() { + bitField0_ = (bitField0_ & ~0x00000001); + unit_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.Glyph) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.Glyph) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<Glyph> + PARSER = new com.google.protobuf.AbstractParser<Glyph>() { + @java.lang.Override + public Glyph parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Glyph(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Glyph> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Glyph> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface SoftResetOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.SoftReset) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>optional string minigameConfig = 1;</code> + */ + boolean hasMinigameConfig(); + /** + * <code>optional string minigameConfig = 1;</code> + */ + java.lang.String getMinigameConfig(); + /** + * <code>optional string minigameConfig = 1;</code> + */ + com.google.protobuf.ByteString + getMinigameConfigBytes(); + + /** + * <code>optional string snapshotData = 2;</code> + */ + boolean hasSnapshotData(); + /** + * <code>optional string snapshotData = 2;</code> + */ + java.lang.String getSnapshotData(); + /** + * <code>optional string snapshotData = 2;</code> + */ + com.google.protobuf.ByteString + getSnapshotDataBytes(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.SoftReset} + */ + public static final class SoftReset extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.SoftReset) + SoftResetOrBuilder { + private static final long serialVersionUID = 0L; + // Use SoftReset.newBuilder() to construct. + private SoftReset(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private SoftReset() { + minigameConfig_ = ""; + snapshotData_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SoftReset( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000001; + minigameConfig_ = bs; + break; + } + case 18: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000002; + snapshotData_ = bs; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SoftReset_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SoftReset_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.Builder.class); + } + + private int bitField0_; + public static final int MINIGAMECONFIG_FIELD_NUMBER = 1; + private volatile java.lang.Object minigameConfig_; + /** + * <code>optional string minigameConfig = 1;</code> + */ + public boolean hasMinigameConfig() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional string minigameConfig = 1;</code> + */ + public java.lang.String getMinigameConfig() { + java.lang.Object ref = minigameConfig_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + minigameConfig_ = s; + } + return s; + } + } + /** + * <code>optional string minigameConfig = 1;</code> + */ + public com.google.protobuf.ByteString + getMinigameConfigBytes() { + java.lang.Object ref = minigameConfig_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + minigameConfig_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SNAPSHOTDATA_FIELD_NUMBER = 2; + private volatile java.lang.Object snapshotData_; + /** + * <code>optional string snapshotData = 2;</code> + */ + public boolean hasSnapshotData() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional string snapshotData = 2;</code> + */ + public java.lang.String getSnapshotData() { + java.lang.Object ref = snapshotData_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + snapshotData_ = s; + } + return s; + } + } + /** + * <code>optional string snapshotData = 2;</code> + */ + public com.google.protobuf.ByteString + getSnapshotDataBytes() { + java.lang.Object ref = snapshotData_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + snapshotData_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, minigameConfig_); + } + if (((bitField0_ & 0x00000002) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, snapshotData_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, minigameConfig_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, snapshotData_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset) obj; + + if (hasMinigameConfig() != other.hasMinigameConfig()) return false; + if (hasMinigameConfig()) { + if (!getMinigameConfig() + .equals(other.getMinigameConfig())) return false; + } + if (hasSnapshotData() != other.hasSnapshotData()) return false; + if (hasSnapshotData()) { + if (!getSnapshotData() + .equals(other.getSnapshotData())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasMinigameConfig()) { + hash = (37 * hash) + MINIGAMECONFIG_FIELD_NUMBER; + hash = (53 * hash) + getMinigameConfig().hashCode(); + } + if (hasSnapshotData()) { + hash = (37 * hash) + SNAPSHOTDATA_FIELD_NUMBER; + hash = (53 * hash) + getSnapshotData().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.SoftReset} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.SoftReset) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftResetOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SoftReset_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SoftReset_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + minigameConfig_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + snapshotData_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_SoftReset_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + to_bitField0_ |= 0x00000001; + } + result.minigameConfig_ = minigameConfig_; + if (((from_bitField0_ & 0x00000002) != 0)) { + to_bitField0_ |= 0x00000002; + } + result.snapshotData_ = snapshotData_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.getDefaultInstance()) return this; + if (other.hasMinigameConfig()) { + bitField0_ |= 0x00000001; + minigameConfig_ = other.minigameConfig_; + onChanged(); + } + if (other.hasSnapshotData()) { + bitField0_ |= 0x00000002; + snapshotData_ = other.snapshotData_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.lang.Object minigameConfig_ = ""; + /** + * <code>optional string minigameConfig = 1;</code> + */ + public boolean hasMinigameConfig() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional string minigameConfig = 1;</code> + */ + public java.lang.String getMinigameConfig() { + java.lang.Object ref = minigameConfig_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + minigameConfig_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string minigameConfig = 1;</code> + */ + public com.google.protobuf.ByteString + getMinigameConfigBytes() { + java.lang.Object ref = minigameConfig_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + minigameConfig_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string minigameConfig = 1;</code> + */ + public Builder setMinigameConfig( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + minigameConfig_ = value; + onChanged(); + return this; + } + /** + * <code>optional string minigameConfig = 1;</code> + */ + public Builder clearMinigameConfig() { + bitField0_ = (bitField0_ & ~0x00000001); + minigameConfig_ = getDefaultInstance().getMinigameConfig(); + onChanged(); + return this; + } + /** + * <code>optional string minigameConfig = 1;</code> + */ + public Builder setMinigameConfigBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + minigameConfig_ = value; + onChanged(); + return this; + } + + private java.lang.Object snapshotData_ = ""; + /** + * <code>optional string snapshotData = 2;</code> + */ + public boolean hasSnapshotData() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional string snapshotData = 2;</code> + */ + public java.lang.String getSnapshotData() { + java.lang.Object ref = snapshotData_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + snapshotData_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>optional string snapshotData = 2;</code> + */ + public com.google.protobuf.ByteString + getSnapshotDataBytes() { + java.lang.Object ref = snapshotData_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + snapshotData_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>optional string snapshotData = 2;</code> + */ + public Builder setSnapshotData( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + snapshotData_ = value; + onChanged(); + return this; + } + /** + * <code>optional string snapshotData = 2;</code> + */ + public Builder clearSnapshotData() { + bitField0_ = (bitField0_ & ~0x00000002); + snapshotData_ = getDefaultInstance().getSnapshotData(); + onChanged(); + return this; + } + /** + * <code>optional string snapshotData = 2;</code> + */ + public Builder setSnapshotDataBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + snapshotData_ = value; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.SoftReset) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.SoftReset) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<SoftReset> + PARSER = new com.google.protobuf.AbstractParser<SoftReset>() { + @java.lang.Override + public SoftReset parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SoftReset(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<SoftReset> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<SoftReset> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface BuybackOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.Buyback) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required int32 unit = 1;</code> + */ + boolean hasUnit(); + /** + * <code>required int32 unit = 1;</code> + */ + int getUnit(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.Buyback} + */ + public static final class Buyback extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.Buyback) + BuybackOrBuilder { + private static final long serialVersionUID = 0L; + // Use Buyback.newBuilder() to construct. + private Buyback(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Buyback() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Buyback( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + bitField0_ |= 0x00000001; + unit_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Buyback_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Buyback_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.Builder.class); + } + + private int bitField0_; + public static final int UNIT_FIELD_NUMBER = 1; + private int unit_; + /** + * <code>required int32 unit = 1;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 unit = 1;</code> + */ + public int getUnit() { + return unit_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasUnit()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeInt32(1, unit_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, unit_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback) obj; + + if (hasUnit() != other.hasUnit()) return false; + if (hasUnit()) { + if (getUnit() + != other.getUnit()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasUnit()) { + hash = (37 * hash) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.Buyback} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.Buyback) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.BuybackOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Buyback_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Buyback_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + unit_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_Buyback_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.unit_ = unit_; + to_bitField0_ |= 0x00000001; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.getDefaultInstance()) return this; + if (other.hasUnit()) { + setUnit(other.getUnit()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasUnit()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int unit_ ; + /** + * <code>required int32 unit = 1;</code> + */ + public boolean hasUnit() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required int32 unit = 1;</code> + */ + public int getUnit() { + return unit_; + } + /** + * <code>required int32 unit = 1;</code> + */ + public Builder setUnit(int value) { + bitField0_ |= 0x00000001; + unit_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 unit = 1;</code> + */ + public Builder clearUnit() { + bitField0_ = (bitField0_ & ~0x00000001); + unit_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.Buyback) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.Buyback) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<Buyback> + PARSER = new com.google.protobuf.AbstractParser<Buyback>() { + @java.lang.Override + public Buyback parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Buyback(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Buyback> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Buyback> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ScriptingDebugDrawTextOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.ScriptingDebugDrawText) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + boolean hasOrigin(); + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getOrigin(); + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getOriginOrBuilder(); + + /** + * <code>required string text = 2;</code> + */ + boolean hasText(); + /** + * <code>required string text = 2;</code> + */ + java.lang.String getText(); + /** + * <code>required string text = 2;</code> + */ + com.google.protobuf.ByteString + getTextBytes(); + + /** + * <code>required bool bViewCheck = 3;</code> + */ + boolean hasBViewCheck(); + /** + * <code>required bool bViewCheck = 3;</code> + */ + boolean getBViewCheck(); + + /** + * <code>required float duration = 4;</code> + */ + boolean hasDuration(); + /** + * <code>required float duration = 4;</code> + */ + float getDuration(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.ScriptingDebugDrawText} + */ + public static final class ScriptingDebugDrawText extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.ScriptingDebugDrawText) + ScriptingDebugDrawTextOrBuilder { + private static final long serialVersionUID = 0L; + // Use ScriptingDebugDrawText.newBuilder() to construct. + private ScriptingDebugDrawText(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private ScriptingDebugDrawText() { + text_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ScriptingDebugDrawText( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000001) != 0)) { + subBuilder = origin_.toBuilder(); + } + origin_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(origin_); + origin_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000001; + break; + } + case 18: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000002; + text_ = bs; + break; + } + case 24: { + bitField0_ |= 0x00000004; + bViewCheck_ = input.readBool(); + break; + } + case 37: { + bitField0_ |= 0x00000008; + duration_ = input.readFloat(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawText_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawText_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.Builder.class); + } + + private int bitField0_; + public static final int ORIGIN_FIELD_NUMBER = 1; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector origin_; + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public boolean hasOrigin() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getOrigin() { + return origin_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : origin_; + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getOriginOrBuilder() { + return origin_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : origin_; + } + + public static final int TEXT_FIELD_NUMBER = 2; + private volatile java.lang.Object text_; + /** + * <code>required string text = 2;</code> + */ + public boolean hasText() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required string text = 2;</code> + */ + public java.lang.String getText() { + java.lang.Object ref = text_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + text_ = s; + } + return s; + } + } + /** + * <code>required string text = 2;</code> + */ + public com.google.protobuf.ByteString + getTextBytes() { + java.lang.Object ref = text_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + text_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int BVIEWCHECK_FIELD_NUMBER = 3; + private boolean bViewCheck_; + /** + * <code>required bool bViewCheck = 3;</code> + */ + public boolean hasBViewCheck() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required bool bViewCheck = 3;</code> + */ + public boolean getBViewCheck() { + return bViewCheck_; + } + + public static final int DURATION_FIELD_NUMBER = 4; + private float duration_; + /** + * <code>required float duration = 4;</code> + */ + public boolean hasDuration() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>required float duration = 4;</code> + */ + public float getDuration() { + return duration_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasOrigin()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasText()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasBViewCheck()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasDuration()) { + memoizedIsInitialized = 0; + return false; + } + if (!getOrigin().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getOrigin()); + } + if (((bitField0_ & 0x00000002) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, text_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeBool(3, bViewCheck_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeFloat(4, duration_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getOrigin()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, text_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(3, bViewCheck_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(4, duration_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText) obj; + + if (hasOrigin() != other.hasOrigin()) return false; + if (hasOrigin()) { + if (!getOrigin() + .equals(other.getOrigin())) return false; + } + if (hasText() != other.hasText()) return false; + if (hasText()) { + if (!getText() + .equals(other.getText())) return false; + } + if (hasBViewCheck() != other.hasBViewCheck()) return false; + if (hasBViewCheck()) { + if (getBViewCheck() + != other.getBViewCheck()) return false; + } + if (hasDuration() != other.hasDuration()) return false; + if (hasDuration()) { + if (java.lang.Float.floatToIntBits(getDuration()) + != java.lang.Float.floatToIntBits( + other.getDuration())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasOrigin()) { + hash = (37 * hash) + ORIGIN_FIELD_NUMBER; + hash = (53 * hash) + getOrigin().hashCode(); + } + if (hasText()) { + hash = (37 * hash) + TEXT_FIELD_NUMBER; + hash = (53 * hash) + getText().hashCode(); + } + if (hasBViewCheck()) { + hash = (37 * hash) + BVIEWCHECK_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getBViewCheck()); + } + if (hasDuration()) { + hash = (37 * hash) + DURATION_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getDuration()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.ScriptingDebugDrawText} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.ScriptingDebugDrawText) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawTextOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawText_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawText_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getOriginFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (originBuilder_ == null) { + origin_ = null; + } else { + originBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + text_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + bViewCheck_ = false; + bitField0_ = (bitField0_ & ~0x00000004); + duration_ = 0F; + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawText_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + if (originBuilder_ == null) { + result.origin_ = origin_; + } else { + result.origin_ = originBuilder_.build(); + } + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + to_bitField0_ |= 0x00000002; + } + result.text_ = text_; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.bViewCheck_ = bViewCheck_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.duration_ = duration_; + to_bitField0_ |= 0x00000008; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.getDefaultInstance()) return this; + if (other.hasOrigin()) { + mergeOrigin(other.getOrigin()); + } + if (other.hasText()) { + bitField0_ |= 0x00000002; + text_ = other.text_; + onChanged(); + } + if (other.hasBViewCheck()) { + setBViewCheck(other.getBViewCheck()); + } + if (other.hasDuration()) { + setDuration(other.getDuration()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasOrigin()) { + return false; + } + if (!hasText()) { + return false; + } + if (!hasBViewCheck()) { + return false; + } + if (!hasDuration()) { + return false; + } + if (!getOrigin().isInitialized()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector origin_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> originBuilder_; + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public boolean hasOrigin() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getOrigin() { + if (originBuilder_ == null) { + return origin_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : origin_; + } else { + return originBuilder_.getMessage(); + } + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public Builder setOrigin(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (originBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + origin_ = value; + onChanged(); + } else { + originBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public Builder setOrigin( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (originBuilder_ == null) { + origin_ = builderForValue.build(); + onChanged(); + } else { + originBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public Builder mergeOrigin(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (originBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) && + origin_ != null && + origin_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + origin_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(origin_).mergeFrom(value).buildPartial(); + } else { + origin_ = value; + } + onChanged(); + } else { + originBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public Builder clearOrigin() { + if (originBuilder_ == null) { + origin_ = null; + onChanged(); + } else { + originBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getOriginBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return getOriginFieldBuilder().getBuilder(); + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getOriginOrBuilder() { + if (originBuilder_ != null) { + return originBuilder_.getMessageOrBuilder(); + } else { + return origin_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : origin_; + } + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getOriginFieldBuilder() { + if (originBuilder_ == null) { + originBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getOrigin(), + getParentForChildren(), + isClean()); + origin_ = null; + } + return originBuilder_; + } + + private java.lang.Object text_ = ""; + /** + * <code>required string text = 2;</code> + */ + public boolean hasText() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required string text = 2;</code> + */ + public java.lang.String getText() { + java.lang.Object ref = text_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + text_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>required string text = 2;</code> + */ + public com.google.protobuf.ByteString + getTextBytes() { + java.lang.Object ref = text_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + text_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>required string text = 2;</code> + */ + public Builder setText( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + text_ = value; + onChanged(); + return this; + } + /** + * <code>required string text = 2;</code> + */ + public Builder clearText() { + bitField0_ = (bitField0_ & ~0x00000002); + text_ = getDefaultInstance().getText(); + onChanged(); + return this; + } + /** + * <code>required string text = 2;</code> + */ + public Builder setTextBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + text_ = value; + onChanged(); + return this; + } + + private boolean bViewCheck_ ; + /** + * <code>required bool bViewCheck = 3;</code> + */ + public boolean hasBViewCheck() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required bool bViewCheck = 3;</code> + */ + public boolean getBViewCheck() { + return bViewCheck_; + } + /** + * <code>required bool bViewCheck = 3;</code> + */ + public Builder setBViewCheck(boolean value) { + bitField0_ |= 0x00000004; + bViewCheck_ = value; + onChanged(); + return this; + } + /** + * <code>required bool bViewCheck = 3;</code> + */ + public Builder clearBViewCheck() { + bitField0_ = (bitField0_ & ~0x00000004); + bViewCheck_ = false; + onChanged(); + return this; + } + + private float duration_ ; + /** + * <code>required float duration = 4;</code> + */ + public boolean hasDuration() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>required float duration = 4;</code> + */ + public float getDuration() { + return duration_; + } + /** + * <code>required float duration = 4;</code> + */ + public Builder setDuration(float value) { + bitField0_ |= 0x00000008; + duration_ = value; + onChanged(); + return this; + } + /** + * <code>required float duration = 4;</code> + */ + public Builder clearDuration() { + bitField0_ = (bitField0_ & ~0x00000008); + duration_ = 0F; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.ScriptingDebugDrawText) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.ScriptingDebugDrawText) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<ScriptingDebugDrawText> + PARSER = new com.google.protobuf.AbstractParser<ScriptingDebugDrawText>() { + @java.lang.Override + public ScriptingDebugDrawText parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ScriptingDebugDrawText(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<ScriptingDebugDrawText> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<ScriptingDebugDrawText> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ScriptingDebugDrawLineOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.ScriptingDebugDrawLine) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + boolean hasOrigin(); + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getOrigin(); + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getOriginOrBuilder(); + + /** + * <code>required .CMsgBotWorldState.Vector target = 2;</code> + */ + boolean hasTarget(); + /** + * <code>required .CMsgBotWorldState.Vector target = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getTarget(); + /** + * <code>required .CMsgBotWorldState.Vector target = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getTargetOrBuilder(); + + /** + * <code>required int32 r = 3;</code> + */ + boolean hasR(); + /** + * <code>required int32 r = 3;</code> + */ + int getR(); + + /** + * <code>required int32 g = 4;</code> + */ + boolean hasG(); + /** + * <code>required int32 g = 4;</code> + */ + int getG(); + + /** + * <code>required int32 b = 5;</code> + */ + boolean hasB(); + /** + * <code>required int32 b = 5;</code> + */ + int getB(); + + /** + * <code>required bool ztest = 6;</code> + */ + boolean hasZtest(); + /** + * <code>required bool ztest = 6;</code> + */ + boolean getZtest(); + + /** + * <code>required float duration = 7;</code> + */ + boolean hasDuration(); + /** + * <code>required float duration = 7;</code> + */ + float getDuration(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.ScriptingDebugDrawLine} + */ + public static final class ScriptingDebugDrawLine extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.ScriptingDebugDrawLine) + ScriptingDebugDrawLineOrBuilder { + private static final long serialVersionUID = 0L; + // Use ScriptingDebugDrawLine.newBuilder() to construct. + private ScriptingDebugDrawLine(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private ScriptingDebugDrawLine() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ScriptingDebugDrawLine( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000001) != 0)) { + subBuilder = origin_.toBuilder(); + } + origin_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(origin_); + origin_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000001; + break; + } + case 18: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000002) != 0)) { + subBuilder = target_.toBuilder(); + } + target_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(target_); + target_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000002; + break; + } + case 24: { + bitField0_ |= 0x00000004; + r_ = input.readInt32(); + break; + } + case 32: { + bitField0_ |= 0x00000008; + g_ = input.readInt32(); + break; + } + case 40: { + bitField0_ |= 0x00000010; + b_ = input.readInt32(); + break; + } + case 48: { + bitField0_ |= 0x00000020; + ztest_ = input.readBool(); + break; + } + case 61: { + bitField0_ |= 0x00000040; + duration_ = input.readFloat(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawLine_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawLine_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.Builder.class); + } + + private int bitField0_; + public static final int ORIGIN_FIELD_NUMBER = 1; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector origin_; + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public boolean hasOrigin() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getOrigin() { + return origin_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : origin_; + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getOriginOrBuilder() { + return origin_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : origin_; + } + + public static final int TARGET_FIELD_NUMBER = 2; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector target_; + /** + * <code>required .CMsgBotWorldState.Vector target = 2;</code> + */ + public boolean hasTarget() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector target = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getTarget() { + return target_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : target_; + } + /** + * <code>required .CMsgBotWorldState.Vector target = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getTargetOrBuilder() { + return target_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : target_; + } + + public static final int R_FIELD_NUMBER = 3; + private int r_; + /** + * <code>required int32 r = 3;</code> + */ + public boolean hasR() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required int32 r = 3;</code> + */ + public int getR() { + return r_; + } + + public static final int G_FIELD_NUMBER = 4; + private int g_; + /** + * <code>required int32 g = 4;</code> + */ + public boolean hasG() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>required int32 g = 4;</code> + */ + public int getG() { + return g_; + } + + public static final int B_FIELD_NUMBER = 5; + private int b_; + /** + * <code>required int32 b = 5;</code> + */ + public boolean hasB() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>required int32 b = 5;</code> + */ + public int getB() { + return b_; + } + + public static final int ZTEST_FIELD_NUMBER = 6; + private boolean ztest_; + /** + * <code>required bool ztest = 6;</code> + */ + public boolean hasZtest() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>required bool ztest = 6;</code> + */ + public boolean getZtest() { + return ztest_; + } + + public static final int DURATION_FIELD_NUMBER = 7; + private float duration_; + /** + * <code>required float duration = 7;</code> + */ + public boolean hasDuration() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>required float duration = 7;</code> + */ + public float getDuration() { + return duration_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasOrigin()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasTarget()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasR()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasG()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasB()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasZtest()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasDuration()) { + memoizedIsInitialized = 0; + return false; + } + if (!getOrigin().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + if (!getTarget().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getOrigin()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getTarget()); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeInt32(3, r_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeInt32(4, g_); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeInt32(5, b_); + } + if (((bitField0_ & 0x00000020) != 0)) { + output.writeBool(6, ztest_); + } + if (((bitField0_ & 0x00000040) != 0)) { + output.writeFloat(7, duration_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getOrigin()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getTarget()); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, r_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(4, g_); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(5, b_); + } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(6, ztest_); + } + if (((bitField0_ & 0x00000040) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(7, duration_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine) obj; + + if (hasOrigin() != other.hasOrigin()) return false; + if (hasOrigin()) { + if (!getOrigin() + .equals(other.getOrigin())) return false; + } + if (hasTarget() != other.hasTarget()) return false; + if (hasTarget()) { + if (!getTarget() + .equals(other.getTarget())) return false; + } + if (hasR() != other.hasR()) return false; + if (hasR()) { + if (getR() + != other.getR()) return false; + } + if (hasG() != other.hasG()) return false; + if (hasG()) { + if (getG() + != other.getG()) return false; + } + if (hasB() != other.hasB()) return false; + if (hasB()) { + if (getB() + != other.getB()) return false; + } + if (hasZtest() != other.hasZtest()) return false; + if (hasZtest()) { + if (getZtest() + != other.getZtest()) return false; + } + if (hasDuration() != other.hasDuration()) return false; + if (hasDuration()) { + if (java.lang.Float.floatToIntBits(getDuration()) + != java.lang.Float.floatToIntBits( + other.getDuration())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasOrigin()) { + hash = (37 * hash) + ORIGIN_FIELD_NUMBER; + hash = (53 * hash) + getOrigin().hashCode(); + } + if (hasTarget()) { + hash = (37 * hash) + TARGET_FIELD_NUMBER; + hash = (53 * hash) + getTarget().hashCode(); + } + if (hasR()) { + hash = (37 * hash) + R_FIELD_NUMBER; + hash = (53 * hash) + getR(); + } + if (hasG()) { + hash = (37 * hash) + G_FIELD_NUMBER; + hash = (53 * hash) + getG(); + } + if (hasB()) { + hash = (37 * hash) + B_FIELD_NUMBER; + hash = (53 * hash) + getB(); + } + if (hasZtest()) { + hash = (37 * hash) + ZTEST_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getZtest()); + } + if (hasDuration()) { + hash = (37 * hash) + DURATION_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getDuration()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.ScriptingDebugDrawLine} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.ScriptingDebugDrawLine) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLineOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawLine_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawLine_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getOriginFieldBuilder(); + getTargetFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (originBuilder_ == null) { + origin_ = null; + } else { + originBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + if (targetBuilder_ == null) { + target_ = null; + } else { + targetBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + r_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + g_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + b_ = 0; + bitField0_ = (bitField0_ & ~0x00000010); + ztest_ = false; + bitField0_ = (bitField0_ & ~0x00000020); + duration_ = 0F; + bitField0_ = (bitField0_ & ~0x00000040); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawLine_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + if (originBuilder_ == null) { + result.origin_ = origin_; + } else { + result.origin_ = originBuilder_.build(); + } + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + if (targetBuilder_ == null) { + result.target_ = target_; + } else { + result.target_ = targetBuilder_.build(); + } + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.r_ = r_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.g_ = g_; + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.b_ = b_; + to_bitField0_ |= 0x00000010; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.ztest_ = ztest_; + to_bitField0_ |= 0x00000020; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.duration_ = duration_; + to_bitField0_ |= 0x00000040; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.getDefaultInstance()) return this; + if (other.hasOrigin()) { + mergeOrigin(other.getOrigin()); + } + if (other.hasTarget()) { + mergeTarget(other.getTarget()); + } + if (other.hasR()) { + setR(other.getR()); + } + if (other.hasG()) { + setG(other.getG()); + } + if (other.hasB()) { + setB(other.getB()); + } + if (other.hasZtest()) { + setZtest(other.getZtest()); + } + if (other.hasDuration()) { + setDuration(other.getDuration()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasOrigin()) { + return false; + } + if (!hasTarget()) { + return false; + } + if (!hasR()) { + return false; + } + if (!hasG()) { + return false; + } + if (!hasB()) { + return false; + } + if (!hasZtest()) { + return false; + } + if (!hasDuration()) { + return false; + } + if (!getOrigin().isInitialized()) { + return false; + } + if (!getTarget().isInitialized()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector origin_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> originBuilder_; + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public boolean hasOrigin() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getOrigin() { + if (originBuilder_ == null) { + return origin_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : origin_; + } else { + return originBuilder_.getMessage(); + } + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public Builder setOrigin(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (originBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + origin_ = value; + onChanged(); + } else { + originBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public Builder setOrigin( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (originBuilder_ == null) { + origin_ = builderForValue.build(); + onChanged(); + } else { + originBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public Builder mergeOrigin(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (originBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) && + origin_ != null && + origin_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + origin_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(origin_).mergeFrom(value).buildPartial(); + } else { + origin_ = value; + } + onChanged(); + } else { + originBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public Builder clearOrigin() { + if (originBuilder_ == null) { + origin_ = null; + onChanged(); + } else { + originBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getOriginBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return getOriginFieldBuilder().getBuilder(); + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getOriginOrBuilder() { + if (originBuilder_ != null) { + return originBuilder_.getMessageOrBuilder(); + } else { + return origin_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : origin_; + } + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getOriginFieldBuilder() { + if (originBuilder_ == null) { + originBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getOrigin(), + getParentForChildren(), + isClean()); + origin_ = null; + } + return originBuilder_; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector target_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> targetBuilder_; + /** + * <code>required .CMsgBotWorldState.Vector target = 2;</code> + */ + public boolean hasTarget() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector target = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getTarget() { + if (targetBuilder_ == null) { + return target_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : target_; + } else { + return targetBuilder_.getMessage(); + } + } + /** + * <code>required .CMsgBotWorldState.Vector target = 2;</code> + */ + public Builder setTarget(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (targetBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + target_ = value; + onChanged(); + } else { + targetBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector target = 2;</code> + */ + public Builder setTarget( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (targetBuilder_ == null) { + target_ = builderForValue.build(); + onChanged(); + } else { + targetBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector target = 2;</code> + */ + public Builder mergeTarget(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (targetBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && + target_ != null && + target_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + target_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(target_).mergeFrom(value).buildPartial(); + } else { + target_ = value; + } + onChanged(); + } else { + targetBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector target = 2;</code> + */ + public Builder clearTarget() { + if (targetBuilder_ == null) { + target_ = null; + onChanged(); + } else { + targetBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector target = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getTargetBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return getTargetFieldBuilder().getBuilder(); + } + /** + * <code>required .CMsgBotWorldState.Vector target = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getTargetOrBuilder() { + if (targetBuilder_ != null) { + return targetBuilder_.getMessageOrBuilder(); + } else { + return target_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : target_; + } + } + /** + * <code>required .CMsgBotWorldState.Vector target = 2;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getTargetFieldBuilder() { + if (targetBuilder_ == null) { + targetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getTarget(), + getParentForChildren(), + isClean()); + target_ = null; + } + return targetBuilder_; + } + + private int r_ ; + /** + * <code>required int32 r = 3;</code> + */ + public boolean hasR() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required int32 r = 3;</code> + */ + public int getR() { + return r_; + } + /** + * <code>required int32 r = 3;</code> + */ + public Builder setR(int value) { + bitField0_ |= 0x00000004; + r_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 r = 3;</code> + */ + public Builder clearR() { + bitField0_ = (bitField0_ & ~0x00000004); + r_ = 0; + onChanged(); + return this; + } + + private int g_ ; + /** + * <code>required int32 g = 4;</code> + */ + public boolean hasG() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>required int32 g = 4;</code> + */ + public int getG() { + return g_; + } + /** + * <code>required int32 g = 4;</code> + */ + public Builder setG(int value) { + bitField0_ |= 0x00000008; + g_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 g = 4;</code> + */ + public Builder clearG() { + bitField0_ = (bitField0_ & ~0x00000008); + g_ = 0; + onChanged(); + return this; + } + + private int b_ ; + /** + * <code>required int32 b = 5;</code> + */ + public boolean hasB() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>required int32 b = 5;</code> + */ + public int getB() { + return b_; + } + /** + * <code>required int32 b = 5;</code> + */ + public Builder setB(int value) { + bitField0_ |= 0x00000010; + b_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 b = 5;</code> + */ + public Builder clearB() { + bitField0_ = (bitField0_ & ~0x00000010); + b_ = 0; + onChanged(); + return this; + } + + private boolean ztest_ ; + /** + * <code>required bool ztest = 6;</code> + */ + public boolean hasZtest() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>required bool ztest = 6;</code> + */ + public boolean getZtest() { + return ztest_; + } + /** + * <code>required bool ztest = 6;</code> + */ + public Builder setZtest(boolean value) { + bitField0_ |= 0x00000020; + ztest_ = value; + onChanged(); + return this; + } + /** + * <code>required bool ztest = 6;</code> + */ + public Builder clearZtest() { + bitField0_ = (bitField0_ & ~0x00000020); + ztest_ = false; + onChanged(); + return this; + } + + private float duration_ ; + /** + * <code>required float duration = 7;</code> + */ + public boolean hasDuration() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>required float duration = 7;</code> + */ + public float getDuration() { + return duration_; + } + /** + * <code>required float duration = 7;</code> + */ + public Builder setDuration(float value) { + bitField0_ |= 0x00000040; + duration_ = value; + onChanged(); + return this; + } + /** + * <code>required float duration = 7;</code> + */ + public Builder clearDuration() { + bitField0_ = (bitField0_ & ~0x00000040); + duration_ = 0F; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.ScriptingDebugDrawLine) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.ScriptingDebugDrawLine) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<ScriptingDebugDrawLine> + PARSER = new com.google.protobuf.AbstractParser<ScriptingDebugDrawLine>() { + @java.lang.Override + public ScriptingDebugDrawLine parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ScriptingDebugDrawLine(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<ScriptingDebugDrawLine> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<ScriptingDebugDrawLine> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ScriptingDebugDrawScreenTextOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required float x = 1;</code> + */ + boolean hasX(); + /** + * <code>required float x = 1;</code> + */ + float getX(); + + /** + * <code>required float y = 2;</code> + */ + boolean hasY(); + /** + * <code>required float y = 2;</code> + */ + float getY(); + + /** + * <code>required int32 lineOffset = 3;</code> + */ + boolean hasLineOffset(); + /** + * <code>required int32 lineOffset = 3;</code> + */ + int getLineOffset(); + + /** + * <code>required string text = 4;</code> + */ + boolean hasText(); + /** + * <code>required string text = 4;</code> + */ + java.lang.String getText(); + /** + * <code>required string text = 4;</code> + */ + com.google.protobuf.ByteString + getTextBytes(); + + /** + * <code>required int32 r = 5;</code> + */ + boolean hasR(); + /** + * <code>required int32 r = 5;</code> + */ + int getR(); + + /** + * <code>required int32 g = 6;</code> + */ + boolean hasG(); + /** + * <code>required int32 g = 6;</code> + */ + int getG(); + + /** + * <code>required int32 b = 7;</code> + */ + boolean hasB(); + /** + * <code>required int32 b = 7;</code> + */ + int getB(); + + /** + * <code>required int32 a = 8;</code> + */ + boolean hasA(); + /** + * <code>required int32 a = 8;</code> + */ + int getA(); + + /** + * <code>required float duration = 9;</code> + */ + boolean hasDuration(); + /** + * <code>required float duration = 9;</code> + */ + float getDuration(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.ScriptingDebugDrawScreenText} + */ + public static final class ScriptingDebugDrawScreenText extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) + ScriptingDebugDrawScreenTextOrBuilder { + private static final long serialVersionUID = 0L; + // Use ScriptingDebugDrawScreenText.newBuilder() to construct. + private ScriptingDebugDrawScreenText(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private ScriptingDebugDrawScreenText() { + text_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ScriptingDebugDrawScreenText( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 13: { + bitField0_ |= 0x00000001; + x_ = input.readFloat(); + break; + } + case 21: { + bitField0_ |= 0x00000002; + y_ = input.readFloat(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + lineOffset_ = input.readInt32(); + break; + } + case 34: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000008; + text_ = bs; + break; + } + case 40: { + bitField0_ |= 0x00000010; + r_ = input.readInt32(); + break; + } + case 48: { + bitField0_ |= 0x00000020; + g_ = input.readInt32(); + break; + } + case 56: { + bitField0_ |= 0x00000040; + b_ = input.readInt32(); + break; + } + case 64: { + bitField0_ |= 0x00000080; + a_ = input.readInt32(); + break; + } + case 77: { + bitField0_ |= 0x00000100; + duration_ = input.readFloat(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawScreenText_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawScreenText_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.Builder.class); + } + + private int bitField0_; + public static final int X_FIELD_NUMBER = 1; + private float x_; + /** + * <code>required float x = 1;</code> + */ + public boolean hasX() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required float x = 1;</code> + */ + public float getX() { + return x_; + } + + public static final int Y_FIELD_NUMBER = 2; + private float y_; + /** + * <code>required float y = 2;</code> + */ + public boolean hasY() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required float y = 2;</code> + */ + public float getY() { + return y_; + } + + public static final int LINEOFFSET_FIELD_NUMBER = 3; + private int lineOffset_; + /** + * <code>required int32 lineOffset = 3;</code> + */ + public boolean hasLineOffset() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required int32 lineOffset = 3;</code> + */ + public int getLineOffset() { + return lineOffset_; + } + + public static final int TEXT_FIELD_NUMBER = 4; + private volatile java.lang.Object text_; + /** + * <code>required string text = 4;</code> + */ + public boolean hasText() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>required string text = 4;</code> + */ + public java.lang.String getText() { + java.lang.Object ref = text_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + text_ = s; + } + return s; + } + } + /** + * <code>required string text = 4;</code> + */ + public com.google.protobuf.ByteString + getTextBytes() { + java.lang.Object ref = text_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + text_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int R_FIELD_NUMBER = 5; + private int r_; + /** + * <code>required int32 r = 5;</code> + */ + public boolean hasR() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>required int32 r = 5;</code> + */ + public int getR() { + return r_; + } + + public static final int G_FIELD_NUMBER = 6; + private int g_; + /** + * <code>required int32 g = 6;</code> + */ + public boolean hasG() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>required int32 g = 6;</code> + */ + public int getG() { + return g_; + } + + public static final int B_FIELD_NUMBER = 7; + private int b_; + /** + * <code>required int32 b = 7;</code> + */ + public boolean hasB() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>required int32 b = 7;</code> + */ + public int getB() { + return b_; + } + + public static final int A_FIELD_NUMBER = 8; + private int a_; + /** + * <code>required int32 a = 8;</code> + */ + public boolean hasA() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>required int32 a = 8;</code> + */ + public int getA() { + return a_; + } + + public static final int DURATION_FIELD_NUMBER = 9; + private float duration_; + /** + * <code>required float duration = 9;</code> + */ + public boolean hasDuration() { + return ((bitField0_ & 0x00000100) != 0); + } + /** + * <code>required float duration = 9;</code> + */ + public float getDuration() { + return duration_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasX()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasY()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasLineOffset()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasText()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasR()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasG()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasB()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasA()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasDuration()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeFloat(1, x_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeFloat(2, y_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeInt32(3, lineOffset_); + } + if (((bitField0_ & 0x00000008) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, text_); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeInt32(5, r_); + } + if (((bitField0_ & 0x00000020) != 0)) { + output.writeInt32(6, g_); + } + if (((bitField0_ & 0x00000040) != 0)) { + output.writeInt32(7, b_); + } + if (((bitField0_ & 0x00000080) != 0)) { + output.writeInt32(8, a_); + } + if (((bitField0_ & 0x00000100) != 0)) { + output.writeFloat(9, duration_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(1, x_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(2, y_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, lineOffset_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, text_); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(5, r_); + } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(6, g_); + } + if (((bitField0_ & 0x00000040) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(7, b_); + } + if (((bitField0_ & 0x00000080) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(8, a_); + } + if (((bitField0_ & 0x00000100) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(9, duration_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) obj; + + if (hasX() != other.hasX()) return false; + if (hasX()) { + if (java.lang.Float.floatToIntBits(getX()) + != java.lang.Float.floatToIntBits( + other.getX())) return false; + } + if (hasY() != other.hasY()) return false; + if (hasY()) { + if (java.lang.Float.floatToIntBits(getY()) + != java.lang.Float.floatToIntBits( + other.getY())) return false; + } + if (hasLineOffset() != other.hasLineOffset()) return false; + if (hasLineOffset()) { + if (getLineOffset() + != other.getLineOffset()) return false; + } + if (hasText() != other.hasText()) return false; + if (hasText()) { + if (!getText() + .equals(other.getText())) return false; + } + if (hasR() != other.hasR()) return false; + if (hasR()) { + if (getR() + != other.getR()) return false; + } + if (hasG() != other.hasG()) return false; + if (hasG()) { + if (getG() + != other.getG()) return false; + } + if (hasB() != other.hasB()) return false; + if (hasB()) { + if (getB() + != other.getB()) return false; + } + if (hasA() != other.hasA()) return false; + if (hasA()) { + if (getA() + != other.getA()) return false; + } + if (hasDuration() != other.hasDuration()) return false; + if (hasDuration()) { + if (java.lang.Float.floatToIntBits(getDuration()) + != java.lang.Float.floatToIntBits( + other.getDuration())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasX()) { + hash = (37 * hash) + X_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getX()); + } + if (hasY()) { + hash = (37 * hash) + Y_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getY()); + } + if (hasLineOffset()) { + hash = (37 * hash) + LINEOFFSET_FIELD_NUMBER; + hash = (53 * hash) + getLineOffset(); + } + if (hasText()) { + hash = (37 * hash) + TEXT_FIELD_NUMBER; + hash = (53 * hash) + getText().hashCode(); + } + if (hasR()) { + hash = (37 * hash) + R_FIELD_NUMBER; + hash = (53 * hash) + getR(); + } + if (hasG()) { + hash = (37 * hash) + G_FIELD_NUMBER; + hash = (53 * hash) + getG(); + } + if (hasB()) { + hash = (37 * hash) + B_FIELD_NUMBER; + hash = (53 * hash) + getB(); + } + if (hasA()) { + hash = (37 * hash) + A_FIELD_NUMBER; + hash = (53 * hash) + getA(); + } + if (hasDuration()) { + hash = (37 * hash) + DURATION_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getDuration()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.ScriptingDebugDrawScreenText} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenTextOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawScreenText_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawScreenText_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + x_ = 0F; + bitField0_ = (bitField0_ & ~0x00000001); + y_ = 0F; + bitField0_ = (bitField0_ & ~0x00000002); + lineOffset_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + text_ = ""; + bitField0_ = (bitField0_ & ~0x00000008); + r_ = 0; + bitField0_ = (bitField0_ & ~0x00000010); + g_ = 0; + bitField0_ = (bitField0_ & ~0x00000020); + b_ = 0; + bitField0_ = (bitField0_ & ~0x00000040); + a_ = 0; + bitField0_ = (bitField0_ & ~0x00000080); + duration_ = 0F; + bitField0_ = (bitField0_ & ~0x00000100); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawScreenText_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.x_ = x_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.y_ = y_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.lineOffset_ = lineOffset_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + to_bitField0_ |= 0x00000008; + } + result.text_ = text_; + if (((from_bitField0_ & 0x00000010) != 0)) { + result.r_ = r_; + to_bitField0_ |= 0x00000010; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.g_ = g_; + to_bitField0_ |= 0x00000020; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.b_ = b_; + to_bitField0_ |= 0x00000040; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.a_ = a_; + to_bitField0_ |= 0x00000080; + } + if (((from_bitField0_ & 0x00000100) != 0)) { + result.duration_ = duration_; + to_bitField0_ |= 0x00000100; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.getDefaultInstance()) return this; + if (other.hasX()) { + setX(other.getX()); + } + if (other.hasY()) { + setY(other.getY()); + } + if (other.hasLineOffset()) { + setLineOffset(other.getLineOffset()); + } + if (other.hasText()) { + bitField0_ |= 0x00000008; + text_ = other.text_; + onChanged(); + } + if (other.hasR()) { + setR(other.getR()); + } + if (other.hasG()) { + setG(other.getG()); + } + if (other.hasB()) { + setB(other.getB()); + } + if (other.hasA()) { + setA(other.getA()); + } + if (other.hasDuration()) { + setDuration(other.getDuration()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasX()) { + return false; + } + if (!hasY()) { + return false; + } + if (!hasLineOffset()) { + return false; + } + if (!hasText()) { + return false; + } + if (!hasR()) { + return false; + } + if (!hasG()) { + return false; + } + if (!hasB()) { + return false; + } + if (!hasA()) { + return false; + } + if (!hasDuration()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private float x_ ; + /** + * <code>required float x = 1;</code> + */ + public boolean hasX() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required float x = 1;</code> + */ + public float getX() { + return x_; + } + /** + * <code>required float x = 1;</code> + */ + public Builder setX(float value) { + bitField0_ |= 0x00000001; + x_ = value; + onChanged(); + return this; + } + /** + * <code>required float x = 1;</code> + */ + public Builder clearX() { + bitField0_ = (bitField0_ & ~0x00000001); + x_ = 0F; + onChanged(); + return this; + } + + private float y_ ; + /** + * <code>required float y = 2;</code> + */ + public boolean hasY() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required float y = 2;</code> + */ + public float getY() { + return y_; + } + /** + * <code>required float y = 2;</code> + */ + public Builder setY(float value) { + bitField0_ |= 0x00000002; + y_ = value; + onChanged(); + return this; + } + /** + * <code>required float y = 2;</code> + */ + public Builder clearY() { + bitField0_ = (bitField0_ & ~0x00000002); + y_ = 0F; + onChanged(); + return this; + } + + private int lineOffset_ ; + /** + * <code>required int32 lineOffset = 3;</code> + */ + public boolean hasLineOffset() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required int32 lineOffset = 3;</code> + */ + public int getLineOffset() { + return lineOffset_; + } + /** + * <code>required int32 lineOffset = 3;</code> + */ + public Builder setLineOffset(int value) { + bitField0_ |= 0x00000004; + lineOffset_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 lineOffset = 3;</code> + */ + public Builder clearLineOffset() { + bitField0_ = (bitField0_ & ~0x00000004); + lineOffset_ = 0; + onChanged(); + return this; + } + + private java.lang.Object text_ = ""; + /** + * <code>required string text = 4;</code> + */ + public boolean hasText() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>required string text = 4;</code> + */ + public java.lang.String getText() { + java.lang.Object ref = text_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + text_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>required string text = 4;</code> + */ + public com.google.protobuf.ByteString + getTextBytes() { + java.lang.Object ref = text_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + text_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>required string text = 4;</code> + */ + public Builder setText( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + text_ = value; + onChanged(); + return this; + } + /** + * <code>required string text = 4;</code> + */ + public Builder clearText() { + bitField0_ = (bitField0_ & ~0x00000008); + text_ = getDefaultInstance().getText(); + onChanged(); + return this; + } + /** + * <code>required string text = 4;</code> + */ + public Builder setTextBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + text_ = value; + onChanged(); + return this; + } + + private int r_ ; + /** + * <code>required int32 r = 5;</code> + */ + public boolean hasR() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>required int32 r = 5;</code> + */ + public int getR() { + return r_; + } + /** + * <code>required int32 r = 5;</code> + */ + public Builder setR(int value) { + bitField0_ |= 0x00000010; + r_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 r = 5;</code> + */ + public Builder clearR() { + bitField0_ = (bitField0_ & ~0x00000010); + r_ = 0; + onChanged(); + return this; + } + + private int g_ ; + /** + * <code>required int32 g = 6;</code> + */ + public boolean hasG() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>required int32 g = 6;</code> + */ + public int getG() { + return g_; + } + /** + * <code>required int32 g = 6;</code> + */ + public Builder setG(int value) { + bitField0_ |= 0x00000020; + g_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 g = 6;</code> + */ + public Builder clearG() { + bitField0_ = (bitField0_ & ~0x00000020); + g_ = 0; + onChanged(); + return this; + } + + private int b_ ; + /** + * <code>required int32 b = 7;</code> + */ + public boolean hasB() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>required int32 b = 7;</code> + */ + public int getB() { + return b_; + } + /** + * <code>required int32 b = 7;</code> + */ + public Builder setB(int value) { + bitField0_ |= 0x00000040; + b_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 b = 7;</code> + */ + public Builder clearB() { + bitField0_ = (bitField0_ & ~0x00000040); + b_ = 0; + onChanged(); + return this; + } + + private int a_ ; + /** + * <code>required int32 a = 8;</code> + */ + public boolean hasA() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>required int32 a = 8;</code> + */ + public int getA() { + return a_; + } + /** + * <code>required int32 a = 8;</code> + */ + public Builder setA(int value) { + bitField0_ |= 0x00000080; + a_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 a = 8;</code> + */ + public Builder clearA() { + bitField0_ = (bitField0_ & ~0x00000080); + a_ = 0; + onChanged(); + return this; + } + + private float duration_ ; + /** + * <code>required float duration = 9;</code> + */ + public boolean hasDuration() { + return ((bitField0_ & 0x00000100) != 0); + } + /** + * <code>required float duration = 9;</code> + */ + public float getDuration() { + return duration_; + } + /** + * <code>required float duration = 9;</code> + */ + public Builder setDuration(float value) { + bitField0_ |= 0x00000100; + duration_ = value; + onChanged(); + return this; + } + /** + * <code>required float duration = 9;</code> + */ + public Builder clearDuration() { + bitField0_ = (bitField0_ & ~0x00000100); + duration_ = 0F; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<ScriptingDebugDrawScreenText> + PARSER = new com.google.protobuf.AbstractParser<ScriptingDebugDrawScreenText>() { + @java.lang.Override + public ScriptingDebugDrawScreenText parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ScriptingDebugDrawScreenText(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<ScriptingDebugDrawScreenText> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<ScriptingDebugDrawScreenText> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ScriptingDebugScreenTextPrettyOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required float x = 1;</code> + */ + boolean hasX(); + /** + * <code>required float x = 1;</code> + */ + float getX(); + + /** + * <code>required float y = 2;</code> + */ + boolean hasY(); + /** + * <code>required float y = 2;</code> + */ + float getY(); + + /** + * <code>required int32 lineOffset = 3;</code> + */ + boolean hasLineOffset(); + /** + * <code>required int32 lineOffset = 3;</code> + */ + int getLineOffset(); + + /** + * <code>required string text = 4;</code> + */ + boolean hasText(); + /** + * <code>required string text = 4;</code> + */ + java.lang.String getText(); + /** + * <code>required string text = 4;</code> + */ + com.google.protobuf.ByteString + getTextBytes(); + + /** + * <code>required int32 r = 5;</code> + */ + boolean hasR(); + /** + * <code>required int32 r = 5;</code> + */ + int getR(); + + /** + * <code>required int32 g = 6;</code> + */ + boolean hasG(); + /** + * <code>required int32 g = 6;</code> + */ + int getG(); + + /** + * <code>required int32 b = 7;</code> + */ + boolean hasB(); + /** + * <code>required int32 b = 7;</code> + */ + int getB(); + + /** + * <code>required int32 a = 8;</code> + */ + boolean hasA(); + /** + * <code>required int32 a = 8;</code> + */ + int getA(); + + /** + * <code>required float duration = 9;</code> + */ + boolean hasDuration(); + /** + * <code>required float duration = 9;</code> + */ + float getDuration(); + + /** + * <code>required string font = 10;</code> + */ + boolean hasFont(); + /** + * <code>required string font = 10;</code> + */ + java.lang.String getFont(); + /** + * <code>required string font = 10;</code> + */ + com.google.protobuf.ByteString + getFontBytes(); + + /** + * <code>required float size = 11;</code> + */ + boolean hasSize(); + /** + * <code>required float size = 11;</code> + */ + float getSize(); + + /** + * <code>required bool bBold = 12;</code> + */ + boolean hasBBold(); + /** + * <code>required bool bBold = 12;</code> + */ + boolean getBBold(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty} + */ + public static final class ScriptingDebugScreenTextPretty extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) + ScriptingDebugScreenTextPrettyOrBuilder { + private static final long serialVersionUID = 0L; + // Use ScriptingDebugScreenTextPretty.newBuilder() to construct. + private ScriptingDebugScreenTextPretty(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private ScriptingDebugScreenTextPretty() { + text_ = ""; + font_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ScriptingDebugScreenTextPretty( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 13: { + bitField0_ |= 0x00000001; + x_ = input.readFloat(); + break; + } + case 21: { + bitField0_ |= 0x00000002; + y_ = input.readFloat(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + lineOffset_ = input.readInt32(); + break; + } + case 34: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000008; + text_ = bs; + break; + } + case 40: { + bitField0_ |= 0x00000010; + r_ = input.readInt32(); + break; + } + case 48: { + bitField0_ |= 0x00000020; + g_ = input.readInt32(); + break; + } + case 56: { + bitField0_ |= 0x00000040; + b_ = input.readInt32(); + break; + } + case 64: { + bitField0_ |= 0x00000080; + a_ = input.readInt32(); + break; + } + case 77: { + bitField0_ |= 0x00000100; + duration_ = input.readFloat(); + break; + } + case 82: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000200; + font_ = bs; + break; + } + case 93: { + bitField0_ |= 0x00000400; + size_ = input.readFloat(); + break; + } + case 96: { + bitField0_ |= 0x00000800; + bBold_ = input.readBool(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugScreenTextPretty_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugScreenTextPretty_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.Builder.class); + } + + private int bitField0_; + public static final int X_FIELD_NUMBER = 1; + private float x_; + /** + * <code>required float x = 1;</code> + */ + public boolean hasX() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required float x = 1;</code> + */ + public float getX() { + return x_; + } + + public static final int Y_FIELD_NUMBER = 2; + private float y_; + /** + * <code>required float y = 2;</code> + */ + public boolean hasY() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required float y = 2;</code> + */ + public float getY() { + return y_; + } + + public static final int LINEOFFSET_FIELD_NUMBER = 3; + private int lineOffset_; + /** + * <code>required int32 lineOffset = 3;</code> + */ + public boolean hasLineOffset() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required int32 lineOffset = 3;</code> + */ + public int getLineOffset() { + return lineOffset_; + } + + public static final int TEXT_FIELD_NUMBER = 4; + private volatile java.lang.Object text_; + /** + * <code>required string text = 4;</code> + */ + public boolean hasText() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>required string text = 4;</code> + */ + public java.lang.String getText() { + java.lang.Object ref = text_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + text_ = s; + } + return s; + } + } + /** + * <code>required string text = 4;</code> + */ + public com.google.protobuf.ByteString + getTextBytes() { + java.lang.Object ref = text_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + text_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int R_FIELD_NUMBER = 5; + private int r_; + /** + * <code>required int32 r = 5;</code> + */ + public boolean hasR() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>required int32 r = 5;</code> + */ + public int getR() { + return r_; + } + + public static final int G_FIELD_NUMBER = 6; + private int g_; + /** + * <code>required int32 g = 6;</code> + */ + public boolean hasG() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>required int32 g = 6;</code> + */ + public int getG() { + return g_; + } + + public static final int B_FIELD_NUMBER = 7; + private int b_; + /** + * <code>required int32 b = 7;</code> + */ + public boolean hasB() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>required int32 b = 7;</code> + */ + public int getB() { + return b_; + } + + public static final int A_FIELD_NUMBER = 8; + private int a_; + /** + * <code>required int32 a = 8;</code> + */ + public boolean hasA() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>required int32 a = 8;</code> + */ + public int getA() { + return a_; + } + + public static final int DURATION_FIELD_NUMBER = 9; + private float duration_; + /** + * <code>required float duration = 9;</code> + */ + public boolean hasDuration() { + return ((bitField0_ & 0x00000100) != 0); + } + /** + * <code>required float duration = 9;</code> + */ + public float getDuration() { + return duration_; + } + + public static final int FONT_FIELD_NUMBER = 10; + private volatile java.lang.Object font_; + /** + * <code>required string font = 10;</code> + */ + public boolean hasFont() { + return ((bitField0_ & 0x00000200) != 0); + } + /** + * <code>required string font = 10;</code> + */ + public java.lang.String getFont() { + java.lang.Object ref = font_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + font_ = s; + } + return s; + } + } + /** + * <code>required string font = 10;</code> + */ + public com.google.protobuf.ByteString + getFontBytes() { + java.lang.Object ref = font_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + font_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SIZE_FIELD_NUMBER = 11; + private float size_; + /** + * <code>required float size = 11;</code> + */ + public boolean hasSize() { + return ((bitField0_ & 0x00000400) != 0); + } + /** + * <code>required float size = 11;</code> + */ + public float getSize() { + return size_; + } + + public static final int BBOLD_FIELD_NUMBER = 12; + private boolean bBold_; + /** + * <code>required bool bBold = 12;</code> + */ + public boolean hasBBold() { + return ((bitField0_ & 0x00000800) != 0); + } + /** + * <code>required bool bBold = 12;</code> + */ + public boolean getBBold() { + return bBold_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasX()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasY()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasLineOffset()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasText()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasR()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasG()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasB()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasA()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasDuration()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasFont()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasSize()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasBBold()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeFloat(1, x_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeFloat(2, y_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeInt32(3, lineOffset_); + } + if (((bitField0_ & 0x00000008) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, text_); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeInt32(5, r_); + } + if (((bitField0_ & 0x00000020) != 0)) { + output.writeInt32(6, g_); + } + if (((bitField0_ & 0x00000040) != 0)) { + output.writeInt32(7, b_); + } + if (((bitField0_ & 0x00000080) != 0)) { + output.writeInt32(8, a_); + } + if (((bitField0_ & 0x00000100) != 0)) { + output.writeFloat(9, duration_); + } + if (((bitField0_ & 0x00000200) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 10, font_); + } + if (((bitField0_ & 0x00000400) != 0)) { + output.writeFloat(11, size_); + } + if (((bitField0_ & 0x00000800) != 0)) { + output.writeBool(12, bBold_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(1, x_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(2, y_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, lineOffset_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, text_); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(5, r_); + } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(6, g_); + } + if (((bitField0_ & 0x00000040) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(7, b_); + } + if (((bitField0_ & 0x00000080) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(8, a_); + } + if (((bitField0_ & 0x00000100) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(9, duration_); + } + if (((bitField0_ & 0x00000200) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, font_); + } + if (((bitField0_ & 0x00000400) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(11, size_); + } + if (((bitField0_ & 0x00000800) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(12, bBold_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) obj; + + if (hasX() != other.hasX()) return false; + if (hasX()) { + if (java.lang.Float.floatToIntBits(getX()) + != java.lang.Float.floatToIntBits( + other.getX())) return false; + } + if (hasY() != other.hasY()) return false; + if (hasY()) { + if (java.lang.Float.floatToIntBits(getY()) + != java.lang.Float.floatToIntBits( + other.getY())) return false; + } + if (hasLineOffset() != other.hasLineOffset()) return false; + if (hasLineOffset()) { + if (getLineOffset() + != other.getLineOffset()) return false; + } + if (hasText() != other.hasText()) return false; + if (hasText()) { + if (!getText() + .equals(other.getText())) return false; + } + if (hasR() != other.hasR()) return false; + if (hasR()) { + if (getR() + != other.getR()) return false; + } + if (hasG() != other.hasG()) return false; + if (hasG()) { + if (getG() + != other.getG()) return false; + } + if (hasB() != other.hasB()) return false; + if (hasB()) { + if (getB() + != other.getB()) return false; + } + if (hasA() != other.hasA()) return false; + if (hasA()) { + if (getA() + != other.getA()) return false; + } + if (hasDuration() != other.hasDuration()) return false; + if (hasDuration()) { + if (java.lang.Float.floatToIntBits(getDuration()) + != java.lang.Float.floatToIntBits( + other.getDuration())) return false; + } + if (hasFont() != other.hasFont()) return false; + if (hasFont()) { + if (!getFont() + .equals(other.getFont())) return false; + } + if (hasSize() != other.hasSize()) return false; + if (hasSize()) { + if (java.lang.Float.floatToIntBits(getSize()) + != java.lang.Float.floatToIntBits( + other.getSize())) return false; + } + if (hasBBold() != other.hasBBold()) return false; + if (hasBBold()) { + if (getBBold() + != other.getBBold()) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasX()) { + hash = (37 * hash) + X_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getX()); + } + if (hasY()) { + hash = (37 * hash) + Y_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getY()); + } + if (hasLineOffset()) { + hash = (37 * hash) + LINEOFFSET_FIELD_NUMBER; + hash = (53 * hash) + getLineOffset(); + } + if (hasText()) { + hash = (37 * hash) + TEXT_FIELD_NUMBER; + hash = (53 * hash) + getText().hashCode(); + } + if (hasR()) { + hash = (37 * hash) + R_FIELD_NUMBER; + hash = (53 * hash) + getR(); + } + if (hasG()) { + hash = (37 * hash) + G_FIELD_NUMBER; + hash = (53 * hash) + getG(); + } + if (hasB()) { + hash = (37 * hash) + B_FIELD_NUMBER; + hash = (53 * hash) + getB(); + } + if (hasA()) { + hash = (37 * hash) + A_FIELD_NUMBER; + hash = (53 * hash) + getA(); + } + if (hasDuration()) { + hash = (37 * hash) + DURATION_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getDuration()); + } + if (hasFont()) { + hash = (37 * hash) + FONT_FIELD_NUMBER; + hash = (53 * hash) + getFont().hashCode(); + } + if (hasSize()) { + hash = (37 * hash) + SIZE_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getSize()); + } + if (hasBBold()) { + hash = (37 * hash) + BBOLD_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getBBold()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPrettyOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugScreenTextPretty_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugScreenTextPretty_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + x_ = 0F; + bitField0_ = (bitField0_ & ~0x00000001); + y_ = 0F; + bitField0_ = (bitField0_ & ~0x00000002); + lineOffset_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + text_ = ""; + bitField0_ = (bitField0_ & ~0x00000008); + r_ = 0; + bitField0_ = (bitField0_ & ~0x00000010); + g_ = 0; + bitField0_ = (bitField0_ & ~0x00000020); + b_ = 0; + bitField0_ = (bitField0_ & ~0x00000040); + a_ = 0; + bitField0_ = (bitField0_ & ~0x00000080); + duration_ = 0F; + bitField0_ = (bitField0_ & ~0x00000100); + font_ = ""; + bitField0_ = (bitField0_ & ~0x00000200); + size_ = 0F; + bitField0_ = (bitField0_ & ~0x00000400); + bBold_ = false; + bitField0_ = (bitField0_ & ~0x00000800); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugScreenTextPretty_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.x_ = x_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.y_ = y_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.lineOffset_ = lineOffset_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + to_bitField0_ |= 0x00000008; + } + result.text_ = text_; + if (((from_bitField0_ & 0x00000010) != 0)) { + result.r_ = r_; + to_bitField0_ |= 0x00000010; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.g_ = g_; + to_bitField0_ |= 0x00000020; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.b_ = b_; + to_bitField0_ |= 0x00000040; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.a_ = a_; + to_bitField0_ |= 0x00000080; + } + if (((from_bitField0_ & 0x00000100) != 0)) { + result.duration_ = duration_; + to_bitField0_ |= 0x00000100; + } + if (((from_bitField0_ & 0x00000200) != 0)) { + to_bitField0_ |= 0x00000200; + } + result.font_ = font_; + if (((from_bitField0_ & 0x00000400) != 0)) { + result.size_ = size_; + to_bitField0_ |= 0x00000400; + } + if (((from_bitField0_ & 0x00000800) != 0)) { + result.bBold_ = bBold_; + to_bitField0_ |= 0x00000800; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.getDefaultInstance()) return this; + if (other.hasX()) { + setX(other.getX()); + } + if (other.hasY()) { + setY(other.getY()); + } + if (other.hasLineOffset()) { + setLineOffset(other.getLineOffset()); + } + if (other.hasText()) { + bitField0_ |= 0x00000008; + text_ = other.text_; + onChanged(); + } + if (other.hasR()) { + setR(other.getR()); + } + if (other.hasG()) { + setG(other.getG()); + } + if (other.hasB()) { + setB(other.getB()); + } + if (other.hasA()) { + setA(other.getA()); + } + if (other.hasDuration()) { + setDuration(other.getDuration()); + } + if (other.hasFont()) { + bitField0_ |= 0x00000200; + font_ = other.font_; + onChanged(); + } + if (other.hasSize()) { + setSize(other.getSize()); + } + if (other.hasBBold()) { + setBBold(other.getBBold()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasX()) { + return false; + } + if (!hasY()) { + return false; + } + if (!hasLineOffset()) { + return false; + } + if (!hasText()) { + return false; + } + if (!hasR()) { + return false; + } + if (!hasG()) { + return false; + } + if (!hasB()) { + return false; + } + if (!hasA()) { + return false; + } + if (!hasDuration()) { + return false; + } + if (!hasFont()) { + return false; + } + if (!hasSize()) { + return false; + } + if (!hasBBold()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private float x_ ; + /** + * <code>required float x = 1;</code> + */ + public boolean hasX() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required float x = 1;</code> + */ + public float getX() { + return x_; + } + /** + * <code>required float x = 1;</code> + */ + public Builder setX(float value) { + bitField0_ |= 0x00000001; + x_ = value; + onChanged(); + return this; + } + /** + * <code>required float x = 1;</code> + */ + public Builder clearX() { + bitField0_ = (bitField0_ & ~0x00000001); + x_ = 0F; + onChanged(); + return this; + } + + private float y_ ; + /** + * <code>required float y = 2;</code> + */ + public boolean hasY() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required float y = 2;</code> + */ + public float getY() { + return y_; + } + /** + * <code>required float y = 2;</code> + */ + public Builder setY(float value) { + bitField0_ |= 0x00000002; + y_ = value; + onChanged(); + return this; + } + /** + * <code>required float y = 2;</code> + */ + public Builder clearY() { + bitField0_ = (bitField0_ & ~0x00000002); + y_ = 0F; + onChanged(); + return this; + } + + private int lineOffset_ ; + /** + * <code>required int32 lineOffset = 3;</code> + */ + public boolean hasLineOffset() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required int32 lineOffset = 3;</code> + */ + public int getLineOffset() { + return lineOffset_; + } + /** + * <code>required int32 lineOffset = 3;</code> + */ + public Builder setLineOffset(int value) { + bitField0_ |= 0x00000004; + lineOffset_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 lineOffset = 3;</code> + */ + public Builder clearLineOffset() { + bitField0_ = (bitField0_ & ~0x00000004); + lineOffset_ = 0; + onChanged(); + return this; + } + + private java.lang.Object text_ = ""; + /** + * <code>required string text = 4;</code> + */ + public boolean hasText() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>required string text = 4;</code> + */ + public java.lang.String getText() { + java.lang.Object ref = text_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + text_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>required string text = 4;</code> + */ + public com.google.protobuf.ByteString + getTextBytes() { + java.lang.Object ref = text_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + text_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>required string text = 4;</code> + */ + public Builder setText( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + text_ = value; + onChanged(); + return this; + } + /** + * <code>required string text = 4;</code> + */ + public Builder clearText() { + bitField0_ = (bitField0_ & ~0x00000008); + text_ = getDefaultInstance().getText(); + onChanged(); + return this; + } + /** + * <code>required string text = 4;</code> + */ + public Builder setTextBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + text_ = value; + onChanged(); + return this; + } + + private int r_ ; + /** + * <code>required int32 r = 5;</code> + */ + public boolean hasR() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>required int32 r = 5;</code> + */ + public int getR() { + return r_; + } + /** + * <code>required int32 r = 5;</code> + */ + public Builder setR(int value) { + bitField0_ |= 0x00000010; + r_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 r = 5;</code> + */ + public Builder clearR() { + bitField0_ = (bitField0_ & ~0x00000010); + r_ = 0; + onChanged(); + return this; + } + + private int g_ ; + /** + * <code>required int32 g = 6;</code> + */ + public boolean hasG() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>required int32 g = 6;</code> + */ + public int getG() { + return g_; + } + /** + * <code>required int32 g = 6;</code> + */ + public Builder setG(int value) { + bitField0_ |= 0x00000020; + g_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 g = 6;</code> + */ + public Builder clearG() { + bitField0_ = (bitField0_ & ~0x00000020); + g_ = 0; + onChanged(); + return this; + } + + private int b_ ; + /** + * <code>required int32 b = 7;</code> + */ + public boolean hasB() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>required int32 b = 7;</code> + */ + public int getB() { + return b_; + } + /** + * <code>required int32 b = 7;</code> + */ + public Builder setB(int value) { + bitField0_ |= 0x00000040; + b_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 b = 7;</code> + */ + public Builder clearB() { + bitField0_ = (bitField0_ & ~0x00000040); + b_ = 0; + onChanged(); + return this; + } + + private int a_ ; + /** + * <code>required int32 a = 8;</code> + */ + public boolean hasA() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>required int32 a = 8;</code> + */ + public int getA() { + return a_; + } + /** + * <code>required int32 a = 8;</code> + */ + public Builder setA(int value) { + bitField0_ |= 0x00000080; + a_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 a = 8;</code> + */ + public Builder clearA() { + bitField0_ = (bitField0_ & ~0x00000080); + a_ = 0; + onChanged(); + return this; + } + + private float duration_ ; + /** + * <code>required float duration = 9;</code> + */ + public boolean hasDuration() { + return ((bitField0_ & 0x00000100) != 0); + } + /** + * <code>required float duration = 9;</code> + */ + public float getDuration() { + return duration_; + } + /** + * <code>required float duration = 9;</code> + */ + public Builder setDuration(float value) { + bitField0_ |= 0x00000100; + duration_ = value; + onChanged(); + return this; + } + /** + * <code>required float duration = 9;</code> + */ + public Builder clearDuration() { + bitField0_ = (bitField0_ & ~0x00000100); + duration_ = 0F; + onChanged(); + return this; + } + + private java.lang.Object font_ = ""; + /** + * <code>required string font = 10;</code> + */ + public boolean hasFont() { + return ((bitField0_ & 0x00000200) != 0); + } + /** + * <code>required string font = 10;</code> + */ + public java.lang.String getFont() { + java.lang.Object ref = font_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + font_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>required string font = 10;</code> + */ + public com.google.protobuf.ByteString + getFontBytes() { + java.lang.Object ref = font_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + font_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>required string font = 10;</code> + */ + public Builder setFont( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000200; + font_ = value; + onChanged(); + return this; + } + /** + * <code>required string font = 10;</code> + */ + public Builder clearFont() { + bitField0_ = (bitField0_ & ~0x00000200); + font_ = getDefaultInstance().getFont(); + onChanged(); + return this; + } + /** + * <code>required string font = 10;</code> + */ + public Builder setFontBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000200; + font_ = value; + onChanged(); + return this; + } + + private float size_ ; + /** + * <code>required float size = 11;</code> + */ + public boolean hasSize() { + return ((bitField0_ & 0x00000400) != 0); + } + /** + * <code>required float size = 11;</code> + */ + public float getSize() { + return size_; + } + /** + * <code>required float size = 11;</code> + */ + public Builder setSize(float value) { + bitField0_ |= 0x00000400; + size_ = value; + onChanged(); + return this; + } + /** + * <code>required float size = 11;</code> + */ + public Builder clearSize() { + bitField0_ = (bitField0_ & ~0x00000400); + size_ = 0F; + onChanged(); + return this; + } + + private boolean bBold_ ; + /** + * <code>required bool bBold = 12;</code> + */ + public boolean hasBBold() { + return ((bitField0_ & 0x00000800) != 0); + } + /** + * <code>required bool bBold = 12;</code> + */ + public boolean getBBold() { + return bBold_; + } + /** + * <code>required bool bBold = 12;</code> + */ + public Builder setBBold(boolean value) { + bitField0_ |= 0x00000800; + bBold_ = value; + onChanged(); + return this; + } + /** + * <code>required bool bBold = 12;</code> + */ + public Builder clearBBold() { + bitField0_ = (bitField0_ & ~0x00000800); + bBold_ = false; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<ScriptingDebugScreenTextPretty> + PARSER = new com.google.protobuf.AbstractParser<ScriptingDebugScreenTextPretty>() { + @java.lang.Override + public ScriptingDebugScreenTextPretty parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ScriptingDebugScreenTextPretty(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<ScriptingDebugScreenTextPretty> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<ScriptingDebugScreenTextPretty> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ScriptingDebugDrawBoxOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.ScriptingDebugDrawBox) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + boolean hasOrigin(); + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getOrigin(); + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getOriginOrBuilder(); + + /** + * <code>required .CMsgBotWorldState.Vector minimum = 2;</code> + */ + boolean hasMinimum(); + /** + * <code>required .CMsgBotWorldState.Vector minimum = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getMinimum(); + /** + * <code>required .CMsgBotWorldState.Vector minimum = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getMinimumOrBuilder(); + + /** + * <code>required .CMsgBotWorldState.Vector maximum = 3;</code> + */ + boolean hasMaximum(); + /** + * <code>required .CMsgBotWorldState.Vector maximum = 3;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getMaximum(); + /** + * <code>required .CMsgBotWorldState.Vector maximum = 3;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getMaximumOrBuilder(); + + /** + * <code>required int32 r = 4;</code> + */ + boolean hasR(); + /** + * <code>required int32 r = 4;</code> + */ + int getR(); + + /** + * <code>required int32 g = 5;</code> + */ + boolean hasG(); + /** + * <code>required int32 g = 5;</code> + */ + int getG(); + + /** + * <code>required int32 b = 6;</code> + */ + boolean hasB(); + /** + * <code>required int32 b = 6;</code> + */ + int getB(); + + /** + * <code>required int32 a = 7;</code> + */ + boolean hasA(); + /** + * <code>required int32 a = 7;</code> + */ + int getA(); + + /** + * <code>required float duration = 8;</code> + */ + boolean hasDuration(); + /** + * <code>required float duration = 8;</code> + */ + float getDuration(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.ScriptingDebugDrawBox} + */ + public static final class ScriptingDebugDrawBox extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.ScriptingDebugDrawBox) + ScriptingDebugDrawBoxOrBuilder { + private static final long serialVersionUID = 0L; + // Use ScriptingDebugDrawBox.newBuilder() to construct. + private ScriptingDebugDrawBox(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private ScriptingDebugDrawBox() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ScriptingDebugDrawBox( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000001) != 0)) { + subBuilder = origin_.toBuilder(); + } + origin_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(origin_); + origin_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000001; + break; + } + case 18: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000002) != 0)) { + subBuilder = minimum_.toBuilder(); + } + minimum_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(minimum_); + minimum_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000002; + break; + } + case 26: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000004) != 0)) { + subBuilder = maximum_.toBuilder(); + } + maximum_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(maximum_); + maximum_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000004; + break; + } + case 32: { + bitField0_ |= 0x00000008; + r_ = input.readInt32(); + break; + } + case 40: { + bitField0_ |= 0x00000010; + g_ = input.readInt32(); + break; + } + case 48: { + bitField0_ |= 0x00000020; + b_ = input.readInt32(); + break; + } + case 56: { + bitField0_ |= 0x00000040; + a_ = input.readInt32(); + break; + } + case 69: { + bitField0_ |= 0x00000080; + duration_ = input.readFloat(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawBox_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawBox_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.Builder.class); + } + + private int bitField0_; + public static final int ORIGIN_FIELD_NUMBER = 1; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector origin_; + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public boolean hasOrigin() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getOrigin() { + return origin_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : origin_; + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getOriginOrBuilder() { + return origin_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : origin_; + } + + public static final int MINIMUM_FIELD_NUMBER = 2; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector minimum_; + /** + * <code>required .CMsgBotWorldState.Vector minimum = 2;</code> + */ + public boolean hasMinimum() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector minimum = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getMinimum() { + return minimum_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : minimum_; + } + /** + * <code>required .CMsgBotWorldState.Vector minimum = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getMinimumOrBuilder() { + return minimum_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : minimum_; + } + + public static final int MAXIMUM_FIELD_NUMBER = 3; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector maximum_; + /** + * <code>required .CMsgBotWorldState.Vector maximum = 3;</code> + */ + public boolean hasMaximum() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector maximum = 3;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getMaximum() { + return maximum_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : maximum_; + } + /** + * <code>required .CMsgBotWorldState.Vector maximum = 3;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getMaximumOrBuilder() { + return maximum_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : maximum_; + } + + public static final int R_FIELD_NUMBER = 4; + private int r_; + /** + * <code>required int32 r = 4;</code> + */ + public boolean hasR() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>required int32 r = 4;</code> + */ + public int getR() { + return r_; + } + + public static final int G_FIELD_NUMBER = 5; + private int g_; + /** + * <code>required int32 g = 5;</code> + */ + public boolean hasG() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>required int32 g = 5;</code> + */ + public int getG() { + return g_; + } + + public static final int B_FIELD_NUMBER = 6; + private int b_; + /** + * <code>required int32 b = 6;</code> + */ + public boolean hasB() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>required int32 b = 6;</code> + */ + public int getB() { + return b_; + } + + public static final int A_FIELD_NUMBER = 7; + private int a_; + /** + * <code>required int32 a = 7;</code> + */ + public boolean hasA() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>required int32 a = 7;</code> + */ + public int getA() { + return a_; + } + + public static final int DURATION_FIELD_NUMBER = 8; + private float duration_; + /** + * <code>required float duration = 8;</code> + */ + public boolean hasDuration() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>required float duration = 8;</code> + */ + public float getDuration() { + return duration_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasOrigin()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasMinimum()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasMaximum()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasR()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasG()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasB()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasA()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasDuration()) { + memoizedIsInitialized = 0; + return false; + } + if (!getOrigin().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + if (!getMinimum().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + if (!getMaximum().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getOrigin()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getMinimum()); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeMessage(3, getMaximum()); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeInt32(4, r_); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeInt32(5, g_); + } + if (((bitField0_ & 0x00000020) != 0)) { + output.writeInt32(6, b_); + } + if (((bitField0_ & 0x00000040) != 0)) { + output.writeInt32(7, a_); + } + if (((bitField0_ & 0x00000080) != 0)) { + output.writeFloat(8, duration_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getOrigin()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getMinimum()); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getMaximum()); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(4, r_); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(5, g_); + } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(6, b_); + } + if (((bitField0_ & 0x00000040) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(7, a_); + } + if (((bitField0_ & 0x00000080) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(8, duration_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox) obj; + + if (hasOrigin() != other.hasOrigin()) return false; + if (hasOrigin()) { + if (!getOrigin() + .equals(other.getOrigin())) return false; + } + if (hasMinimum() != other.hasMinimum()) return false; + if (hasMinimum()) { + if (!getMinimum() + .equals(other.getMinimum())) return false; + } + if (hasMaximum() != other.hasMaximum()) return false; + if (hasMaximum()) { + if (!getMaximum() + .equals(other.getMaximum())) return false; + } + if (hasR() != other.hasR()) return false; + if (hasR()) { + if (getR() + != other.getR()) return false; + } + if (hasG() != other.hasG()) return false; + if (hasG()) { + if (getG() + != other.getG()) return false; + } + if (hasB() != other.hasB()) return false; + if (hasB()) { + if (getB() + != other.getB()) return false; + } + if (hasA() != other.hasA()) return false; + if (hasA()) { + if (getA() + != other.getA()) return false; + } + if (hasDuration() != other.hasDuration()) return false; + if (hasDuration()) { + if (java.lang.Float.floatToIntBits(getDuration()) + != java.lang.Float.floatToIntBits( + other.getDuration())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasOrigin()) { + hash = (37 * hash) + ORIGIN_FIELD_NUMBER; + hash = (53 * hash) + getOrigin().hashCode(); + } + if (hasMinimum()) { + hash = (37 * hash) + MINIMUM_FIELD_NUMBER; + hash = (53 * hash) + getMinimum().hashCode(); + } + if (hasMaximum()) { + hash = (37 * hash) + MAXIMUM_FIELD_NUMBER; + hash = (53 * hash) + getMaximum().hashCode(); + } + if (hasR()) { + hash = (37 * hash) + R_FIELD_NUMBER; + hash = (53 * hash) + getR(); + } + if (hasG()) { + hash = (37 * hash) + G_FIELD_NUMBER; + hash = (53 * hash) + getG(); + } + if (hasB()) { + hash = (37 * hash) + B_FIELD_NUMBER; + hash = (53 * hash) + getB(); + } + if (hasA()) { + hash = (37 * hash) + A_FIELD_NUMBER; + hash = (53 * hash) + getA(); + } + if (hasDuration()) { + hash = (37 * hash) + DURATION_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getDuration()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.ScriptingDebugDrawBox} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.ScriptingDebugDrawBox) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBoxOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawBox_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawBox_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getOriginFieldBuilder(); + getMinimumFieldBuilder(); + getMaximumFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (originBuilder_ == null) { + origin_ = null; + } else { + originBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + if (minimumBuilder_ == null) { + minimum_ = null; + } else { + minimumBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + if (maximumBuilder_ == null) { + maximum_ = null; + } else { + maximumBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + r_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + g_ = 0; + bitField0_ = (bitField0_ & ~0x00000010); + b_ = 0; + bitField0_ = (bitField0_ & ~0x00000020); + a_ = 0; + bitField0_ = (bitField0_ & ~0x00000040); + duration_ = 0F; + bitField0_ = (bitField0_ & ~0x00000080); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawBox_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + if (originBuilder_ == null) { + result.origin_ = origin_; + } else { + result.origin_ = originBuilder_.build(); + } + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + if (minimumBuilder_ == null) { + result.minimum_ = minimum_; + } else { + result.minimum_ = minimumBuilder_.build(); + } + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + if (maximumBuilder_ == null) { + result.maximum_ = maximum_; + } else { + result.maximum_ = maximumBuilder_.build(); + } + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.r_ = r_; + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.g_ = g_; + to_bitField0_ |= 0x00000010; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.b_ = b_; + to_bitField0_ |= 0x00000020; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.a_ = a_; + to_bitField0_ |= 0x00000040; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.duration_ = duration_; + to_bitField0_ |= 0x00000080; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.getDefaultInstance()) return this; + if (other.hasOrigin()) { + mergeOrigin(other.getOrigin()); + } + if (other.hasMinimum()) { + mergeMinimum(other.getMinimum()); + } + if (other.hasMaximum()) { + mergeMaximum(other.getMaximum()); + } + if (other.hasR()) { + setR(other.getR()); + } + if (other.hasG()) { + setG(other.getG()); + } + if (other.hasB()) { + setB(other.getB()); + } + if (other.hasA()) { + setA(other.getA()); + } + if (other.hasDuration()) { + setDuration(other.getDuration()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasOrigin()) { + return false; + } + if (!hasMinimum()) { + return false; + } + if (!hasMaximum()) { + return false; + } + if (!hasR()) { + return false; + } + if (!hasG()) { + return false; + } + if (!hasB()) { + return false; + } + if (!hasA()) { + return false; + } + if (!hasDuration()) { + return false; + } + if (!getOrigin().isInitialized()) { + return false; + } + if (!getMinimum().isInitialized()) { + return false; + } + if (!getMaximum().isInitialized()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector origin_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> originBuilder_; + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public boolean hasOrigin() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getOrigin() { + if (originBuilder_ == null) { + return origin_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : origin_; + } else { + return originBuilder_.getMessage(); + } + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public Builder setOrigin(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (originBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + origin_ = value; + onChanged(); + } else { + originBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public Builder setOrigin( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (originBuilder_ == null) { + origin_ = builderForValue.build(); + onChanged(); + } else { + originBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public Builder mergeOrigin(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (originBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) && + origin_ != null && + origin_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + origin_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(origin_).mergeFrom(value).buildPartial(); + } else { + origin_ = value; + } + onChanged(); + } else { + originBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public Builder clearOrigin() { + if (originBuilder_ == null) { + origin_ = null; + onChanged(); + } else { + originBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getOriginBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return getOriginFieldBuilder().getBuilder(); + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getOriginOrBuilder() { + if (originBuilder_ != null) { + return originBuilder_.getMessageOrBuilder(); + } else { + return origin_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : origin_; + } + } + /** + * <code>required .CMsgBotWorldState.Vector origin = 1;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getOriginFieldBuilder() { + if (originBuilder_ == null) { + originBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getOrigin(), + getParentForChildren(), + isClean()); + origin_ = null; + } + return originBuilder_; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector minimum_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> minimumBuilder_; + /** + * <code>required .CMsgBotWorldState.Vector minimum = 2;</code> + */ + public boolean hasMinimum() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector minimum = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getMinimum() { + if (minimumBuilder_ == null) { + return minimum_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : minimum_; + } else { + return minimumBuilder_.getMessage(); + } + } + /** + * <code>required .CMsgBotWorldState.Vector minimum = 2;</code> + */ + public Builder setMinimum(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (minimumBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + minimum_ = value; + onChanged(); + } else { + minimumBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector minimum = 2;</code> + */ + public Builder setMinimum( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (minimumBuilder_ == null) { + minimum_ = builderForValue.build(); + onChanged(); + } else { + minimumBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector minimum = 2;</code> + */ + public Builder mergeMinimum(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (minimumBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && + minimum_ != null && + minimum_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + minimum_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(minimum_).mergeFrom(value).buildPartial(); + } else { + minimum_ = value; + } + onChanged(); + } else { + minimumBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector minimum = 2;</code> + */ + public Builder clearMinimum() { + if (minimumBuilder_ == null) { + minimum_ = null; + onChanged(); + } else { + minimumBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector minimum = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getMinimumBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return getMinimumFieldBuilder().getBuilder(); + } + /** + * <code>required .CMsgBotWorldState.Vector minimum = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getMinimumOrBuilder() { + if (minimumBuilder_ != null) { + return minimumBuilder_.getMessageOrBuilder(); + } else { + return minimum_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : minimum_; + } + } + /** + * <code>required .CMsgBotWorldState.Vector minimum = 2;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getMinimumFieldBuilder() { + if (minimumBuilder_ == null) { + minimumBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getMinimum(), + getParentForChildren(), + isClean()); + minimum_ = null; + } + return minimumBuilder_; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector maximum_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> maximumBuilder_; + /** + * <code>required .CMsgBotWorldState.Vector maximum = 3;</code> + */ + public boolean hasMaximum() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector maximum = 3;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getMaximum() { + if (maximumBuilder_ == null) { + return maximum_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : maximum_; + } else { + return maximumBuilder_.getMessage(); + } + } + /** + * <code>required .CMsgBotWorldState.Vector maximum = 3;</code> + */ + public Builder setMaximum(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (maximumBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + maximum_ = value; + onChanged(); + } else { + maximumBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector maximum = 3;</code> + */ + public Builder setMaximum( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (maximumBuilder_ == null) { + maximum_ = builderForValue.build(); + onChanged(); + } else { + maximumBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector maximum = 3;</code> + */ + public Builder mergeMaximum(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (maximumBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) && + maximum_ != null && + maximum_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + maximum_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(maximum_).mergeFrom(value).buildPartial(); + } else { + maximum_ = value; + } + onChanged(); + } else { + maximumBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector maximum = 3;</code> + */ + public Builder clearMaximum() { + if (maximumBuilder_ == null) { + maximum_ = null; + onChanged(); + } else { + maximumBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector maximum = 3;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getMaximumBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return getMaximumFieldBuilder().getBuilder(); + } + /** + * <code>required .CMsgBotWorldState.Vector maximum = 3;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getMaximumOrBuilder() { + if (maximumBuilder_ != null) { + return maximumBuilder_.getMessageOrBuilder(); + } else { + return maximum_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : maximum_; + } + } + /** + * <code>required .CMsgBotWorldState.Vector maximum = 3;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getMaximumFieldBuilder() { + if (maximumBuilder_ == null) { + maximumBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getMaximum(), + getParentForChildren(), + isClean()); + maximum_ = null; + } + return maximumBuilder_; + } + + private int r_ ; + /** + * <code>required int32 r = 4;</code> + */ + public boolean hasR() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>required int32 r = 4;</code> + */ + public int getR() { + return r_; + } + /** + * <code>required int32 r = 4;</code> + */ + public Builder setR(int value) { + bitField0_ |= 0x00000008; + r_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 r = 4;</code> + */ + public Builder clearR() { + bitField0_ = (bitField0_ & ~0x00000008); + r_ = 0; + onChanged(); + return this; + } + + private int g_ ; + /** + * <code>required int32 g = 5;</code> + */ + public boolean hasG() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>required int32 g = 5;</code> + */ + public int getG() { + return g_; + } + /** + * <code>required int32 g = 5;</code> + */ + public Builder setG(int value) { + bitField0_ |= 0x00000010; + g_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 g = 5;</code> + */ + public Builder clearG() { + bitField0_ = (bitField0_ & ~0x00000010); + g_ = 0; + onChanged(); + return this; + } + + private int b_ ; + /** + * <code>required int32 b = 6;</code> + */ + public boolean hasB() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>required int32 b = 6;</code> + */ + public int getB() { + return b_; + } + /** + * <code>required int32 b = 6;</code> + */ + public Builder setB(int value) { + bitField0_ |= 0x00000020; + b_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 b = 6;</code> + */ + public Builder clearB() { + bitField0_ = (bitField0_ & ~0x00000020); + b_ = 0; + onChanged(); + return this; + } + + private int a_ ; + /** + * <code>required int32 a = 7;</code> + */ + public boolean hasA() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>required int32 a = 7;</code> + */ + public int getA() { + return a_; + } + /** + * <code>required int32 a = 7;</code> + */ + public Builder setA(int value) { + bitField0_ |= 0x00000040; + a_ = value; + onChanged(); + return this; + } + /** + * <code>required int32 a = 7;</code> + */ + public Builder clearA() { + bitField0_ = (bitField0_ & ~0x00000040); + a_ = 0; + onChanged(); + return this; + } + + private float duration_ ; + /** + * <code>required float duration = 8;</code> + */ + public boolean hasDuration() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>required float duration = 8;</code> + */ + public float getDuration() { + return duration_; + } + /** + * <code>required float duration = 8;</code> + */ + public Builder setDuration(float value) { + bitField0_ |= 0x00000080; + duration_ = value; + onChanged(); + return this; + } + /** + * <code>required float duration = 8;</code> + */ + public Builder clearDuration() { + bitField0_ = (bitField0_ & ~0x00000080); + duration_ = 0F; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.ScriptingDebugDrawBox) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.ScriptingDebugDrawBox) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<ScriptingDebugDrawBox> + PARSER = new com.google.protobuf.AbstractParser<ScriptingDebugDrawBox>() { + @java.lang.Override + public ScriptingDebugDrawBox parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ScriptingDebugDrawBox(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<ScriptingDebugDrawBox> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<ScriptingDebugDrawBox> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ScriptingDebugDrawCircleOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.ScriptingDebugDrawCircle) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required .CMsgBotWorldState.Vector center = 1;</code> + */ + boolean hasCenter(); + /** + * <code>required .CMsgBotWorldState.Vector center = 1;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getCenter(); + /** + * <code>required .CMsgBotWorldState.Vector center = 1;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getCenterOrBuilder(); + + /** + * <code>required .CMsgBotWorldState.Vector vRgb = 2;</code> + */ + boolean hasVRgb(); + /** + * <code>required .CMsgBotWorldState.Vector vRgb = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getVRgb(); + /** + * <code>required .CMsgBotWorldState.Vector vRgb = 2;</code> + */ + CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getVRgbOrBuilder(); + + /** + * <code>required float a = 3;</code> + */ + boolean hasA(); + /** + * <code>required float a = 3;</code> + */ + float getA(); + + /** + * <code>required float rad = 4;</code> + */ + boolean hasRad(); + /** + * <code>required float rad = 4;</code> + */ + float getRad(); + + /** + * <code>required bool ztest = 5;</code> + */ + boolean hasZtest(); + /** + * <code>required bool ztest = 5;</code> + */ + boolean getZtest(); + + /** + * <code>required float duration = 6;</code> + */ + boolean hasDuration(); + /** + * <code>required float duration = 6;</code> + */ + float getDuration(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.ScriptingDebugDrawCircle} + */ + public static final class ScriptingDebugDrawCircle extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.ScriptingDebugDrawCircle) + ScriptingDebugDrawCircleOrBuilder { + private static final long serialVersionUID = 0L; + // Use ScriptingDebugDrawCircle.newBuilder() to construct. + private ScriptingDebugDrawCircle(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private ScriptingDebugDrawCircle() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ScriptingDebugDrawCircle( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000001) != 0)) { + subBuilder = center_.toBuilder(); + } + center_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(center_); + center_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000001; + break; + } + case 18: { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder subBuilder = null; + if (((bitField0_ & 0x00000002) != 0)) { + subBuilder = vRgb_.toBuilder(); + } + vRgb_ = input.readMessage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(vRgb_); + vRgb_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000002; + break; + } + case 29: { + bitField0_ |= 0x00000004; + a_ = input.readFloat(); + break; + } + case 37: { + bitField0_ |= 0x00000008; + rad_ = input.readFloat(); + break; + } + case 40: { + bitField0_ |= 0x00000010; + ztest_ = input.readBool(); + break; + } + case 53: { + bitField0_ |= 0x00000020; + duration_ = input.readFloat(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawCircle_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawCircle_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.Builder.class); + } + + private int bitField0_; + public static final int CENTER_FIELD_NUMBER = 1; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector center_; + /** + * <code>required .CMsgBotWorldState.Vector center = 1;</code> + */ + public boolean hasCenter() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector center = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getCenter() { + return center_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : center_; + } + /** + * <code>required .CMsgBotWorldState.Vector center = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getCenterOrBuilder() { + return center_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : center_; + } + + public static final int VRGB_FIELD_NUMBER = 2; + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector vRgb_; + /** + * <code>required .CMsgBotWorldState.Vector vRgb = 2;</code> + */ + public boolean hasVRgb() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector vRgb = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getVRgb() { + return vRgb_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : vRgb_; + } + /** + * <code>required .CMsgBotWorldState.Vector vRgb = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getVRgbOrBuilder() { + return vRgb_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : vRgb_; + } + + public static final int A_FIELD_NUMBER = 3; + private float a_; + /** + * <code>required float a = 3;</code> + */ + public boolean hasA() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required float a = 3;</code> + */ + public float getA() { + return a_; + } + + public static final int RAD_FIELD_NUMBER = 4; + private float rad_; + /** + * <code>required float rad = 4;</code> + */ + public boolean hasRad() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>required float rad = 4;</code> + */ + public float getRad() { + return rad_; + } + + public static final int ZTEST_FIELD_NUMBER = 5; + private boolean ztest_; + /** + * <code>required bool ztest = 5;</code> + */ + public boolean hasZtest() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>required bool ztest = 5;</code> + */ + public boolean getZtest() { + return ztest_; + } + + public static final int DURATION_FIELD_NUMBER = 6; + private float duration_; + /** + * <code>required float duration = 6;</code> + */ + public boolean hasDuration() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>required float duration = 6;</code> + */ + public float getDuration() { + return duration_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasCenter()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasVRgb()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasA()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasRad()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasZtest()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasDuration()) { + memoizedIsInitialized = 0; + return false; + } + if (!getCenter().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + if (!getVRgb().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getCenter()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getVRgb()); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeFloat(3, a_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeFloat(4, rad_); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeBool(5, ztest_); + } + if (((bitField0_ & 0x00000020) != 0)) { + output.writeFloat(6, duration_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getCenter()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getVRgb()); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(3, a_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(4, rad_); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(5, ztest_); + } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(6, duration_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle) obj; + + if (hasCenter() != other.hasCenter()) return false; + if (hasCenter()) { + if (!getCenter() + .equals(other.getCenter())) return false; + } + if (hasVRgb() != other.hasVRgb()) return false; + if (hasVRgb()) { + if (!getVRgb() + .equals(other.getVRgb())) return false; + } + if (hasA() != other.hasA()) return false; + if (hasA()) { + if (java.lang.Float.floatToIntBits(getA()) + != java.lang.Float.floatToIntBits( + other.getA())) return false; + } + if (hasRad() != other.hasRad()) return false; + if (hasRad()) { + if (java.lang.Float.floatToIntBits(getRad()) + != java.lang.Float.floatToIntBits( + other.getRad())) return false; + } + if (hasZtest() != other.hasZtest()) return false; + if (hasZtest()) { + if (getZtest() + != other.getZtest()) return false; + } + if (hasDuration() != other.hasDuration()) return false; + if (hasDuration()) { + if (java.lang.Float.floatToIntBits(getDuration()) + != java.lang.Float.floatToIntBits( + other.getDuration())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasCenter()) { + hash = (37 * hash) + CENTER_FIELD_NUMBER; + hash = (53 * hash) + getCenter().hashCode(); + } + if (hasVRgb()) { + hash = (37 * hash) + VRGB_FIELD_NUMBER; + hash = (53 * hash) + getVRgb().hashCode(); + } + if (hasA()) { + hash = (37 * hash) + A_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getA()); + } + if (hasRad()) { + hash = (37 * hash) + RAD_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getRad()); + } + if (hasZtest()) { + hash = (37 * hash) + ZTEST_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getZtest()); + } + if (hasDuration()) { + hash = (37 * hash) + DURATION_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getDuration()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.ScriptingDebugDrawCircle} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.ScriptingDebugDrawCircle) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircleOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawCircle_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawCircle_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getCenterFieldBuilder(); + getVRgbFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (centerBuilder_ == null) { + center_ = null; + } else { + centerBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + if (vRgbBuilder_ == null) { + vRgb_ = null; + } else { + vRgbBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + a_ = 0F; + bitField0_ = (bitField0_ & ~0x00000004); + rad_ = 0F; + bitField0_ = (bitField0_ & ~0x00000008); + ztest_ = false; + bitField0_ = (bitField0_ & ~0x00000010); + duration_ = 0F; + bitField0_ = (bitField0_ & ~0x00000020); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawCircle_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + if (centerBuilder_ == null) { + result.center_ = center_; + } else { + result.center_ = centerBuilder_.build(); + } + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + if (vRgbBuilder_ == null) { + result.vRgb_ = vRgb_; + } else { + result.vRgb_ = vRgbBuilder_.build(); + } + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.a_ = a_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.rad_ = rad_; + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.ztest_ = ztest_; + to_bitField0_ |= 0x00000010; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.duration_ = duration_; + to_bitField0_ |= 0x00000020; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.getDefaultInstance()) return this; + if (other.hasCenter()) { + mergeCenter(other.getCenter()); + } + if (other.hasVRgb()) { + mergeVRgb(other.getVRgb()); + } + if (other.hasA()) { + setA(other.getA()); + } + if (other.hasRad()) { + setRad(other.getRad()); + } + if (other.hasZtest()) { + setZtest(other.getZtest()); + } + if (other.hasDuration()) { + setDuration(other.getDuration()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasCenter()) { + return false; + } + if (!hasVRgb()) { + return false; + } + if (!hasA()) { + return false; + } + if (!hasRad()) { + return false; + } + if (!hasZtest()) { + return false; + } + if (!hasDuration()) { + return false; + } + if (!getCenter().isInitialized()) { + return false; + } + if (!getVRgb().isInitialized()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector center_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> centerBuilder_; + /** + * <code>required .CMsgBotWorldState.Vector center = 1;</code> + */ + public boolean hasCenter() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector center = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getCenter() { + if (centerBuilder_ == null) { + return center_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : center_; + } else { + return centerBuilder_.getMessage(); + } + } + /** + * <code>required .CMsgBotWorldState.Vector center = 1;</code> + */ + public Builder setCenter(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (centerBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + center_ = value; + onChanged(); + } else { + centerBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector center = 1;</code> + */ + public Builder setCenter( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (centerBuilder_ == null) { + center_ = builderForValue.build(); + onChanged(); + } else { + centerBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector center = 1;</code> + */ + public Builder mergeCenter(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (centerBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) && + center_ != null && + center_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + center_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(center_).mergeFrom(value).buildPartial(); + } else { + center_ = value; + } + onChanged(); + } else { + centerBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector center = 1;</code> + */ + public Builder clearCenter() { + if (centerBuilder_ == null) { + center_ = null; + onChanged(); + } else { + centerBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector center = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getCenterBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return getCenterFieldBuilder().getBuilder(); + } + /** + * <code>required .CMsgBotWorldState.Vector center = 1;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getCenterOrBuilder() { + if (centerBuilder_ != null) { + return centerBuilder_.getMessageOrBuilder(); + } else { + return center_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : center_; + } + } + /** + * <code>required .CMsgBotWorldState.Vector center = 1;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getCenterFieldBuilder() { + if (centerBuilder_ == null) { + centerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getCenter(), + getParentForChildren(), + isClean()); + center_ = null; + } + return centerBuilder_; + } + + private CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector vRgb_; + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> vRgbBuilder_; + /** + * <code>required .CMsgBotWorldState.Vector vRgb = 2;</code> + */ + public boolean hasVRgb() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>required .CMsgBotWorldState.Vector vRgb = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector getVRgb() { + if (vRgbBuilder_ == null) { + return vRgb_ == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : vRgb_; + } else { + return vRgbBuilder_.getMessage(); + } + } + /** + * <code>required .CMsgBotWorldState.Vector vRgb = 2;</code> + */ + public Builder setVRgb(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (vRgbBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + vRgb_ = value; + onChanged(); + } else { + vRgbBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector vRgb = 2;</code> + */ + public Builder setVRgb( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder builderForValue) { + if (vRgbBuilder_ == null) { + vRgb_ = builderForValue.build(); + onChanged(); + } else { + vRgbBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector vRgb = 2;</code> + */ + public Builder mergeVRgb(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector value) { + if (vRgbBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && + vRgb_ != null && + vRgb_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance()) { + vRgb_ = + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.newBuilder(vRgb_).mergeFrom(value).buildPartial(); + } else { + vRgb_ = value; + } + onChanged(); + } else { + vRgbBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector vRgb = 2;</code> + */ + public Builder clearVRgb() { + if (vRgbBuilder_ == null) { + vRgb_ = null; + onChanged(); + } else { + vRgbBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + /** + * <code>required .CMsgBotWorldState.Vector vRgb = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder getVRgbBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return getVRgbFieldBuilder().getBuilder(); + } + /** + * <code>required .CMsgBotWorldState.Vector vRgb = 2;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder getVRgbOrBuilder() { + if (vRgbBuilder_ != null) { + return vRgbBuilder_.getMessageOrBuilder(); + } else { + return vRgb_ == null ? + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.getDefaultInstance() : vRgb_; + } + } + /** + * <code>required .CMsgBotWorldState.Vector vRgb = 2;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder> + getVRgbFieldBuilder() { + if (vRgbBuilder_ == null) { + vRgbBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.VectorOrBuilder>( + getVRgb(), + getParentForChildren(), + isClean()); + vRgb_ = null; + } + return vRgbBuilder_; + } + + private float a_ ; + /** + * <code>required float a = 3;</code> + */ + public boolean hasA() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>required float a = 3;</code> + */ + public float getA() { + return a_; + } + /** + * <code>required float a = 3;</code> + */ + public Builder setA(float value) { + bitField0_ |= 0x00000004; + a_ = value; + onChanged(); + return this; + } + /** + * <code>required float a = 3;</code> + */ + public Builder clearA() { + bitField0_ = (bitField0_ & ~0x00000004); + a_ = 0F; + onChanged(); + return this; + } + + private float rad_ ; + /** + * <code>required float rad = 4;</code> + */ + public boolean hasRad() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>required float rad = 4;</code> + */ + public float getRad() { + return rad_; + } + /** + * <code>required float rad = 4;</code> + */ + public Builder setRad(float value) { + bitField0_ |= 0x00000008; + rad_ = value; + onChanged(); + return this; + } + /** + * <code>required float rad = 4;</code> + */ + public Builder clearRad() { + bitField0_ = (bitField0_ & ~0x00000008); + rad_ = 0F; + onChanged(); + return this; + } + + private boolean ztest_ ; + /** + * <code>required bool ztest = 5;</code> + */ + public boolean hasZtest() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>required bool ztest = 5;</code> + */ + public boolean getZtest() { + return ztest_; + } + /** + * <code>required bool ztest = 5;</code> + */ + public Builder setZtest(boolean value) { + bitField0_ |= 0x00000010; + ztest_ = value; + onChanged(); + return this; + } + /** + * <code>required bool ztest = 5;</code> + */ + public Builder clearZtest() { + bitField0_ = (bitField0_ & ~0x00000010); + ztest_ = false; + onChanged(); + return this; + } + + private float duration_ ; + /** + * <code>required float duration = 6;</code> + */ + public boolean hasDuration() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>required float duration = 6;</code> + */ + public float getDuration() { + return duration_; + } + /** + * <code>required float duration = 6;</code> + */ + public Builder setDuration(float value) { + bitField0_ |= 0x00000020; + duration_ = value; + onChanged(); + return this; + } + /** + * <code>required float duration = 6;</code> + */ + public Builder clearDuration() { + bitField0_ = (bitField0_ & ~0x00000020); + duration_ = 0F; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.ScriptingDebugDrawCircle) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.ScriptingDebugDrawCircle) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<ScriptingDebugDrawCircle> + PARSER = new com.google.protobuf.AbstractParser<ScriptingDebugDrawCircle>() { + @java.lang.Override + public ScriptingDebugDrawCircle parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ScriptingDebugDrawCircle(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<ScriptingDebugDrawCircle> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<ScriptingDebugDrawCircle> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ScriptingDebugDrawClearOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.ScriptingDebugDrawClear) + com.google.protobuf.MessageOrBuilder { + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.ScriptingDebugDrawClear} + */ + public static final class ScriptingDebugDrawClear extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.ScriptingDebugDrawClear) + ScriptingDebugDrawClearOrBuilder { + private static final long serialVersionUID = 0L; + // Use ScriptingDebugDrawClear.newBuilder() to construct. + private ScriptingDebugDrawClear(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private ScriptingDebugDrawClear() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ScriptingDebugDrawClear( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawClear_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawClear_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.Builder.class); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear) obj; + + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.ScriptingDebugDrawClear} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.ScriptingDebugDrawClear) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClearOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawClear_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawClear_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawClear_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear(this); + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.getDefaultInstance()) return this; + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.ScriptingDebugDrawClear) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.ScriptingDebugDrawClear) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<ScriptingDebugDrawClear> + PARSER = new com.google.protobuf.AbstractParser<ScriptingDebugDrawClear>() { + @java.lang.Override + public ScriptingDebugDrawClear parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ScriptingDebugDrawClear(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<ScriptingDebugDrawClear> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<ScriptingDebugDrawClear> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface OceanWinGameOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.OceanWinGame) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required string team = 1;</code> + */ + boolean hasTeam(); + /** + * <code>required string team = 1;</code> + */ + java.lang.String getTeam(); + /** + * <code>required string team = 1;</code> + */ + com.google.protobuf.ByteString + getTeamBytes(); + + /** + * <code>optional float reward = 2;</code> + */ + boolean hasReward(); + /** + * <code>optional float reward = 2;</code> + */ + float getReward(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.OceanWinGame} + */ + public static final class OceanWinGame extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.OceanWinGame) + OceanWinGameOrBuilder { + private static final long serialVersionUID = 0L; + // Use OceanWinGame.newBuilder() to construct. + private OceanWinGame(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private OceanWinGame() { + team_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private OceanWinGame( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + com.google.protobuf.ByteString bs = input.readBytes(); + bitField0_ |= 0x00000001; + team_ = bs; + break; + } + case 21: { + bitField0_ |= 0x00000002; + reward_ = input.readFloat(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_OceanWinGame_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_OceanWinGame_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.Builder.class); + } + + private int bitField0_; + public static final int TEAM_FIELD_NUMBER = 1; + private volatile java.lang.Object team_; + /** + * <code>required string team = 1;</code> + */ + public boolean hasTeam() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required string team = 1;</code> + */ + public java.lang.String getTeam() { + java.lang.Object ref = team_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + team_ = s; + } + return s; + } + } + /** + * <code>required string team = 1;</code> + */ + public com.google.protobuf.ByteString + getTeamBytes() { + java.lang.Object ref = team_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + team_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int REWARD_FIELD_NUMBER = 2; + private float reward_; + /** + * <code>optional float reward = 2;</code> + */ + public boolean hasReward() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional float reward = 2;</code> + */ + public float getReward() { + return reward_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasTeam()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, team_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeFloat(2, reward_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, team_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(2, reward_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame) obj; + + if (hasTeam() != other.hasTeam()) return false; + if (hasTeam()) { + if (!getTeam() + .equals(other.getTeam())) return false; + } + if (hasReward() != other.hasReward()) return false; + if (hasReward()) { + if (java.lang.Float.floatToIntBits(getReward()) + != java.lang.Float.floatToIntBits( + other.getReward())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasTeam()) { + hash = (37 * hash) + TEAM_FIELD_NUMBER; + hash = (53 * hash) + getTeam().hashCode(); + } + if (hasReward()) { + hash = (37 * hash) + REWARD_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getReward()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.OceanWinGame} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.OceanWinGame) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGameOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_OceanWinGame_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_OceanWinGame_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + team_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + reward_ = 0F; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_OceanWinGame_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + to_bitField0_ |= 0x00000001; + } + result.team_ = team_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.reward_ = reward_; + to_bitField0_ |= 0x00000002; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.getDefaultInstance()) return this; + if (other.hasTeam()) { + bitField0_ |= 0x00000001; + team_ = other.team_; + onChanged(); + } + if (other.hasReward()) { + setReward(other.getReward()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasTeam()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.lang.Object team_ = ""; + /** + * <code>required string team = 1;</code> + */ + public boolean hasTeam() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required string team = 1;</code> + */ + public java.lang.String getTeam() { + java.lang.Object ref = team_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + team_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <code>required string team = 1;</code> + */ + public com.google.protobuf.ByteString + getTeamBytes() { + java.lang.Object ref = team_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + team_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <code>required string team = 1;</code> + */ + public Builder setTeam( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + team_ = value; + onChanged(); + return this; + } + /** + * <code>required string team = 1;</code> + */ + public Builder clearTeam() { + bitField0_ = (bitField0_ & ~0x00000001); + team_ = getDefaultInstance().getTeam(); + onChanged(); + return this; + } + /** + * <code>required string team = 1;</code> + */ + public Builder setTeamBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + team_ = value; + onChanged(); + return this; + } + + private float reward_ ; + /** + * <code>optional float reward = 2;</code> + */ + public boolean hasReward() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional float reward = 2;</code> + */ + public float getReward() { + return reward_; + } + /** + * <code>optional float reward = 2;</code> + */ + public Builder setReward(float value) { + bitField0_ |= 0x00000002; + reward_ = value; + onChanged(); + return this; + } + /** + * <code>optional float reward = 2;</code> + */ + public Builder clearReward() { + bitField0_ = (bitField0_ & ~0x00000002); + reward_ = 0F; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.OceanWinGame) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.OceanWinGame) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<OceanWinGame> + PARSER = new com.google.protobuf.AbstractParser<OceanWinGame>() { + @java.lang.Override + public OceanWinGame parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new OceanWinGame(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<OceanWinGame> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<OceanWinGame> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface OceanReplayCorrectTimeOrBuilder extends + // @@protoc_insertion_point(interface_extends:CMsgBotWorldState.Action.OceanReplayCorrectTime) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>required float delta = 1;</code> + */ + boolean hasDelta(); + /** + * <code>required float delta = 1;</code> + */ + float getDelta(); + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.OceanReplayCorrectTime} + */ + public static final class OceanReplayCorrectTime extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:CMsgBotWorldState.Action.OceanReplayCorrectTime) + OceanReplayCorrectTimeOrBuilder { + private static final long serialVersionUID = 0L; + // Use OceanReplayCorrectTime.newBuilder() to construct. + private OceanReplayCorrectTime(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private OceanReplayCorrectTime() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private OceanReplayCorrectTime( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 13: { + bitField0_ |= 0x00000001; + delta_ = input.readFloat(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_OceanReplayCorrectTime_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_OceanReplayCorrectTime_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.Builder.class); + } + + private int bitField0_; + public static final int DELTA_FIELD_NUMBER = 1; + private float delta_; + /** + * <code>required float delta = 1;</code> + */ + public boolean hasDelta() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required float delta = 1;</code> + */ + public float getDelta() { + return delta_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasDelta()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeFloat(1, delta_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(1, delta_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime) obj; + + if (hasDelta() != other.hasDelta()) return false; + if (hasDelta()) { + if (java.lang.Float.floatToIntBits(getDelta()) + != java.lang.Float.floatToIntBits( + other.getDelta())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasDelta()) { + hash = (37 * hash) + DELTA_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getDelta()); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action.OceanReplayCorrectTime} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action.OceanReplayCorrectTime) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTimeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_OceanReplayCorrectTime_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_OceanReplayCorrectTime_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + delta_ = 0F; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_OceanReplayCorrectTime_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.delta_ = delta_; + to_bitField0_ |= 0x00000001; + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.getDefaultInstance()) return this; + if (other.hasDelta()) { + setDelta(other.getDelta()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasDelta()) { + return false; + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private float delta_ ; + /** + * <code>required float delta = 1;</code> + */ + public boolean hasDelta() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required float delta = 1;</code> + */ + public float getDelta() { + return delta_; + } + /** + * <code>required float delta = 1;</code> + */ + public Builder setDelta(float value) { + bitField0_ |= 0x00000001; + delta_ = value; + onChanged(); + return this; + } + /** + * <code>required float delta = 1;</code> + */ + public Builder clearDelta() { + bitField0_ = (bitField0_ & ~0x00000001); + delta_ = 0F; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action.OceanReplayCorrectTime) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.OceanReplayCorrectTime) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<OceanReplayCorrectTime> + PARSER = new com.google.protobuf.AbstractParser<OceanReplayCorrectTime>() { + @java.lang.Override + public OceanReplayCorrectTime parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new OceanReplayCorrectTime(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<OceanReplayCorrectTime> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<OceanReplayCorrectTime> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private int bitField0_; + private int bitField1_; + private int actionDataCase_ = 0; + private java.lang.Object actionData_; + public enum ActionDataCase + implements com.google.protobuf.Internal.EnumLite { + MOVETOLOCATION(101), + MOVETOTARGET(102), + ATTACKMOVE(103), + ATTACKTARGET(104), + CASTLOCATION(105), + CASTTARGET(106), + CASTTREE(107), + CAST(108), + CASTTOGGLE(109), + HOLDLOCATION(110), + TRAINABILITY(111), + DROPITEM(112), + PICKUPITEM(114), + PICKUPRUNE(115), + PURCHASEITEM(116), + SELLITEM(117), + DISASSEMBLEITEM(118), + SETCOMBINELOCKITEM(132), + STOP(121), + CHAT(140), + SWAPITEMS(141), + USESHRINE(142), + COURIER(143), + GETACTUALINCOMINGDAMAGE(144), + GETESTIMATEDDAMAGETOTARGET(145), + GLYPH(146), + SOFTRESET(148), + BUYBACK(149), + SCRIPTINGDEBUGDRAWTEXT(150), + SCRIPTINGDEBUGDRAWLINE(151), + SCRIPTINGDEBUGDRAWSCREENTEXT(152), + SCRIPTINGDEBUGDRAWBOX(153), + SCRIPTINGDEBUGDRAWCIRCLE(154), + SCRIPTINGDEBUGDRAWCLEAR(155), + SCRIPTINGDEBUGSCREENTEXTPRETTY(159), + MOVEDIRECTLY(156), + OCEANWINGAME(157), + OCEANREPLAYCORRECTTIME(158), + ACTIONDATA_NOT_SET(0); + private final int value; + private ActionDataCase(int value) { + this.value = value; + } + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ActionDataCase valueOf(int value) { + return forNumber(value); + } + + public static ActionDataCase forNumber(int value) { + switch (value) { + case 101: return MOVETOLOCATION; + case 102: return MOVETOTARGET; + case 103: return ATTACKMOVE; + case 104: return ATTACKTARGET; + case 105: return CASTLOCATION; + case 106: return CASTTARGET; + case 107: return CASTTREE; + case 108: return CAST; + case 109: return CASTTOGGLE; + case 110: return HOLDLOCATION; + case 111: return TRAINABILITY; + case 112: return DROPITEM; + case 114: return PICKUPITEM; + case 115: return PICKUPRUNE; + case 116: return PURCHASEITEM; + case 117: return SELLITEM; + case 118: return DISASSEMBLEITEM; + case 132: return SETCOMBINELOCKITEM; + case 121: return STOP; + case 140: return CHAT; + case 141: return SWAPITEMS; + case 142: return USESHRINE; + case 143: return COURIER; + case 144: return GETACTUALINCOMINGDAMAGE; + case 145: return GETESTIMATEDDAMAGETOTARGET; + case 146: return GLYPH; + case 148: return SOFTRESET; + case 149: return BUYBACK; + case 150: return SCRIPTINGDEBUGDRAWTEXT; + case 151: return SCRIPTINGDEBUGDRAWLINE; + case 152: return SCRIPTINGDEBUGDRAWSCREENTEXT; + case 153: return SCRIPTINGDEBUGDRAWBOX; + case 154: return SCRIPTINGDEBUGDRAWCIRCLE; + case 155: return SCRIPTINGDEBUGDRAWCLEAR; + case 159: return SCRIPTINGDEBUGSCREENTEXTPRETTY; + case 156: return MOVEDIRECTLY; + case 157: return OCEANWINGAME; + case 158: return OCEANREPLAYCORRECTTIME; + case 0: return ACTIONDATA_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public ActionDataCase + getActionDataCase() { + return ActionDataCase.forNumber( + actionDataCase_); + } + + public static final int ACTIONTYPE_FIELD_NUMBER = 1; + private int actionType_; + /** + * <code>required .CMsgBotWorldState.Action.Type actionType = 1 [default = DOTA_UNIT_ORDER_NONE];</code> + */ + public boolean hasActionType() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required .CMsgBotWorldState.Action.Type actionType = 1 [default = DOTA_UNIT_ORDER_NONE];</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Type getActionType() { + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Type result = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Type.valueOf(actionType_); + return result == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Type.DOTA_UNIT_ORDER_NONE : result; + } + + public static final int PLAYER_FIELD_NUMBER = 2; + private int player_; + /** + * <code>optional int32 player = 2 [default = -1];</code> + */ + public boolean hasPlayer() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional int32 player = 2 [default = -1];</code> + */ + public int getPlayer() { + return player_; + } + + public static final int ACTIONID_FIELD_NUMBER = 4; + private int actionID_; + /** + * <code>optional int32 actionID = 4 [default = -1];</code> + */ + public boolean hasActionID() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional int32 actionID = 4 [default = -1];</code> + */ + public int getActionID() { + return actionID_; + } + + public static final int ACTIONDELAY_FIELD_NUMBER = 10; + private int actionDelay_; + /** + * <code>optional int32 actionDelay = 10 [default = 0];</code> + */ + public boolean hasActionDelay() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional int32 actionDelay = 10 [default = 0];</code> + */ + public int getActionDelay() { + return actionDelay_; + } + + public static final int MOVETOLOCATION_FIELD_NUMBER = 101; + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveToLocation = 101;</code> + */ + public boolean hasMoveToLocation() { + return actionDataCase_ == 101; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveToLocation = 101;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation getMoveToLocation() { + if (actionDataCase_ == 101) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveToLocation = 101;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocationOrBuilder getMoveToLocationOrBuilder() { + if (actionDataCase_ == 101) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.getDefaultInstance(); + } + + public static final int MOVETOTARGET_FIELD_NUMBER = 102; + /** + * <code>optional .CMsgBotWorldState.Action.MoveToTarget moveToTarget = 102;</code> + */ + public boolean hasMoveToTarget() { + return actionDataCase_ == 102; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToTarget moveToTarget = 102;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget getMoveToTarget() { + if (actionDataCase_ == 102) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToTarget moveToTarget = 102;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTargetOrBuilder getMoveToTargetOrBuilder() { + if (actionDataCase_ == 102) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.getDefaultInstance(); + } + + public static final int ATTACKMOVE_FIELD_NUMBER = 103; + /** + * <code>optional .CMsgBotWorldState.Action.AttackMove attackMove = 103;</code> + */ + public boolean hasAttackMove() { + return actionDataCase_ == 103; + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackMove attackMove = 103;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove getAttackMove() { + if (actionDataCase_ == 103) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackMove attackMove = 103;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMoveOrBuilder getAttackMoveOrBuilder() { + if (actionDataCase_ == 103) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.getDefaultInstance(); + } + + public static final int ATTACKTARGET_FIELD_NUMBER = 104; + /** + * <code>optional .CMsgBotWorldState.Action.AttackTarget attackTarget = 104;</code> + */ + public boolean hasAttackTarget() { + return actionDataCase_ == 104; + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackTarget attackTarget = 104;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget getAttackTarget() { + if (actionDataCase_ == 104) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackTarget attackTarget = 104;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTargetOrBuilder getAttackTargetOrBuilder() { + if (actionDataCase_ == 104) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.getDefaultInstance(); + } + + public static final int CASTLOCATION_FIELD_NUMBER = 105; + /** + * <code>optional .CMsgBotWorldState.Action.CastLocation castLocation = 105;</code> + */ + public boolean hasCastLocation() { + return actionDataCase_ == 105; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastLocation castLocation = 105;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation getCastLocation() { + if (actionDataCase_ == 105) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.CastLocation castLocation = 105;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocationOrBuilder getCastLocationOrBuilder() { + if (actionDataCase_ == 105) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.getDefaultInstance(); + } + + public static final int CASTTARGET_FIELD_NUMBER = 106; + /** + * <code>optional .CMsgBotWorldState.Action.CastTarget castTarget = 106;</code> + */ + public boolean hasCastTarget() { + return actionDataCase_ == 106; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTarget castTarget = 106;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget getCastTarget() { + if (actionDataCase_ == 106) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTarget castTarget = 106;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTargetOrBuilder getCastTargetOrBuilder() { + if (actionDataCase_ == 106) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.getDefaultInstance(); + } + + public static final int CASTTREE_FIELD_NUMBER = 107; + /** + * <code>optional .CMsgBotWorldState.Action.CastTree castTree = 107;</code> + */ + public boolean hasCastTree() { + return actionDataCase_ == 107; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTree castTree = 107;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree getCastTree() { + if (actionDataCase_ == 107) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTree castTree = 107;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTreeOrBuilder getCastTreeOrBuilder() { + if (actionDataCase_ == 107) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.getDefaultInstance(); + } + + public static final int CAST_FIELD_NUMBER = 108; + /** + * <code>optional .CMsgBotWorldState.Action.Cast cast = 108;</code> + */ + public boolean hasCast() { + return actionDataCase_ == 108; + } + /** + * <code>optional .CMsgBotWorldState.Action.Cast cast = 108;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast getCast() { + if (actionDataCase_ == 108) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.Cast cast = 108;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastOrBuilder getCastOrBuilder() { + if (actionDataCase_ == 108) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.getDefaultInstance(); + } + + public static final int CASTTOGGLE_FIELD_NUMBER = 109; + /** + * <code>optional .CMsgBotWorldState.Action.CastToggle castToggle = 109;</code> + */ + public boolean hasCastToggle() { + return actionDataCase_ == 109; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastToggle castToggle = 109;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle getCastToggle() { + if (actionDataCase_ == 109) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.CastToggle castToggle = 109;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggleOrBuilder getCastToggleOrBuilder() { + if (actionDataCase_ == 109) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.getDefaultInstance(); + } + + public static final int HOLDLOCATION_FIELD_NUMBER = 110; + /** + * <code>optional .CMsgBotWorldState.Action.HoldLocation holdLocation = 110;</code> + */ + public boolean hasHoldLocation() { + return actionDataCase_ == 110; + } + /** + * <code>optional .CMsgBotWorldState.Action.HoldLocation holdLocation = 110;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation getHoldLocation() { + if (actionDataCase_ == 110) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.HoldLocation holdLocation = 110;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocationOrBuilder getHoldLocationOrBuilder() { + if (actionDataCase_ == 110) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.getDefaultInstance(); + } + + public static final int TRAINABILITY_FIELD_NUMBER = 111; + /** + * <code>optional .CMsgBotWorldState.Action.TrainAbility trainAbility = 111;</code> + */ + public boolean hasTrainAbility() { + return actionDataCase_ == 111; + } + /** + * <code>optional .CMsgBotWorldState.Action.TrainAbility trainAbility = 111;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility getTrainAbility() { + if (actionDataCase_ == 111) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.TrainAbility trainAbility = 111;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbilityOrBuilder getTrainAbilityOrBuilder() { + if (actionDataCase_ == 111) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.getDefaultInstance(); + } + + public static final int DROPITEM_FIELD_NUMBER = 112; + /** + * <code>optional .CMsgBotWorldState.Action.DropItem dropItem = 112;</code> + */ + public boolean hasDropItem() { + return actionDataCase_ == 112; + } + /** + * <code>optional .CMsgBotWorldState.Action.DropItem dropItem = 112;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem getDropItem() { + if (actionDataCase_ == 112) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.DropItem dropItem = 112;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItemOrBuilder getDropItemOrBuilder() { + if (actionDataCase_ == 112) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.getDefaultInstance(); + } + + public static final int PICKUPITEM_FIELD_NUMBER = 114; + /** + * <code>optional .CMsgBotWorldState.Action.PickUpItem pickUpItem = 114;</code> + */ + public boolean hasPickUpItem() { + return actionDataCase_ == 114; + } + /** + * <code>optional .CMsgBotWorldState.Action.PickUpItem pickUpItem = 114;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem getPickUpItem() { + if (actionDataCase_ == 114) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.PickUpItem pickUpItem = 114;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItemOrBuilder getPickUpItemOrBuilder() { + if (actionDataCase_ == 114) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.getDefaultInstance(); + } + + public static final int PICKUPRUNE_FIELD_NUMBER = 115; + /** + * <code>optional .CMsgBotWorldState.Action.PickupRune pickupRune = 115;</code> + */ + public boolean hasPickupRune() { + return actionDataCase_ == 115; + } + /** + * <code>optional .CMsgBotWorldState.Action.PickupRune pickupRune = 115;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune getPickupRune() { + if (actionDataCase_ == 115) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.PickupRune pickupRune = 115;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRuneOrBuilder getPickupRuneOrBuilder() { + if (actionDataCase_ == 115) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.getDefaultInstance(); + } + + public static final int PURCHASEITEM_FIELD_NUMBER = 116; + /** + * <code>optional .CMsgBotWorldState.Action.PurchaseItem purchaseItem = 116;</code> + */ + public boolean hasPurchaseItem() { + return actionDataCase_ == 116; + } + /** + * <code>optional .CMsgBotWorldState.Action.PurchaseItem purchaseItem = 116;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem getPurchaseItem() { + if (actionDataCase_ == 116) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.PurchaseItem purchaseItem = 116;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItemOrBuilder getPurchaseItemOrBuilder() { + if (actionDataCase_ == 116) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.getDefaultInstance(); + } + + public static final int SELLITEM_FIELD_NUMBER = 117; + /** + * <code>optional .CMsgBotWorldState.Action.SellItem sellItem = 117;</code> + */ + public boolean hasSellItem() { + return actionDataCase_ == 117; + } + /** + * <code>optional .CMsgBotWorldState.Action.SellItem sellItem = 117;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem getSellItem() { + if (actionDataCase_ == 117) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.SellItem sellItem = 117;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItemOrBuilder getSellItemOrBuilder() { + if (actionDataCase_ == 117) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.getDefaultInstance(); + } + + public static final int DISASSEMBLEITEM_FIELD_NUMBER = 118; + /** + * <code>optional .CMsgBotWorldState.Action.DisassembleItem disassembleItem = 118;</code> + */ + public boolean hasDisassembleItem() { + return actionDataCase_ == 118; + } + /** + * <code>optional .CMsgBotWorldState.Action.DisassembleItem disassembleItem = 118;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem getDisassembleItem() { + if (actionDataCase_ == 118) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.DisassembleItem disassembleItem = 118;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItemOrBuilder getDisassembleItemOrBuilder() { + if (actionDataCase_ == 118) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.getDefaultInstance(); + } + + public static final int SETCOMBINELOCKITEM_FIELD_NUMBER = 132; + /** + * <code>optional .CMsgBotWorldState.Action.SetCombineLockItem setCombineLockItem = 132;</code> + */ + public boolean hasSetCombineLockItem() { + return actionDataCase_ == 132; + } + /** + * <code>optional .CMsgBotWorldState.Action.SetCombineLockItem setCombineLockItem = 132;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem getSetCombineLockItem() { + if (actionDataCase_ == 132) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.SetCombineLockItem setCombineLockItem = 132;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItemOrBuilder getSetCombineLockItemOrBuilder() { + if (actionDataCase_ == 132) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.getDefaultInstance(); + } + + public static final int STOP_FIELD_NUMBER = 121; + /** + * <code>optional .CMsgBotWorldState.Action.Stop stop = 121;</code> + */ + public boolean hasStop() { + return actionDataCase_ == 121; + } + /** + * <code>optional .CMsgBotWorldState.Action.Stop stop = 121;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop getStop() { + if (actionDataCase_ == 121) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.Stop stop = 121;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.StopOrBuilder getStopOrBuilder() { + if (actionDataCase_ == 121) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.getDefaultInstance(); + } + + public static final int CHAT_FIELD_NUMBER = 140; + /** + * <code>optional .CMsgBotWorldState.Action.Chat chat = 140;</code> + */ + public boolean hasChat() { + return actionDataCase_ == 140; + } + /** + * <code>optional .CMsgBotWorldState.Action.Chat chat = 140;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat getChat() { + if (actionDataCase_ == 140) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.Chat chat = 140;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ChatOrBuilder getChatOrBuilder() { + if (actionDataCase_ == 140) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.getDefaultInstance(); + } + + public static final int SWAPITEMS_FIELD_NUMBER = 141; + /** + * <code>optional .CMsgBotWorldState.Action.SwapItems swapItems = 141;</code> + */ + public boolean hasSwapItems() { + return actionDataCase_ == 141; + } + /** + * <code>optional .CMsgBotWorldState.Action.SwapItems swapItems = 141;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems getSwapItems() { + if (actionDataCase_ == 141) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.SwapItems swapItems = 141;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItemsOrBuilder getSwapItemsOrBuilder() { + if (actionDataCase_ == 141) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.getDefaultInstance(); + } + + public static final int USESHRINE_FIELD_NUMBER = 142; + /** + * <code>optional .CMsgBotWorldState.Action.UseShrine useShrine = 142;</code> + */ + public boolean hasUseShrine() { + return actionDataCase_ == 142; + } + /** + * <code>optional .CMsgBotWorldState.Action.UseShrine useShrine = 142;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine getUseShrine() { + if (actionDataCase_ == 142) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.UseShrine useShrine = 142;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrineOrBuilder getUseShrineOrBuilder() { + if (actionDataCase_ == 142) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.getDefaultInstance(); + } + + public static final int COURIER_FIELD_NUMBER = 143; + /** + * <code>optional .CMsgBotWorldState.Action.Courier courier = 143;</code> + */ + public boolean hasCourier() { + return actionDataCase_ == 143; + } + /** + * <code>optional .CMsgBotWorldState.Action.Courier courier = 143;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier getCourier() { + if (actionDataCase_ == 143) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.Courier courier = 143;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CourierOrBuilder getCourierOrBuilder() { + if (actionDataCase_ == 143) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.getDefaultInstance(); + } + + public static final int GETACTUALINCOMINGDAMAGE_FIELD_NUMBER = 144; + /** + * <code>optional .CMsgBotWorldState.Action.GetActualIncomingDamage getActualIncomingDamage = 144;</code> + */ + public boolean hasGetActualIncomingDamage() { + return actionDataCase_ == 144; + } + /** + * <code>optional .CMsgBotWorldState.Action.GetActualIncomingDamage getActualIncomingDamage = 144;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage getGetActualIncomingDamage() { + if (actionDataCase_ == 144) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.GetActualIncomingDamage getActualIncomingDamage = 144;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamageOrBuilder getGetActualIncomingDamageOrBuilder() { + if (actionDataCase_ == 144) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.getDefaultInstance(); + } + + public static final int GETESTIMATEDDAMAGETOTARGET_FIELD_NUMBER = 145; + /** + * <code>optional .CMsgBotWorldState.Action.GetEstimatedDamageToTarget getEstimatedDamageToTarget = 145;</code> + */ + public boolean hasGetEstimatedDamageToTarget() { + return actionDataCase_ == 145; + } + /** + * <code>optional .CMsgBotWorldState.Action.GetEstimatedDamageToTarget getEstimatedDamageToTarget = 145;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget getGetEstimatedDamageToTarget() { + if (actionDataCase_ == 145) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.GetEstimatedDamageToTarget getEstimatedDamageToTarget = 145;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTargetOrBuilder getGetEstimatedDamageToTargetOrBuilder() { + if (actionDataCase_ == 145) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.getDefaultInstance(); + } + + public static final int GLYPH_FIELD_NUMBER = 146; + /** + * <code>optional .CMsgBotWorldState.Action.Glyph glyph = 146;</code> + */ + public boolean hasGlyph() { + return actionDataCase_ == 146; + } + /** + * <code>optional .CMsgBotWorldState.Action.Glyph glyph = 146;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph getGlyph() { + if (actionDataCase_ == 146) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.Glyph glyph = 146;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GlyphOrBuilder getGlyphOrBuilder() { + if (actionDataCase_ == 146) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.getDefaultInstance(); + } + + public static final int SOFTRESET_FIELD_NUMBER = 148; + /** + * <code>optional .CMsgBotWorldState.Action.SoftReset softReset = 148;</code> + */ + public boolean hasSoftReset() { + return actionDataCase_ == 148; + } + /** + * <code>optional .CMsgBotWorldState.Action.SoftReset softReset = 148;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset getSoftReset() { + if (actionDataCase_ == 148) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.SoftReset softReset = 148;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftResetOrBuilder getSoftResetOrBuilder() { + if (actionDataCase_ == 148) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.getDefaultInstance(); + } + + public static final int BUYBACK_FIELD_NUMBER = 149; + /** + * <code>optional .CMsgBotWorldState.Action.Buyback buyback = 149;</code> + */ + public boolean hasBuyback() { + return actionDataCase_ == 149; + } + /** + * <code>optional .CMsgBotWorldState.Action.Buyback buyback = 149;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback getBuyback() { + if (actionDataCase_ == 149) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.Buyback buyback = 149;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.BuybackOrBuilder getBuybackOrBuilder() { + if (actionDataCase_ == 149) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.getDefaultInstance(); + } + + public static final int SCRIPTINGDEBUGDRAWTEXT_FIELD_NUMBER = 150; + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawText scriptingDebugDrawText = 150;</code> + */ + public boolean hasScriptingDebugDrawText() { + return actionDataCase_ == 150; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawText scriptingDebugDrawText = 150;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText getScriptingDebugDrawText() { + if (actionDataCase_ == 150) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawText scriptingDebugDrawText = 150;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawTextOrBuilder getScriptingDebugDrawTextOrBuilder() { + if (actionDataCase_ == 150) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.getDefaultInstance(); + } + + public static final int SCRIPTINGDEBUGDRAWLINE_FIELD_NUMBER = 151; + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawLine scriptingDebugDrawLine = 151;</code> + */ + public boolean hasScriptingDebugDrawLine() { + return actionDataCase_ == 151; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawLine scriptingDebugDrawLine = 151;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine getScriptingDebugDrawLine() { + if (actionDataCase_ == 151) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawLine scriptingDebugDrawLine = 151;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLineOrBuilder getScriptingDebugDrawLineOrBuilder() { + if (actionDataCase_ == 151) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.getDefaultInstance(); + } + + public static final int SCRIPTINGDEBUGDRAWSCREENTEXT_FIELD_NUMBER = 152; + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawScreenText scriptingDebugDrawScreenText = 152;</code> + */ + public boolean hasScriptingDebugDrawScreenText() { + return actionDataCase_ == 152; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawScreenText scriptingDebugDrawScreenText = 152;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText getScriptingDebugDrawScreenText() { + if (actionDataCase_ == 152) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawScreenText scriptingDebugDrawScreenText = 152;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenTextOrBuilder getScriptingDebugDrawScreenTextOrBuilder() { + if (actionDataCase_ == 152) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.getDefaultInstance(); + } + + public static final int SCRIPTINGDEBUGDRAWBOX_FIELD_NUMBER = 153; + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawBox scriptingDebugDrawBox = 153;</code> + */ + public boolean hasScriptingDebugDrawBox() { + return actionDataCase_ == 153; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawBox scriptingDebugDrawBox = 153;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox getScriptingDebugDrawBox() { + if (actionDataCase_ == 153) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawBox scriptingDebugDrawBox = 153;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBoxOrBuilder getScriptingDebugDrawBoxOrBuilder() { + if (actionDataCase_ == 153) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.getDefaultInstance(); + } + + public static final int SCRIPTINGDEBUGDRAWCIRCLE_FIELD_NUMBER = 154; + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawCircle scriptingDebugDrawCircle = 154;</code> + */ + public boolean hasScriptingDebugDrawCircle() { + return actionDataCase_ == 154; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawCircle scriptingDebugDrawCircle = 154;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle getScriptingDebugDrawCircle() { + if (actionDataCase_ == 154) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawCircle scriptingDebugDrawCircle = 154;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircleOrBuilder getScriptingDebugDrawCircleOrBuilder() { + if (actionDataCase_ == 154) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.getDefaultInstance(); + } + + public static final int SCRIPTINGDEBUGDRAWCLEAR_FIELD_NUMBER = 155; + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawClear scriptingDebugDrawClear = 155;</code> + */ + public boolean hasScriptingDebugDrawClear() { + return actionDataCase_ == 155; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawClear scriptingDebugDrawClear = 155;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear getScriptingDebugDrawClear() { + if (actionDataCase_ == 155) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawClear scriptingDebugDrawClear = 155;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClearOrBuilder getScriptingDebugDrawClearOrBuilder() { + if (actionDataCase_ == 155) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.getDefaultInstance(); + } + + public static final int SCRIPTINGDEBUGSCREENTEXTPRETTY_FIELD_NUMBER = 159; + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty scriptingDebugScreenTextPretty = 159;</code> + */ + public boolean hasScriptingDebugScreenTextPretty() { + return actionDataCase_ == 159; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty scriptingDebugScreenTextPretty = 159;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty getScriptingDebugScreenTextPretty() { + if (actionDataCase_ == 159) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty scriptingDebugScreenTextPretty = 159;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPrettyOrBuilder getScriptingDebugScreenTextPrettyOrBuilder() { + if (actionDataCase_ == 159) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.getDefaultInstance(); + } + + public static final int MOVEDIRECTLY_FIELD_NUMBER = 156; + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveDirectly = 156;</code> + */ + public boolean hasMoveDirectly() { + return actionDataCase_ == 156; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveDirectly = 156;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation getMoveDirectly() { + if (actionDataCase_ == 156) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveDirectly = 156;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocationOrBuilder getMoveDirectlyOrBuilder() { + if (actionDataCase_ == 156) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.getDefaultInstance(); + } + + public static final int OCEANWINGAME_FIELD_NUMBER = 157; + /** + * <code>optional .CMsgBotWorldState.Action.OceanWinGame oceanWinGame = 157;</code> + */ + public boolean hasOceanWinGame() { + return actionDataCase_ == 157; + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanWinGame oceanWinGame = 157;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame getOceanWinGame() { + if (actionDataCase_ == 157) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanWinGame oceanWinGame = 157;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGameOrBuilder getOceanWinGameOrBuilder() { + if (actionDataCase_ == 157) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.getDefaultInstance(); + } + + public static final int OCEANREPLAYCORRECTTIME_FIELD_NUMBER = 158; + /** + * <code>optional .CMsgBotWorldState.Action.OceanReplayCorrectTime oceanReplayCorrectTime = 158;</code> + */ + public boolean hasOceanReplayCorrectTime() { + return actionDataCase_ == 158; + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanReplayCorrectTime oceanReplayCorrectTime = 158;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime getOceanReplayCorrectTime() { + if (actionDataCase_ == 158) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.getDefaultInstance(); + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanReplayCorrectTime oceanReplayCorrectTime = 158;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTimeOrBuilder getOceanReplayCorrectTimeOrBuilder() { + if (actionDataCase_ == 158) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.getDefaultInstance(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + if (!hasActionType()) { + memoizedIsInitialized = 0; + return false; + } + if (hasMoveToLocation()) { + if (!getMoveToLocation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasMoveToTarget()) { + if (!getMoveToTarget().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasAttackMove()) { + if (!getAttackMove().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasAttackTarget()) { + if (!getAttackTarget().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasCastLocation()) { + if (!getCastLocation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasCastTarget()) { + if (!getCastTarget().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasCastTree()) { + if (!getCastTree().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasCast()) { + if (!getCast().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasCastToggle()) { + if (!getCastToggle().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasTrainAbility()) { + if (!getTrainAbility().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasDropItem()) { + if (!getDropItem().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasPickupRune()) { + if (!getPickupRune().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasDisassembleItem()) { + if (!getDisassembleItem().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasSetCombineLockItem()) { + if (!getSetCombineLockItem().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasChat()) { + if (!getChat().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasSwapItems()) { + if (!getSwapItems().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasUseShrine()) { + if (!getUseShrine().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasCourier()) { + if (!getCourier().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasGetActualIncomingDamage()) { + if (!getGetActualIncomingDamage().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasGetEstimatedDamageToTarget()) { + if (!getGetEstimatedDamageToTarget().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasGlyph()) { + if (!getGlyph().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasBuyback()) { + if (!getBuyback().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasScriptingDebugDrawText()) { + if (!getScriptingDebugDrawText().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasScriptingDebugDrawLine()) { + if (!getScriptingDebugDrawLine().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasScriptingDebugDrawScreenText()) { + if (!getScriptingDebugDrawScreenText().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasScriptingDebugDrawBox()) { + if (!getScriptingDebugDrawBox().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasScriptingDebugDrawCircle()) { + if (!getScriptingDebugDrawCircle().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasScriptingDebugScreenTextPretty()) { + if (!getScriptingDebugScreenTextPretty().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasMoveDirectly()) { + if (!getMoveDirectly().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasOceanWinGame()) { + if (!getOceanWinGame().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasOceanReplayCorrectTime()) { + if (!getOceanReplayCorrectTime().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeEnum(1, actionType_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeInt32(2, player_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeInt32(4, actionID_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeInt32(10, actionDelay_); + } + if (actionDataCase_ == 101) { + output.writeMessage(101, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_); + } + if (actionDataCase_ == 102) { + output.writeMessage(102, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget) actionData_); + } + if (actionDataCase_ == 103) { + output.writeMessage(103, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove) actionData_); + } + if (actionDataCase_ == 104) { + output.writeMessage(104, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget) actionData_); + } + if (actionDataCase_ == 105) { + output.writeMessage(105, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation) actionData_); + } + if (actionDataCase_ == 106) { + output.writeMessage(106, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget) actionData_); + } + if (actionDataCase_ == 107) { + output.writeMessage(107, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree) actionData_); + } + if (actionDataCase_ == 108) { + output.writeMessage(108, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast) actionData_); + } + if (actionDataCase_ == 109) { + output.writeMessage(109, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle) actionData_); + } + if (actionDataCase_ == 110) { + output.writeMessage(110, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation) actionData_); + } + if (actionDataCase_ == 111) { + output.writeMessage(111, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility) actionData_); + } + if (actionDataCase_ == 112) { + output.writeMessage(112, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem) actionData_); + } + if (actionDataCase_ == 114) { + output.writeMessage(114, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem) actionData_); + } + if (actionDataCase_ == 115) { + output.writeMessage(115, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune) actionData_); + } + if (actionDataCase_ == 116) { + output.writeMessage(116, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem) actionData_); + } + if (actionDataCase_ == 117) { + output.writeMessage(117, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem) actionData_); + } + if (actionDataCase_ == 118) { + output.writeMessage(118, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem) actionData_); + } + if (actionDataCase_ == 121) { + output.writeMessage(121, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop) actionData_); + } + if (actionDataCase_ == 132) { + output.writeMessage(132, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem) actionData_); + } + if (actionDataCase_ == 140) { + output.writeMessage(140, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat) actionData_); + } + if (actionDataCase_ == 141) { + output.writeMessage(141, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems) actionData_); + } + if (actionDataCase_ == 142) { + output.writeMessage(142, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine) actionData_); + } + if (actionDataCase_ == 143) { + output.writeMessage(143, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier) actionData_); + } + if (actionDataCase_ == 144) { + output.writeMessage(144, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage) actionData_); + } + if (actionDataCase_ == 145) { + output.writeMessage(145, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget) actionData_); + } + if (actionDataCase_ == 146) { + output.writeMessage(146, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph) actionData_); + } + if (actionDataCase_ == 148) { + output.writeMessage(148, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset) actionData_); + } + if (actionDataCase_ == 149) { + output.writeMessage(149, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback) actionData_); + } + if (actionDataCase_ == 150) { + output.writeMessage(150, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText) actionData_); + } + if (actionDataCase_ == 151) { + output.writeMessage(151, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine) actionData_); + } + if (actionDataCase_ == 152) { + output.writeMessage(152, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) actionData_); + } + if (actionDataCase_ == 153) { + output.writeMessage(153, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox) actionData_); + } + if (actionDataCase_ == 154) { + output.writeMessage(154, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle) actionData_); + } + if (actionDataCase_ == 155) { + output.writeMessage(155, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear) actionData_); + } + if (actionDataCase_ == 156) { + output.writeMessage(156, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_); + } + if (actionDataCase_ == 157) { + output.writeMessage(157, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame) actionData_); + } + if (actionDataCase_ == 158) { + output.writeMessage(158, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime) actionData_); + } + if (actionDataCase_ == 159) { + output.writeMessage(159, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) actionData_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, actionType_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, player_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(4, actionID_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(10, actionDelay_); + } + if (actionDataCase_ == 101) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(101, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_); + } + if (actionDataCase_ == 102) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(102, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget) actionData_); + } + if (actionDataCase_ == 103) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(103, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove) actionData_); + } + if (actionDataCase_ == 104) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(104, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget) actionData_); + } + if (actionDataCase_ == 105) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(105, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation) actionData_); + } + if (actionDataCase_ == 106) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(106, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget) actionData_); + } + if (actionDataCase_ == 107) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(107, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree) actionData_); + } + if (actionDataCase_ == 108) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(108, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast) actionData_); + } + if (actionDataCase_ == 109) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(109, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle) actionData_); + } + if (actionDataCase_ == 110) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(110, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation) actionData_); + } + if (actionDataCase_ == 111) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(111, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility) actionData_); + } + if (actionDataCase_ == 112) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(112, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem) actionData_); + } + if (actionDataCase_ == 114) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(114, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem) actionData_); + } + if (actionDataCase_ == 115) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(115, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune) actionData_); + } + if (actionDataCase_ == 116) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(116, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem) actionData_); + } + if (actionDataCase_ == 117) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(117, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem) actionData_); + } + if (actionDataCase_ == 118) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(118, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem) actionData_); + } + if (actionDataCase_ == 121) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(121, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop) actionData_); + } + if (actionDataCase_ == 132) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(132, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem) actionData_); + } + if (actionDataCase_ == 140) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(140, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat) actionData_); + } + if (actionDataCase_ == 141) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(141, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems) actionData_); + } + if (actionDataCase_ == 142) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(142, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine) actionData_); + } + if (actionDataCase_ == 143) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(143, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier) actionData_); + } + if (actionDataCase_ == 144) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(144, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage) actionData_); + } + if (actionDataCase_ == 145) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(145, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget) actionData_); + } + if (actionDataCase_ == 146) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(146, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph) actionData_); + } + if (actionDataCase_ == 148) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(148, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset) actionData_); + } + if (actionDataCase_ == 149) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(149, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback) actionData_); + } + if (actionDataCase_ == 150) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(150, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText) actionData_); + } + if (actionDataCase_ == 151) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(151, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine) actionData_); + } + if (actionDataCase_ == 152) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(152, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) actionData_); + } + if (actionDataCase_ == 153) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(153, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox) actionData_); + } + if (actionDataCase_ == 154) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(154, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle) actionData_); + } + if (actionDataCase_ == 155) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(155, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear) actionData_); + } + if (actionDataCase_ == 156) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(156, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_); + } + if (actionDataCase_ == 157) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(157, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame) actionData_); + } + if (actionDataCase_ == 158) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(158, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime) actionData_); + } + if (actionDataCase_ == 159) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(159, (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) actionData_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action) obj; + + if (hasActionType() != other.hasActionType()) return false; + if (hasActionType()) { + if (actionType_ != other.actionType_) return false; + } + if (hasPlayer() != other.hasPlayer()) return false; + if (hasPlayer()) { + if (getPlayer() + != other.getPlayer()) return false; + } + if (hasActionID() != other.hasActionID()) return false; + if (hasActionID()) { + if (getActionID() + != other.getActionID()) return false; + } + if (hasActionDelay() != other.hasActionDelay()) return false; + if (hasActionDelay()) { + if (getActionDelay() + != other.getActionDelay()) return false; + } + if (!getActionDataCase().equals(other.getActionDataCase())) return false; + switch (actionDataCase_) { + case 101: + if (!getMoveToLocation() + .equals(other.getMoveToLocation())) return false; + break; + case 102: + if (!getMoveToTarget() + .equals(other.getMoveToTarget())) return false; + break; + case 103: + if (!getAttackMove() + .equals(other.getAttackMove())) return false; + break; + case 104: + if (!getAttackTarget() + .equals(other.getAttackTarget())) return false; + break; + case 105: + if (!getCastLocation() + .equals(other.getCastLocation())) return false; + break; + case 106: + if (!getCastTarget() + .equals(other.getCastTarget())) return false; + break; + case 107: + if (!getCastTree() + .equals(other.getCastTree())) return false; + break; + case 108: + if (!getCast() + .equals(other.getCast())) return false; + break; + case 109: + if (!getCastToggle() + .equals(other.getCastToggle())) return false; + break; + case 110: + if (!getHoldLocation() + .equals(other.getHoldLocation())) return false; + break; + case 111: + if (!getTrainAbility() + .equals(other.getTrainAbility())) return false; + break; + case 112: + if (!getDropItem() + .equals(other.getDropItem())) return false; + break; + case 114: + if (!getPickUpItem() + .equals(other.getPickUpItem())) return false; + break; + case 115: + if (!getPickupRune() + .equals(other.getPickupRune())) return false; + break; + case 116: + if (!getPurchaseItem() + .equals(other.getPurchaseItem())) return false; + break; + case 117: + if (!getSellItem() + .equals(other.getSellItem())) return false; + break; + case 118: + if (!getDisassembleItem() + .equals(other.getDisassembleItem())) return false; + break; + case 132: + if (!getSetCombineLockItem() + .equals(other.getSetCombineLockItem())) return false; + break; + case 121: + if (!getStop() + .equals(other.getStop())) return false; + break; + case 140: + if (!getChat() + .equals(other.getChat())) return false; + break; + case 141: + if (!getSwapItems() + .equals(other.getSwapItems())) return false; + break; + case 142: + if (!getUseShrine() + .equals(other.getUseShrine())) return false; + break; + case 143: + if (!getCourier() + .equals(other.getCourier())) return false; + break; + case 144: + if (!getGetActualIncomingDamage() + .equals(other.getGetActualIncomingDamage())) return false; + break; + case 145: + if (!getGetEstimatedDamageToTarget() + .equals(other.getGetEstimatedDamageToTarget())) return false; + break; + case 146: + if (!getGlyph() + .equals(other.getGlyph())) return false; + break; + case 148: + if (!getSoftReset() + .equals(other.getSoftReset())) return false; + break; + case 149: + if (!getBuyback() + .equals(other.getBuyback())) return false; + break; + case 150: + if (!getScriptingDebugDrawText() + .equals(other.getScriptingDebugDrawText())) return false; + break; + case 151: + if (!getScriptingDebugDrawLine() + .equals(other.getScriptingDebugDrawLine())) return false; + break; + case 152: + if (!getScriptingDebugDrawScreenText() + .equals(other.getScriptingDebugDrawScreenText())) return false; + break; + case 153: + if (!getScriptingDebugDrawBox() + .equals(other.getScriptingDebugDrawBox())) return false; + break; + case 154: + if (!getScriptingDebugDrawCircle() + .equals(other.getScriptingDebugDrawCircle())) return false; + break; + case 155: + if (!getScriptingDebugDrawClear() + .equals(other.getScriptingDebugDrawClear())) return false; + break; + case 159: + if (!getScriptingDebugScreenTextPretty() + .equals(other.getScriptingDebugScreenTextPretty())) return false; + break; + case 156: + if (!getMoveDirectly() + .equals(other.getMoveDirectly())) return false; + break; + case 157: + if (!getOceanWinGame() + .equals(other.getOceanWinGame())) return false; + break; + case 158: + if (!getOceanReplayCorrectTime() + .equals(other.getOceanReplayCorrectTime())) return false; + break; + case 0: + default: + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasActionType()) { + hash = (37 * hash) + ACTIONTYPE_FIELD_NUMBER; + hash = (53 * hash) + actionType_; + } + if (hasPlayer()) { + hash = (37 * hash) + PLAYER_FIELD_NUMBER; + hash = (53 * hash) + getPlayer(); + } + if (hasActionID()) { + hash = (37 * hash) + ACTIONID_FIELD_NUMBER; + hash = (53 * hash) + getActionID(); + } + if (hasActionDelay()) { + hash = (37 * hash) + ACTIONDELAY_FIELD_NUMBER; + hash = (53 * hash) + getActionDelay(); + } + switch (actionDataCase_) { + case 101: + hash = (37 * hash) + MOVETOLOCATION_FIELD_NUMBER; + hash = (53 * hash) + getMoveToLocation().hashCode(); + break; + case 102: + hash = (37 * hash) + MOVETOTARGET_FIELD_NUMBER; + hash = (53 * hash) + getMoveToTarget().hashCode(); + break; + case 103: + hash = (37 * hash) + ATTACKMOVE_FIELD_NUMBER; + hash = (53 * hash) + getAttackMove().hashCode(); + break; + case 104: + hash = (37 * hash) + ATTACKTARGET_FIELD_NUMBER; + hash = (53 * hash) + getAttackTarget().hashCode(); + break; + case 105: + hash = (37 * hash) + CASTLOCATION_FIELD_NUMBER; + hash = (53 * hash) + getCastLocation().hashCode(); + break; + case 106: + hash = (37 * hash) + CASTTARGET_FIELD_NUMBER; + hash = (53 * hash) + getCastTarget().hashCode(); + break; + case 107: + hash = (37 * hash) + CASTTREE_FIELD_NUMBER; + hash = (53 * hash) + getCastTree().hashCode(); + break; + case 108: + hash = (37 * hash) + CAST_FIELD_NUMBER; + hash = (53 * hash) + getCast().hashCode(); + break; + case 109: + hash = (37 * hash) + CASTTOGGLE_FIELD_NUMBER; + hash = (53 * hash) + getCastToggle().hashCode(); + break; + case 110: + hash = (37 * hash) + HOLDLOCATION_FIELD_NUMBER; + hash = (53 * hash) + getHoldLocation().hashCode(); + break; + case 111: + hash = (37 * hash) + TRAINABILITY_FIELD_NUMBER; + hash = (53 * hash) + getTrainAbility().hashCode(); + break; + case 112: + hash = (37 * hash) + DROPITEM_FIELD_NUMBER; + hash = (53 * hash) + getDropItem().hashCode(); + break; + case 114: + hash = (37 * hash) + PICKUPITEM_FIELD_NUMBER; + hash = (53 * hash) + getPickUpItem().hashCode(); + break; + case 115: + hash = (37 * hash) + PICKUPRUNE_FIELD_NUMBER; + hash = (53 * hash) + getPickupRune().hashCode(); + break; + case 116: + hash = (37 * hash) + PURCHASEITEM_FIELD_NUMBER; + hash = (53 * hash) + getPurchaseItem().hashCode(); + break; + case 117: + hash = (37 * hash) + SELLITEM_FIELD_NUMBER; + hash = (53 * hash) + getSellItem().hashCode(); + break; + case 118: + hash = (37 * hash) + DISASSEMBLEITEM_FIELD_NUMBER; + hash = (53 * hash) + getDisassembleItem().hashCode(); + break; + case 132: + hash = (37 * hash) + SETCOMBINELOCKITEM_FIELD_NUMBER; + hash = (53 * hash) + getSetCombineLockItem().hashCode(); + break; + case 121: + hash = (37 * hash) + STOP_FIELD_NUMBER; + hash = (53 * hash) + getStop().hashCode(); + break; + case 140: + hash = (37 * hash) + CHAT_FIELD_NUMBER; + hash = (53 * hash) + getChat().hashCode(); + break; + case 141: + hash = (37 * hash) + SWAPITEMS_FIELD_NUMBER; + hash = (53 * hash) + getSwapItems().hashCode(); + break; + case 142: + hash = (37 * hash) + USESHRINE_FIELD_NUMBER; + hash = (53 * hash) + getUseShrine().hashCode(); + break; + case 143: + hash = (37 * hash) + COURIER_FIELD_NUMBER; + hash = (53 * hash) + getCourier().hashCode(); + break; + case 144: + hash = (37 * hash) + GETACTUALINCOMINGDAMAGE_FIELD_NUMBER; + hash = (53 * hash) + getGetActualIncomingDamage().hashCode(); + break; + case 145: + hash = (37 * hash) + GETESTIMATEDDAMAGETOTARGET_FIELD_NUMBER; + hash = (53 * hash) + getGetEstimatedDamageToTarget().hashCode(); + break; + case 146: + hash = (37 * hash) + GLYPH_FIELD_NUMBER; + hash = (53 * hash) + getGlyph().hashCode(); + break; + case 148: + hash = (37 * hash) + SOFTRESET_FIELD_NUMBER; + hash = (53 * hash) + getSoftReset().hashCode(); + break; + case 149: + hash = (37 * hash) + BUYBACK_FIELD_NUMBER; + hash = (53 * hash) + getBuyback().hashCode(); + break; + case 150: + hash = (37 * hash) + SCRIPTINGDEBUGDRAWTEXT_FIELD_NUMBER; + hash = (53 * hash) + getScriptingDebugDrawText().hashCode(); + break; + case 151: + hash = (37 * hash) + SCRIPTINGDEBUGDRAWLINE_FIELD_NUMBER; + hash = (53 * hash) + getScriptingDebugDrawLine().hashCode(); + break; + case 152: + hash = (37 * hash) + SCRIPTINGDEBUGDRAWSCREENTEXT_FIELD_NUMBER; + hash = (53 * hash) + getScriptingDebugDrawScreenText().hashCode(); + break; + case 153: + hash = (37 * hash) + SCRIPTINGDEBUGDRAWBOX_FIELD_NUMBER; + hash = (53 * hash) + getScriptingDebugDrawBox().hashCode(); + break; + case 154: + hash = (37 * hash) + SCRIPTINGDEBUGDRAWCIRCLE_FIELD_NUMBER; + hash = (53 * hash) + getScriptingDebugDrawCircle().hashCode(); + break; + case 155: + hash = (37 * hash) + SCRIPTINGDEBUGDRAWCLEAR_FIELD_NUMBER; + hash = (53 * hash) + getScriptingDebugDrawClear().hashCode(); + break; + case 159: + hash = (37 * hash) + SCRIPTINGDEBUGSCREENTEXTPRETTY_FIELD_NUMBER; + hash = (53 * hash) + getScriptingDebugScreenTextPretty().hashCode(); + break; + case 156: + hash = (37 * hash) + MOVEDIRECTLY_FIELD_NUMBER; + hash = (53 * hash) + getMoveDirectly().hashCode(); + break; + case 157: + hash = (37 * hash) + OCEANWINGAME_FIELD_NUMBER; + hash = (53 * hash) + getOceanWinGame().hashCode(); + break; + case 158: + hash = (37 * hash) + OCEANREPLAYCORRECTTIME_FIELD_NUMBER; + hash = (53 * hash) + getOceanReplayCorrectTime().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState.Action} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState.Action) + CMsgBotWorldStateOuterClass.CMsgBotWorldState.ActionOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + actionType_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + player_ = -1; + bitField0_ = (bitField0_ & ~0x00000002); + actionID_ = -1; + bitField0_ = (bitField0_ & ~0x00000004); + actionDelay_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + actionDataCase_ = 0; + actionData_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_Action_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action(this); + int from_bitField0_ = bitField0_; + int from_bitField1_ = bitField1_; + int to_bitField0_ = 0; + int to_bitField1_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + to_bitField0_ |= 0x00000001; + } + result.actionType_ = actionType_; + if (((from_bitField0_ & 0x00000002) != 0)) { + to_bitField0_ |= 0x00000002; + } + result.player_ = player_; + if (((from_bitField0_ & 0x00000004) != 0)) { + to_bitField0_ |= 0x00000004; + } + result.actionID_ = actionID_; + if (((from_bitField0_ & 0x00000008) != 0)) { + result.actionDelay_ = actionDelay_; + to_bitField0_ |= 0x00000008; + } + if (actionDataCase_ == 101) { + if (moveToLocationBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = moveToLocationBuilder_.build(); + } + } + if (actionDataCase_ == 102) { + if (moveToTargetBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = moveToTargetBuilder_.build(); + } + } + if (actionDataCase_ == 103) { + if (attackMoveBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = attackMoveBuilder_.build(); + } + } + if (actionDataCase_ == 104) { + if (attackTargetBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = attackTargetBuilder_.build(); + } + } + if (actionDataCase_ == 105) { + if (castLocationBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = castLocationBuilder_.build(); + } + } + if (actionDataCase_ == 106) { + if (castTargetBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = castTargetBuilder_.build(); + } + } + if (actionDataCase_ == 107) { + if (castTreeBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = castTreeBuilder_.build(); + } + } + if (actionDataCase_ == 108) { + if (castBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = castBuilder_.build(); + } + } + if (actionDataCase_ == 109) { + if (castToggleBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = castToggleBuilder_.build(); + } + } + if (actionDataCase_ == 110) { + if (holdLocationBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = holdLocationBuilder_.build(); + } + } + if (actionDataCase_ == 111) { + if (trainAbilityBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = trainAbilityBuilder_.build(); + } + } + if (actionDataCase_ == 112) { + if (dropItemBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = dropItemBuilder_.build(); + } + } + if (actionDataCase_ == 114) { + if (pickUpItemBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = pickUpItemBuilder_.build(); + } + } + if (actionDataCase_ == 115) { + if (pickupRuneBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = pickupRuneBuilder_.build(); + } + } + if (actionDataCase_ == 116) { + if (purchaseItemBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = purchaseItemBuilder_.build(); + } + } + if (actionDataCase_ == 117) { + if (sellItemBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = sellItemBuilder_.build(); + } + } + if (actionDataCase_ == 118) { + if (disassembleItemBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = disassembleItemBuilder_.build(); + } + } + if (actionDataCase_ == 132) { + if (setCombineLockItemBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = setCombineLockItemBuilder_.build(); + } + } + if (actionDataCase_ == 121) { + if (stopBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = stopBuilder_.build(); + } + } + if (actionDataCase_ == 140) { + if (chatBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = chatBuilder_.build(); + } + } + if (actionDataCase_ == 141) { + if (swapItemsBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = swapItemsBuilder_.build(); + } + } + if (actionDataCase_ == 142) { + if (useShrineBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = useShrineBuilder_.build(); + } + } + if (actionDataCase_ == 143) { + if (courierBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = courierBuilder_.build(); + } + } + if (actionDataCase_ == 144) { + if (getActualIncomingDamageBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = getActualIncomingDamageBuilder_.build(); + } + } + if (actionDataCase_ == 145) { + if (getEstimatedDamageToTargetBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = getEstimatedDamageToTargetBuilder_.build(); + } + } + if (actionDataCase_ == 146) { + if (glyphBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = glyphBuilder_.build(); + } + } + if (actionDataCase_ == 148) { + if (softResetBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = softResetBuilder_.build(); + } + } + if (actionDataCase_ == 149) { + if (buybackBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = buybackBuilder_.build(); + } + } + if (actionDataCase_ == 150) { + if (scriptingDebugDrawTextBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = scriptingDebugDrawTextBuilder_.build(); + } + } + if (actionDataCase_ == 151) { + if (scriptingDebugDrawLineBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = scriptingDebugDrawLineBuilder_.build(); + } + } + if (actionDataCase_ == 152) { + if (scriptingDebugDrawScreenTextBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = scriptingDebugDrawScreenTextBuilder_.build(); + } + } + if (actionDataCase_ == 153) { + if (scriptingDebugDrawBoxBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = scriptingDebugDrawBoxBuilder_.build(); + } + } + if (actionDataCase_ == 154) { + if (scriptingDebugDrawCircleBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = scriptingDebugDrawCircleBuilder_.build(); + } + } + if (actionDataCase_ == 155) { + if (scriptingDebugDrawClearBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = scriptingDebugDrawClearBuilder_.build(); + } + } + if (actionDataCase_ == 159) { + if (scriptingDebugScreenTextPrettyBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = scriptingDebugScreenTextPrettyBuilder_.build(); + } + } + if (actionDataCase_ == 156) { + if (moveDirectlyBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = moveDirectlyBuilder_.build(); + } + } + if (actionDataCase_ == 157) { + if (oceanWinGameBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = oceanWinGameBuilder_.build(); + } + } + if (actionDataCase_ == 158) { + if (oceanReplayCorrectTimeBuilder_ == null) { + result.actionData_ = actionData_; + } else { + result.actionData_ = oceanReplayCorrectTimeBuilder_.build(); + } + } + result.bitField0_ = to_bitField0_; + result.bitField1_ = to_bitField1_; + result.actionDataCase_ = actionDataCase_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.getDefaultInstance()) return this; + if (other.hasActionType()) { + setActionType(other.getActionType()); + } + if (other.hasPlayer()) { + setPlayer(other.getPlayer()); + } + if (other.hasActionID()) { + setActionID(other.getActionID()); + } + if (other.hasActionDelay()) { + setActionDelay(other.getActionDelay()); + } + switch (other.getActionDataCase()) { + case MOVETOLOCATION: { + mergeMoveToLocation(other.getMoveToLocation()); + break; + } + case MOVETOTARGET: { + mergeMoveToTarget(other.getMoveToTarget()); + break; + } + case ATTACKMOVE: { + mergeAttackMove(other.getAttackMove()); + break; + } + case ATTACKTARGET: { + mergeAttackTarget(other.getAttackTarget()); + break; + } + case CASTLOCATION: { + mergeCastLocation(other.getCastLocation()); + break; + } + case CASTTARGET: { + mergeCastTarget(other.getCastTarget()); + break; + } + case CASTTREE: { + mergeCastTree(other.getCastTree()); + break; + } + case CAST: { + mergeCast(other.getCast()); + break; + } + case CASTTOGGLE: { + mergeCastToggle(other.getCastToggle()); + break; + } + case HOLDLOCATION: { + mergeHoldLocation(other.getHoldLocation()); + break; + } + case TRAINABILITY: { + mergeTrainAbility(other.getTrainAbility()); + break; + } + case DROPITEM: { + mergeDropItem(other.getDropItem()); + break; + } + case PICKUPITEM: { + mergePickUpItem(other.getPickUpItem()); + break; + } + case PICKUPRUNE: { + mergePickupRune(other.getPickupRune()); + break; + } + case PURCHASEITEM: { + mergePurchaseItem(other.getPurchaseItem()); + break; + } + case SELLITEM: { + mergeSellItem(other.getSellItem()); + break; + } + case DISASSEMBLEITEM: { + mergeDisassembleItem(other.getDisassembleItem()); + break; + } + case SETCOMBINELOCKITEM: { + mergeSetCombineLockItem(other.getSetCombineLockItem()); + break; + } + case STOP: { + mergeStop(other.getStop()); + break; + } + case CHAT: { + mergeChat(other.getChat()); + break; + } + case SWAPITEMS: { + mergeSwapItems(other.getSwapItems()); + break; + } + case USESHRINE: { + mergeUseShrine(other.getUseShrine()); + break; + } + case COURIER: { + mergeCourier(other.getCourier()); + break; + } + case GETACTUALINCOMINGDAMAGE: { + mergeGetActualIncomingDamage(other.getGetActualIncomingDamage()); + break; + } + case GETESTIMATEDDAMAGETOTARGET: { + mergeGetEstimatedDamageToTarget(other.getGetEstimatedDamageToTarget()); + break; + } + case GLYPH: { + mergeGlyph(other.getGlyph()); + break; + } + case SOFTRESET: { + mergeSoftReset(other.getSoftReset()); + break; + } + case BUYBACK: { + mergeBuyback(other.getBuyback()); + break; + } + case SCRIPTINGDEBUGDRAWTEXT: { + mergeScriptingDebugDrawText(other.getScriptingDebugDrawText()); + break; + } + case SCRIPTINGDEBUGDRAWLINE: { + mergeScriptingDebugDrawLine(other.getScriptingDebugDrawLine()); + break; + } + case SCRIPTINGDEBUGDRAWSCREENTEXT: { + mergeScriptingDebugDrawScreenText(other.getScriptingDebugDrawScreenText()); + break; + } + case SCRIPTINGDEBUGDRAWBOX: { + mergeScriptingDebugDrawBox(other.getScriptingDebugDrawBox()); + break; + } + case SCRIPTINGDEBUGDRAWCIRCLE: { + mergeScriptingDebugDrawCircle(other.getScriptingDebugDrawCircle()); + break; + } + case SCRIPTINGDEBUGDRAWCLEAR: { + mergeScriptingDebugDrawClear(other.getScriptingDebugDrawClear()); + break; + } + case SCRIPTINGDEBUGSCREENTEXTPRETTY: { + mergeScriptingDebugScreenTextPretty(other.getScriptingDebugScreenTextPretty()); + break; + } + case MOVEDIRECTLY: { + mergeMoveDirectly(other.getMoveDirectly()); + break; + } + case OCEANWINGAME: { + mergeOceanWinGame(other.getOceanWinGame()); + break; + } + case OCEANREPLAYCORRECTTIME: { + mergeOceanReplayCorrectTime(other.getOceanReplayCorrectTime()); + break; + } + case ACTIONDATA_NOT_SET: { + break; + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + if (!hasActionType()) { + return false; + } + if (hasMoveToLocation()) { + if (!getMoveToLocation().isInitialized()) { + return false; + } + } + if (hasMoveToTarget()) { + if (!getMoveToTarget().isInitialized()) { + return false; + } + } + if (hasAttackMove()) { + if (!getAttackMove().isInitialized()) { + return false; + } + } + if (hasAttackTarget()) { + if (!getAttackTarget().isInitialized()) { + return false; + } + } + if (hasCastLocation()) { + if (!getCastLocation().isInitialized()) { + return false; + } + } + if (hasCastTarget()) { + if (!getCastTarget().isInitialized()) { + return false; + } + } + if (hasCastTree()) { + if (!getCastTree().isInitialized()) { + return false; + } + } + if (hasCast()) { + if (!getCast().isInitialized()) { + return false; + } + } + if (hasCastToggle()) { + if (!getCastToggle().isInitialized()) { + return false; + } + } + if (hasTrainAbility()) { + if (!getTrainAbility().isInitialized()) { + return false; + } + } + if (hasDropItem()) { + if (!getDropItem().isInitialized()) { + return false; + } + } + if (hasPickupRune()) { + if (!getPickupRune().isInitialized()) { + return false; + } + } + if (hasDisassembleItem()) { + if (!getDisassembleItem().isInitialized()) { + return false; + } + } + if (hasSetCombineLockItem()) { + if (!getSetCombineLockItem().isInitialized()) { + return false; + } + } + if (hasChat()) { + if (!getChat().isInitialized()) { + return false; + } + } + if (hasSwapItems()) { + if (!getSwapItems().isInitialized()) { + return false; + } + } + if (hasUseShrine()) { + if (!getUseShrine().isInitialized()) { + return false; + } + } + if (hasCourier()) { + if (!getCourier().isInitialized()) { + return false; + } + } + if (hasGetActualIncomingDamage()) { + if (!getGetActualIncomingDamage().isInitialized()) { + return false; + } + } + if (hasGetEstimatedDamageToTarget()) { + if (!getGetEstimatedDamageToTarget().isInitialized()) { + return false; + } + } + if (hasGlyph()) { + if (!getGlyph().isInitialized()) { + return false; + } + } + if (hasBuyback()) { + if (!getBuyback().isInitialized()) { + return false; + } + } + if (hasScriptingDebugDrawText()) { + if (!getScriptingDebugDrawText().isInitialized()) { + return false; + } + } + if (hasScriptingDebugDrawLine()) { + if (!getScriptingDebugDrawLine().isInitialized()) { + return false; + } + } + if (hasScriptingDebugDrawScreenText()) { + if (!getScriptingDebugDrawScreenText().isInitialized()) { + return false; + } + } + if (hasScriptingDebugDrawBox()) { + if (!getScriptingDebugDrawBox().isInitialized()) { + return false; + } + } + if (hasScriptingDebugDrawCircle()) { + if (!getScriptingDebugDrawCircle().isInitialized()) { + return false; + } + } + if (hasScriptingDebugScreenTextPretty()) { + if (!getScriptingDebugScreenTextPretty().isInitialized()) { + return false; + } + } + if (hasMoveDirectly()) { + if (!getMoveDirectly().isInitialized()) { + return false; + } + } + if (hasOceanWinGame()) { + if (!getOceanWinGame().isInitialized()) { + return false; + } + } + if (hasOceanReplayCorrectTime()) { + if (!getOceanReplayCorrectTime().isInitialized()) { + return false; + } + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int actionDataCase_ = 0; + private java.lang.Object actionData_; + public ActionDataCase + getActionDataCase() { + return ActionDataCase.forNumber( + actionDataCase_); + } + + public Builder clearActionData() { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + return this; + } + + private int bitField0_; + private int bitField1_; + + private int actionType_ = 0; + /** + * <code>required .CMsgBotWorldState.Action.Type actionType = 1 [default = DOTA_UNIT_ORDER_NONE];</code> + */ + public boolean hasActionType() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>required .CMsgBotWorldState.Action.Type actionType = 1 [default = DOTA_UNIT_ORDER_NONE];</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Type getActionType() { + @SuppressWarnings("deprecation") + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Type result = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Type.valueOf(actionType_); + return result == null ? CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Type.DOTA_UNIT_ORDER_NONE : result; + } + /** + * <code>required .CMsgBotWorldState.Action.Type actionType = 1 [default = DOTA_UNIT_ORDER_NONE];</code> + */ + public Builder setActionType(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Type value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + actionType_ = value.getNumber(); + onChanged(); + return this; + } + /** + * <code>required .CMsgBotWorldState.Action.Type actionType = 1 [default = DOTA_UNIT_ORDER_NONE];</code> + */ + public Builder clearActionType() { + bitField0_ = (bitField0_ & ~0x00000001); + actionType_ = 0; + onChanged(); + return this; + } + + private int player_ = -1; + /** + * <code>optional int32 player = 2 [default = -1];</code> + */ + public boolean hasPlayer() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional int32 player = 2 [default = -1];</code> + */ + public int getPlayer() { + return player_; + } + /** + * <code>optional int32 player = 2 [default = -1];</code> + */ + public Builder setPlayer(int value) { + bitField0_ |= 0x00000002; + player_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 player = 2 [default = -1];</code> + */ + public Builder clearPlayer() { + bitField0_ = (bitField0_ & ~0x00000002); + player_ = -1; + onChanged(); + return this; + } + + private int actionID_ = -1; + /** + * <code>optional int32 actionID = 4 [default = -1];</code> + */ + public boolean hasActionID() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional int32 actionID = 4 [default = -1];</code> + */ + public int getActionID() { + return actionID_; + } + /** + * <code>optional int32 actionID = 4 [default = -1];</code> + */ + public Builder setActionID(int value) { + bitField0_ |= 0x00000004; + actionID_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 actionID = 4 [default = -1];</code> + */ + public Builder clearActionID() { + bitField0_ = (bitField0_ & ~0x00000004); + actionID_ = -1; + onChanged(); + return this; + } + + private int actionDelay_ ; + /** + * <code>optional int32 actionDelay = 10 [default = 0];</code> + */ + public boolean hasActionDelay() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional int32 actionDelay = 10 [default = 0];</code> + */ + public int getActionDelay() { + return actionDelay_; + } + /** + * <code>optional int32 actionDelay = 10 [default = 0];</code> + */ + public Builder setActionDelay(int value) { + bitField0_ |= 0x00000008; + actionDelay_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 actionDelay = 10 [default = 0];</code> + */ + public Builder clearActionDelay() { + bitField0_ = (bitField0_ & ~0x00000008); + actionDelay_ = 0; + onChanged(); + return this; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocationOrBuilder> moveToLocationBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveToLocation = 101;</code> + */ + public boolean hasMoveToLocation() { + return actionDataCase_ == 101; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveToLocation = 101;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation getMoveToLocation() { + if (moveToLocationBuilder_ == null) { + if (actionDataCase_ == 101) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.getDefaultInstance(); + } else { + if (actionDataCase_ == 101) { + return moveToLocationBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveToLocation = 101;</code> + */ + public Builder setMoveToLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation value) { + if (moveToLocationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + moveToLocationBuilder_.setMessage(value); + } + actionDataCase_ = 101; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveToLocation = 101;</code> + */ + public Builder setMoveToLocation( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.Builder builderForValue) { + if (moveToLocationBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + moveToLocationBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 101; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveToLocation = 101;</code> + */ + public Builder mergeMoveToLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation value) { + if (moveToLocationBuilder_ == null) { + if (actionDataCase_ == 101 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 101) { + moveToLocationBuilder_.mergeFrom(value); + } + moveToLocationBuilder_.setMessage(value); + } + actionDataCase_ = 101; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveToLocation = 101;</code> + */ + public Builder clearMoveToLocation() { + if (moveToLocationBuilder_ == null) { + if (actionDataCase_ == 101) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 101) { + actionDataCase_ = 0; + actionData_ = null; + } + moveToLocationBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveToLocation = 101;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.Builder getMoveToLocationBuilder() { + return getMoveToLocationFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveToLocation = 101;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocationOrBuilder getMoveToLocationOrBuilder() { + if ((actionDataCase_ == 101) && (moveToLocationBuilder_ != null)) { + return moveToLocationBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 101) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveToLocation = 101;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocationOrBuilder> + getMoveToLocationFieldBuilder() { + if (moveToLocationBuilder_ == null) { + if (!(actionDataCase_ == 101)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.getDefaultInstance(); + } + moveToLocationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocationOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 101; + onChanged();; + return moveToLocationBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTargetOrBuilder> moveToTargetBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.MoveToTarget moveToTarget = 102;</code> + */ + public boolean hasMoveToTarget() { + return actionDataCase_ == 102; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToTarget moveToTarget = 102;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget getMoveToTarget() { + if (moveToTargetBuilder_ == null) { + if (actionDataCase_ == 102) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.getDefaultInstance(); + } else { + if (actionDataCase_ == 102) { + return moveToTargetBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToTarget moveToTarget = 102;</code> + */ + public Builder setMoveToTarget(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget value) { + if (moveToTargetBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + moveToTargetBuilder_.setMessage(value); + } + actionDataCase_ = 102; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToTarget moveToTarget = 102;</code> + */ + public Builder setMoveToTarget( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.Builder builderForValue) { + if (moveToTargetBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + moveToTargetBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 102; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToTarget moveToTarget = 102;</code> + */ + public Builder mergeMoveToTarget(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget value) { + if (moveToTargetBuilder_ == null) { + if (actionDataCase_ == 102 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 102) { + moveToTargetBuilder_.mergeFrom(value); + } + moveToTargetBuilder_.setMessage(value); + } + actionDataCase_ = 102; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToTarget moveToTarget = 102;</code> + */ + public Builder clearMoveToTarget() { + if (moveToTargetBuilder_ == null) { + if (actionDataCase_ == 102) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 102) { + actionDataCase_ = 0; + actionData_ = null; + } + moveToTargetBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToTarget moveToTarget = 102;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.Builder getMoveToTargetBuilder() { + return getMoveToTargetFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToTarget moveToTarget = 102;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTargetOrBuilder getMoveToTargetOrBuilder() { + if ((actionDataCase_ == 102) && (moveToTargetBuilder_ != null)) { + return moveToTargetBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 102) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToTarget moveToTarget = 102;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTargetOrBuilder> + getMoveToTargetFieldBuilder() { + if (moveToTargetBuilder_ == null) { + if (!(actionDataCase_ == 102)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.getDefaultInstance(); + } + moveToTargetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTargetOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToTarget) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 102; + onChanged();; + return moveToTargetBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMoveOrBuilder> attackMoveBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.AttackMove attackMove = 103;</code> + */ + public boolean hasAttackMove() { + return actionDataCase_ == 103; + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackMove attackMove = 103;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove getAttackMove() { + if (attackMoveBuilder_ == null) { + if (actionDataCase_ == 103) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.getDefaultInstance(); + } else { + if (actionDataCase_ == 103) { + return attackMoveBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackMove attackMove = 103;</code> + */ + public Builder setAttackMove(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove value) { + if (attackMoveBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + attackMoveBuilder_.setMessage(value); + } + actionDataCase_ = 103; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackMove attackMove = 103;</code> + */ + public Builder setAttackMove( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.Builder builderForValue) { + if (attackMoveBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + attackMoveBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 103; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackMove attackMove = 103;</code> + */ + public Builder mergeAttackMove(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove value) { + if (attackMoveBuilder_ == null) { + if (actionDataCase_ == 103 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 103) { + attackMoveBuilder_.mergeFrom(value); + } + attackMoveBuilder_.setMessage(value); + } + actionDataCase_ = 103; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackMove attackMove = 103;</code> + */ + public Builder clearAttackMove() { + if (attackMoveBuilder_ == null) { + if (actionDataCase_ == 103) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 103) { + actionDataCase_ = 0; + actionData_ = null; + } + attackMoveBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackMove attackMove = 103;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.Builder getAttackMoveBuilder() { + return getAttackMoveFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackMove attackMove = 103;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMoveOrBuilder getAttackMoveOrBuilder() { + if ((actionDataCase_ == 103) && (attackMoveBuilder_ != null)) { + return attackMoveBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 103) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackMove attackMove = 103;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMoveOrBuilder> + getAttackMoveFieldBuilder() { + if (attackMoveBuilder_ == null) { + if (!(actionDataCase_ == 103)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.getDefaultInstance(); + } + attackMoveBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMoveOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackMove) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 103; + onChanged();; + return attackMoveBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTargetOrBuilder> attackTargetBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.AttackTarget attackTarget = 104;</code> + */ + public boolean hasAttackTarget() { + return actionDataCase_ == 104; + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackTarget attackTarget = 104;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget getAttackTarget() { + if (attackTargetBuilder_ == null) { + if (actionDataCase_ == 104) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.getDefaultInstance(); + } else { + if (actionDataCase_ == 104) { + return attackTargetBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackTarget attackTarget = 104;</code> + */ + public Builder setAttackTarget(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget value) { + if (attackTargetBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + attackTargetBuilder_.setMessage(value); + } + actionDataCase_ = 104; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackTarget attackTarget = 104;</code> + */ + public Builder setAttackTarget( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.Builder builderForValue) { + if (attackTargetBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + attackTargetBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 104; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackTarget attackTarget = 104;</code> + */ + public Builder mergeAttackTarget(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget value) { + if (attackTargetBuilder_ == null) { + if (actionDataCase_ == 104 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 104) { + attackTargetBuilder_.mergeFrom(value); + } + attackTargetBuilder_.setMessage(value); + } + actionDataCase_ = 104; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackTarget attackTarget = 104;</code> + */ + public Builder clearAttackTarget() { + if (attackTargetBuilder_ == null) { + if (actionDataCase_ == 104) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 104) { + actionDataCase_ = 0; + actionData_ = null; + } + attackTargetBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackTarget attackTarget = 104;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.Builder getAttackTargetBuilder() { + return getAttackTargetFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackTarget attackTarget = 104;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTargetOrBuilder getAttackTargetOrBuilder() { + if ((actionDataCase_ == 104) && (attackTargetBuilder_ != null)) { + return attackTargetBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 104) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.AttackTarget attackTarget = 104;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTargetOrBuilder> + getAttackTargetFieldBuilder() { + if (attackTargetBuilder_ == null) { + if (!(actionDataCase_ == 104)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.getDefaultInstance(); + } + attackTargetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTargetOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.AttackTarget) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 104; + onChanged();; + return attackTargetBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocationOrBuilder> castLocationBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.CastLocation castLocation = 105;</code> + */ + public boolean hasCastLocation() { + return actionDataCase_ == 105; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastLocation castLocation = 105;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation getCastLocation() { + if (castLocationBuilder_ == null) { + if (actionDataCase_ == 105) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.getDefaultInstance(); + } else { + if (actionDataCase_ == 105) { + return castLocationBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.CastLocation castLocation = 105;</code> + */ + public Builder setCastLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation value) { + if (castLocationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + castLocationBuilder_.setMessage(value); + } + actionDataCase_ = 105; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastLocation castLocation = 105;</code> + */ + public Builder setCastLocation( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.Builder builderForValue) { + if (castLocationBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + castLocationBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 105; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastLocation castLocation = 105;</code> + */ + public Builder mergeCastLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation value) { + if (castLocationBuilder_ == null) { + if (actionDataCase_ == 105 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 105) { + castLocationBuilder_.mergeFrom(value); + } + castLocationBuilder_.setMessage(value); + } + actionDataCase_ = 105; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastLocation castLocation = 105;</code> + */ + public Builder clearCastLocation() { + if (castLocationBuilder_ == null) { + if (actionDataCase_ == 105) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 105) { + actionDataCase_ = 0; + actionData_ = null; + } + castLocationBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastLocation castLocation = 105;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.Builder getCastLocationBuilder() { + return getCastLocationFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.CastLocation castLocation = 105;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocationOrBuilder getCastLocationOrBuilder() { + if ((actionDataCase_ == 105) && (castLocationBuilder_ != null)) { + return castLocationBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 105) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.CastLocation castLocation = 105;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocationOrBuilder> + getCastLocationFieldBuilder() { + if (castLocationBuilder_ == null) { + if (!(actionDataCase_ == 105)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.getDefaultInstance(); + } + castLocationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocationOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastLocation) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 105; + onChanged();; + return castLocationBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTargetOrBuilder> castTargetBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.CastTarget castTarget = 106;</code> + */ + public boolean hasCastTarget() { + return actionDataCase_ == 106; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTarget castTarget = 106;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget getCastTarget() { + if (castTargetBuilder_ == null) { + if (actionDataCase_ == 106) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.getDefaultInstance(); + } else { + if (actionDataCase_ == 106) { + return castTargetBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTarget castTarget = 106;</code> + */ + public Builder setCastTarget(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget value) { + if (castTargetBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + castTargetBuilder_.setMessage(value); + } + actionDataCase_ = 106; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTarget castTarget = 106;</code> + */ + public Builder setCastTarget( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.Builder builderForValue) { + if (castTargetBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + castTargetBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 106; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTarget castTarget = 106;</code> + */ + public Builder mergeCastTarget(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget value) { + if (castTargetBuilder_ == null) { + if (actionDataCase_ == 106 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 106) { + castTargetBuilder_.mergeFrom(value); + } + castTargetBuilder_.setMessage(value); + } + actionDataCase_ = 106; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTarget castTarget = 106;</code> + */ + public Builder clearCastTarget() { + if (castTargetBuilder_ == null) { + if (actionDataCase_ == 106) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 106) { + actionDataCase_ = 0; + actionData_ = null; + } + castTargetBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTarget castTarget = 106;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.Builder getCastTargetBuilder() { + return getCastTargetFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTarget castTarget = 106;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTargetOrBuilder getCastTargetOrBuilder() { + if ((actionDataCase_ == 106) && (castTargetBuilder_ != null)) { + return castTargetBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 106) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTarget castTarget = 106;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTargetOrBuilder> + getCastTargetFieldBuilder() { + if (castTargetBuilder_ == null) { + if (!(actionDataCase_ == 106)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.getDefaultInstance(); + } + castTargetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTargetOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTarget) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 106; + onChanged();; + return castTargetBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTreeOrBuilder> castTreeBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.CastTree castTree = 107;</code> + */ + public boolean hasCastTree() { + return actionDataCase_ == 107; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTree castTree = 107;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree getCastTree() { + if (castTreeBuilder_ == null) { + if (actionDataCase_ == 107) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.getDefaultInstance(); + } else { + if (actionDataCase_ == 107) { + return castTreeBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTree castTree = 107;</code> + */ + public Builder setCastTree(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree value) { + if (castTreeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + castTreeBuilder_.setMessage(value); + } + actionDataCase_ = 107; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTree castTree = 107;</code> + */ + public Builder setCastTree( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.Builder builderForValue) { + if (castTreeBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + castTreeBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 107; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTree castTree = 107;</code> + */ + public Builder mergeCastTree(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree value) { + if (castTreeBuilder_ == null) { + if (actionDataCase_ == 107 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 107) { + castTreeBuilder_.mergeFrom(value); + } + castTreeBuilder_.setMessage(value); + } + actionDataCase_ = 107; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTree castTree = 107;</code> + */ + public Builder clearCastTree() { + if (castTreeBuilder_ == null) { + if (actionDataCase_ == 107) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 107) { + actionDataCase_ = 0; + actionData_ = null; + } + castTreeBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTree castTree = 107;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.Builder getCastTreeBuilder() { + return getCastTreeFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTree castTree = 107;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTreeOrBuilder getCastTreeOrBuilder() { + if ((actionDataCase_ == 107) && (castTreeBuilder_ != null)) { + return castTreeBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 107) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.CastTree castTree = 107;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTreeOrBuilder> + getCastTreeFieldBuilder() { + if (castTreeBuilder_ == null) { + if (!(actionDataCase_ == 107)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.getDefaultInstance(); + } + castTreeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTreeOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastTree) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 107; + onChanged();; + return castTreeBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastOrBuilder> castBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.Cast cast = 108;</code> + */ + public boolean hasCast() { + return actionDataCase_ == 108; + } + /** + * <code>optional .CMsgBotWorldState.Action.Cast cast = 108;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast getCast() { + if (castBuilder_ == null) { + if (actionDataCase_ == 108) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.getDefaultInstance(); + } else { + if (actionDataCase_ == 108) { + return castBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.Cast cast = 108;</code> + */ + public Builder setCast(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast value) { + if (castBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + castBuilder_.setMessage(value); + } + actionDataCase_ = 108; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Cast cast = 108;</code> + */ + public Builder setCast( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.Builder builderForValue) { + if (castBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + castBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 108; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Cast cast = 108;</code> + */ + public Builder mergeCast(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast value) { + if (castBuilder_ == null) { + if (actionDataCase_ == 108 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 108) { + castBuilder_.mergeFrom(value); + } + castBuilder_.setMessage(value); + } + actionDataCase_ = 108; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Cast cast = 108;</code> + */ + public Builder clearCast() { + if (castBuilder_ == null) { + if (actionDataCase_ == 108) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 108) { + actionDataCase_ = 0; + actionData_ = null; + } + castBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Cast cast = 108;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.Builder getCastBuilder() { + return getCastFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.Cast cast = 108;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastOrBuilder getCastOrBuilder() { + if ((actionDataCase_ == 108) && (castBuilder_ != null)) { + return castBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 108) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.Cast cast = 108;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastOrBuilder> + getCastFieldBuilder() { + if (castBuilder_ == null) { + if (!(actionDataCase_ == 108)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.getDefaultInstance(); + } + castBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Cast) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 108; + onChanged();; + return castBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggleOrBuilder> castToggleBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.CastToggle castToggle = 109;</code> + */ + public boolean hasCastToggle() { + return actionDataCase_ == 109; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastToggle castToggle = 109;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle getCastToggle() { + if (castToggleBuilder_ == null) { + if (actionDataCase_ == 109) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.getDefaultInstance(); + } else { + if (actionDataCase_ == 109) { + return castToggleBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.CastToggle castToggle = 109;</code> + */ + public Builder setCastToggle(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle value) { + if (castToggleBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + castToggleBuilder_.setMessage(value); + } + actionDataCase_ = 109; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastToggle castToggle = 109;</code> + */ + public Builder setCastToggle( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.Builder builderForValue) { + if (castToggleBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + castToggleBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 109; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastToggle castToggle = 109;</code> + */ + public Builder mergeCastToggle(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle value) { + if (castToggleBuilder_ == null) { + if (actionDataCase_ == 109 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 109) { + castToggleBuilder_.mergeFrom(value); + } + castToggleBuilder_.setMessage(value); + } + actionDataCase_ = 109; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastToggle castToggle = 109;</code> + */ + public Builder clearCastToggle() { + if (castToggleBuilder_ == null) { + if (actionDataCase_ == 109) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 109) { + actionDataCase_ = 0; + actionData_ = null; + } + castToggleBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.CastToggle castToggle = 109;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.Builder getCastToggleBuilder() { + return getCastToggleFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.CastToggle castToggle = 109;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggleOrBuilder getCastToggleOrBuilder() { + if ((actionDataCase_ == 109) && (castToggleBuilder_ != null)) { + return castToggleBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 109) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.CastToggle castToggle = 109;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggleOrBuilder> + getCastToggleFieldBuilder() { + if (castToggleBuilder_ == null) { + if (!(actionDataCase_ == 109)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.getDefaultInstance(); + } + castToggleBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggleOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CastToggle) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 109; + onChanged();; + return castToggleBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocationOrBuilder> holdLocationBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.HoldLocation holdLocation = 110;</code> + */ + public boolean hasHoldLocation() { + return actionDataCase_ == 110; + } + /** + * <code>optional .CMsgBotWorldState.Action.HoldLocation holdLocation = 110;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation getHoldLocation() { + if (holdLocationBuilder_ == null) { + if (actionDataCase_ == 110) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.getDefaultInstance(); + } else { + if (actionDataCase_ == 110) { + return holdLocationBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.HoldLocation holdLocation = 110;</code> + */ + public Builder setHoldLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation value) { + if (holdLocationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + holdLocationBuilder_.setMessage(value); + } + actionDataCase_ = 110; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.HoldLocation holdLocation = 110;</code> + */ + public Builder setHoldLocation( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.Builder builderForValue) { + if (holdLocationBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + holdLocationBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 110; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.HoldLocation holdLocation = 110;</code> + */ + public Builder mergeHoldLocation(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation value) { + if (holdLocationBuilder_ == null) { + if (actionDataCase_ == 110 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 110) { + holdLocationBuilder_.mergeFrom(value); + } + holdLocationBuilder_.setMessage(value); + } + actionDataCase_ = 110; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.HoldLocation holdLocation = 110;</code> + */ + public Builder clearHoldLocation() { + if (holdLocationBuilder_ == null) { + if (actionDataCase_ == 110) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 110) { + actionDataCase_ = 0; + actionData_ = null; + } + holdLocationBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.HoldLocation holdLocation = 110;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.Builder getHoldLocationBuilder() { + return getHoldLocationFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.HoldLocation holdLocation = 110;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocationOrBuilder getHoldLocationOrBuilder() { + if ((actionDataCase_ == 110) && (holdLocationBuilder_ != null)) { + return holdLocationBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 110) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.HoldLocation holdLocation = 110;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocationOrBuilder> + getHoldLocationFieldBuilder() { + if (holdLocationBuilder_ == null) { + if (!(actionDataCase_ == 110)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.getDefaultInstance(); + } + holdLocationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocationOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.HoldLocation) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 110; + onChanged();; + return holdLocationBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbilityOrBuilder> trainAbilityBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.TrainAbility trainAbility = 111;</code> + */ + public boolean hasTrainAbility() { + return actionDataCase_ == 111; + } + /** + * <code>optional .CMsgBotWorldState.Action.TrainAbility trainAbility = 111;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility getTrainAbility() { + if (trainAbilityBuilder_ == null) { + if (actionDataCase_ == 111) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.getDefaultInstance(); + } else { + if (actionDataCase_ == 111) { + return trainAbilityBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.TrainAbility trainAbility = 111;</code> + */ + public Builder setTrainAbility(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility value) { + if (trainAbilityBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + trainAbilityBuilder_.setMessage(value); + } + actionDataCase_ = 111; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.TrainAbility trainAbility = 111;</code> + */ + public Builder setTrainAbility( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.Builder builderForValue) { + if (trainAbilityBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + trainAbilityBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 111; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.TrainAbility trainAbility = 111;</code> + */ + public Builder mergeTrainAbility(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility value) { + if (trainAbilityBuilder_ == null) { + if (actionDataCase_ == 111 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 111) { + trainAbilityBuilder_.mergeFrom(value); + } + trainAbilityBuilder_.setMessage(value); + } + actionDataCase_ = 111; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.TrainAbility trainAbility = 111;</code> + */ + public Builder clearTrainAbility() { + if (trainAbilityBuilder_ == null) { + if (actionDataCase_ == 111) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 111) { + actionDataCase_ = 0; + actionData_ = null; + } + trainAbilityBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.TrainAbility trainAbility = 111;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.Builder getTrainAbilityBuilder() { + return getTrainAbilityFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.TrainAbility trainAbility = 111;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbilityOrBuilder getTrainAbilityOrBuilder() { + if ((actionDataCase_ == 111) && (trainAbilityBuilder_ != null)) { + return trainAbilityBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 111) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.TrainAbility trainAbility = 111;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbilityOrBuilder> + getTrainAbilityFieldBuilder() { + if (trainAbilityBuilder_ == null) { + if (!(actionDataCase_ == 111)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.getDefaultInstance(); + } + trainAbilityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbilityOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.TrainAbility) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 111; + onChanged();; + return trainAbilityBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItemOrBuilder> dropItemBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.DropItem dropItem = 112;</code> + */ + public boolean hasDropItem() { + return actionDataCase_ == 112; + } + /** + * <code>optional .CMsgBotWorldState.Action.DropItem dropItem = 112;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem getDropItem() { + if (dropItemBuilder_ == null) { + if (actionDataCase_ == 112) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.getDefaultInstance(); + } else { + if (actionDataCase_ == 112) { + return dropItemBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.DropItem dropItem = 112;</code> + */ + public Builder setDropItem(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem value) { + if (dropItemBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + dropItemBuilder_.setMessage(value); + } + actionDataCase_ = 112; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.DropItem dropItem = 112;</code> + */ + public Builder setDropItem( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.Builder builderForValue) { + if (dropItemBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + dropItemBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 112; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.DropItem dropItem = 112;</code> + */ + public Builder mergeDropItem(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem value) { + if (dropItemBuilder_ == null) { + if (actionDataCase_ == 112 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 112) { + dropItemBuilder_.mergeFrom(value); + } + dropItemBuilder_.setMessage(value); + } + actionDataCase_ = 112; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.DropItem dropItem = 112;</code> + */ + public Builder clearDropItem() { + if (dropItemBuilder_ == null) { + if (actionDataCase_ == 112) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 112) { + actionDataCase_ = 0; + actionData_ = null; + } + dropItemBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.DropItem dropItem = 112;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.Builder getDropItemBuilder() { + return getDropItemFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.DropItem dropItem = 112;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItemOrBuilder getDropItemOrBuilder() { + if ((actionDataCase_ == 112) && (dropItemBuilder_ != null)) { + return dropItemBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 112) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.DropItem dropItem = 112;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItemOrBuilder> + getDropItemFieldBuilder() { + if (dropItemBuilder_ == null) { + if (!(actionDataCase_ == 112)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.getDefaultInstance(); + } + dropItemBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItemOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DropItem) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 112; + onChanged();; + return dropItemBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItemOrBuilder> pickUpItemBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.PickUpItem pickUpItem = 114;</code> + */ + public boolean hasPickUpItem() { + return actionDataCase_ == 114; + } + /** + * <code>optional .CMsgBotWorldState.Action.PickUpItem pickUpItem = 114;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem getPickUpItem() { + if (pickUpItemBuilder_ == null) { + if (actionDataCase_ == 114) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.getDefaultInstance(); + } else { + if (actionDataCase_ == 114) { + return pickUpItemBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.PickUpItem pickUpItem = 114;</code> + */ + public Builder setPickUpItem(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem value) { + if (pickUpItemBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + pickUpItemBuilder_.setMessage(value); + } + actionDataCase_ = 114; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.PickUpItem pickUpItem = 114;</code> + */ + public Builder setPickUpItem( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.Builder builderForValue) { + if (pickUpItemBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + pickUpItemBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 114; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.PickUpItem pickUpItem = 114;</code> + */ + public Builder mergePickUpItem(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem value) { + if (pickUpItemBuilder_ == null) { + if (actionDataCase_ == 114 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 114) { + pickUpItemBuilder_.mergeFrom(value); + } + pickUpItemBuilder_.setMessage(value); + } + actionDataCase_ = 114; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.PickUpItem pickUpItem = 114;</code> + */ + public Builder clearPickUpItem() { + if (pickUpItemBuilder_ == null) { + if (actionDataCase_ == 114) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 114) { + actionDataCase_ = 0; + actionData_ = null; + } + pickUpItemBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.PickUpItem pickUpItem = 114;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.Builder getPickUpItemBuilder() { + return getPickUpItemFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.PickUpItem pickUpItem = 114;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItemOrBuilder getPickUpItemOrBuilder() { + if ((actionDataCase_ == 114) && (pickUpItemBuilder_ != null)) { + return pickUpItemBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 114) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.PickUpItem pickUpItem = 114;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItemOrBuilder> + getPickUpItemFieldBuilder() { + if (pickUpItemBuilder_ == null) { + if (!(actionDataCase_ == 114)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.getDefaultInstance(); + } + pickUpItemBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItemOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickUpItem) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 114; + onChanged();; + return pickUpItemBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRuneOrBuilder> pickupRuneBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.PickupRune pickupRune = 115;</code> + */ + public boolean hasPickupRune() { + return actionDataCase_ == 115; + } + /** + * <code>optional .CMsgBotWorldState.Action.PickupRune pickupRune = 115;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune getPickupRune() { + if (pickupRuneBuilder_ == null) { + if (actionDataCase_ == 115) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.getDefaultInstance(); + } else { + if (actionDataCase_ == 115) { + return pickupRuneBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.PickupRune pickupRune = 115;</code> + */ + public Builder setPickupRune(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune value) { + if (pickupRuneBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + pickupRuneBuilder_.setMessage(value); + } + actionDataCase_ = 115; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.PickupRune pickupRune = 115;</code> + */ + public Builder setPickupRune( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.Builder builderForValue) { + if (pickupRuneBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + pickupRuneBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 115; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.PickupRune pickupRune = 115;</code> + */ + public Builder mergePickupRune(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune value) { + if (pickupRuneBuilder_ == null) { + if (actionDataCase_ == 115 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 115) { + pickupRuneBuilder_.mergeFrom(value); + } + pickupRuneBuilder_.setMessage(value); + } + actionDataCase_ = 115; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.PickupRune pickupRune = 115;</code> + */ + public Builder clearPickupRune() { + if (pickupRuneBuilder_ == null) { + if (actionDataCase_ == 115) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 115) { + actionDataCase_ = 0; + actionData_ = null; + } + pickupRuneBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.PickupRune pickupRune = 115;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.Builder getPickupRuneBuilder() { + return getPickupRuneFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.PickupRune pickupRune = 115;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRuneOrBuilder getPickupRuneOrBuilder() { + if ((actionDataCase_ == 115) && (pickupRuneBuilder_ != null)) { + return pickupRuneBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 115) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.PickupRune pickupRune = 115;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRuneOrBuilder> + getPickupRuneFieldBuilder() { + if (pickupRuneBuilder_ == null) { + if (!(actionDataCase_ == 115)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.getDefaultInstance(); + } + pickupRuneBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRuneOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PickupRune) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 115; + onChanged();; + return pickupRuneBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItemOrBuilder> purchaseItemBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.PurchaseItem purchaseItem = 116;</code> + */ + public boolean hasPurchaseItem() { + return actionDataCase_ == 116; + } + /** + * <code>optional .CMsgBotWorldState.Action.PurchaseItem purchaseItem = 116;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem getPurchaseItem() { + if (purchaseItemBuilder_ == null) { + if (actionDataCase_ == 116) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.getDefaultInstance(); + } else { + if (actionDataCase_ == 116) { + return purchaseItemBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.PurchaseItem purchaseItem = 116;</code> + */ + public Builder setPurchaseItem(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem value) { + if (purchaseItemBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + purchaseItemBuilder_.setMessage(value); + } + actionDataCase_ = 116; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.PurchaseItem purchaseItem = 116;</code> + */ + public Builder setPurchaseItem( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.Builder builderForValue) { + if (purchaseItemBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + purchaseItemBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 116; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.PurchaseItem purchaseItem = 116;</code> + */ + public Builder mergePurchaseItem(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem value) { + if (purchaseItemBuilder_ == null) { + if (actionDataCase_ == 116 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 116) { + purchaseItemBuilder_.mergeFrom(value); + } + purchaseItemBuilder_.setMessage(value); + } + actionDataCase_ = 116; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.PurchaseItem purchaseItem = 116;</code> + */ + public Builder clearPurchaseItem() { + if (purchaseItemBuilder_ == null) { + if (actionDataCase_ == 116) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 116) { + actionDataCase_ = 0; + actionData_ = null; + } + purchaseItemBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.PurchaseItem purchaseItem = 116;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.Builder getPurchaseItemBuilder() { + return getPurchaseItemFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.PurchaseItem purchaseItem = 116;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItemOrBuilder getPurchaseItemOrBuilder() { + if ((actionDataCase_ == 116) && (purchaseItemBuilder_ != null)) { + return purchaseItemBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 116) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.PurchaseItem purchaseItem = 116;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItemOrBuilder> + getPurchaseItemFieldBuilder() { + if (purchaseItemBuilder_ == null) { + if (!(actionDataCase_ == 116)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.getDefaultInstance(); + } + purchaseItemBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItemOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.PurchaseItem) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 116; + onChanged();; + return purchaseItemBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItemOrBuilder> sellItemBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.SellItem sellItem = 117;</code> + */ + public boolean hasSellItem() { + return actionDataCase_ == 117; + } + /** + * <code>optional .CMsgBotWorldState.Action.SellItem sellItem = 117;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem getSellItem() { + if (sellItemBuilder_ == null) { + if (actionDataCase_ == 117) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.getDefaultInstance(); + } else { + if (actionDataCase_ == 117) { + return sellItemBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.SellItem sellItem = 117;</code> + */ + public Builder setSellItem(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem value) { + if (sellItemBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + sellItemBuilder_.setMessage(value); + } + actionDataCase_ = 117; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.SellItem sellItem = 117;</code> + */ + public Builder setSellItem( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.Builder builderForValue) { + if (sellItemBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + sellItemBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 117; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.SellItem sellItem = 117;</code> + */ + public Builder mergeSellItem(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem value) { + if (sellItemBuilder_ == null) { + if (actionDataCase_ == 117 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 117) { + sellItemBuilder_.mergeFrom(value); + } + sellItemBuilder_.setMessage(value); + } + actionDataCase_ = 117; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.SellItem sellItem = 117;</code> + */ + public Builder clearSellItem() { + if (sellItemBuilder_ == null) { + if (actionDataCase_ == 117) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 117) { + actionDataCase_ = 0; + actionData_ = null; + } + sellItemBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.SellItem sellItem = 117;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.Builder getSellItemBuilder() { + return getSellItemFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.SellItem sellItem = 117;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItemOrBuilder getSellItemOrBuilder() { + if ((actionDataCase_ == 117) && (sellItemBuilder_ != null)) { + return sellItemBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 117) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.SellItem sellItem = 117;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItemOrBuilder> + getSellItemFieldBuilder() { + if (sellItemBuilder_ == null) { + if (!(actionDataCase_ == 117)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.getDefaultInstance(); + } + sellItemBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItemOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SellItem) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 117; + onChanged();; + return sellItemBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItemOrBuilder> disassembleItemBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.DisassembleItem disassembleItem = 118;</code> + */ + public boolean hasDisassembleItem() { + return actionDataCase_ == 118; + } + /** + * <code>optional .CMsgBotWorldState.Action.DisassembleItem disassembleItem = 118;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem getDisassembleItem() { + if (disassembleItemBuilder_ == null) { + if (actionDataCase_ == 118) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.getDefaultInstance(); + } else { + if (actionDataCase_ == 118) { + return disassembleItemBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.DisassembleItem disassembleItem = 118;</code> + */ + public Builder setDisassembleItem(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem value) { + if (disassembleItemBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + disassembleItemBuilder_.setMessage(value); + } + actionDataCase_ = 118; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.DisassembleItem disassembleItem = 118;</code> + */ + public Builder setDisassembleItem( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.Builder builderForValue) { + if (disassembleItemBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + disassembleItemBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 118; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.DisassembleItem disassembleItem = 118;</code> + */ + public Builder mergeDisassembleItem(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem value) { + if (disassembleItemBuilder_ == null) { + if (actionDataCase_ == 118 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 118) { + disassembleItemBuilder_.mergeFrom(value); + } + disassembleItemBuilder_.setMessage(value); + } + actionDataCase_ = 118; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.DisassembleItem disassembleItem = 118;</code> + */ + public Builder clearDisassembleItem() { + if (disassembleItemBuilder_ == null) { + if (actionDataCase_ == 118) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 118) { + actionDataCase_ = 0; + actionData_ = null; + } + disassembleItemBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.DisassembleItem disassembleItem = 118;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.Builder getDisassembleItemBuilder() { + return getDisassembleItemFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.DisassembleItem disassembleItem = 118;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItemOrBuilder getDisassembleItemOrBuilder() { + if ((actionDataCase_ == 118) && (disassembleItemBuilder_ != null)) { + return disassembleItemBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 118) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.DisassembleItem disassembleItem = 118;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItemOrBuilder> + getDisassembleItemFieldBuilder() { + if (disassembleItemBuilder_ == null) { + if (!(actionDataCase_ == 118)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.getDefaultInstance(); + } + disassembleItemBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItemOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.DisassembleItem) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 118; + onChanged();; + return disassembleItemBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItemOrBuilder> setCombineLockItemBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.SetCombineLockItem setCombineLockItem = 132;</code> + */ + public boolean hasSetCombineLockItem() { + return actionDataCase_ == 132; + } + /** + * <code>optional .CMsgBotWorldState.Action.SetCombineLockItem setCombineLockItem = 132;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem getSetCombineLockItem() { + if (setCombineLockItemBuilder_ == null) { + if (actionDataCase_ == 132) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.getDefaultInstance(); + } else { + if (actionDataCase_ == 132) { + return setCombineLockItemBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.SetCombineLockItem setCombineLockItem = 132;</code> + */ + public Builder setSetCombineLockItem(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem value) { + if (setCombineLockItemBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + setCombineLockItemBuilder_.setMessage(value); + } + actionDataCase_ = 132; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.SetCombineLockItem setCombineLockItem = 132;</code> + */ + public Builder setSetCombineLockItem( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.Builder builderForValue) { + if (setCombineLockItemBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + setCombineLockItemBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 132; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.SetCombineLockItem setCombineLockItem = 132;</code> + */ + public Builder mergeSetCombineLockItem(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem value) { + if (setCombineLockItemBuilder_ == null) { + if (actionDataCase_ == 132 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 132) { + setCombineLockItemBuilder_.mergeFrom(value); + } + setCombineLockItemBuilder_.setMessage(value); + } + actionDataCase_ = 132; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.SetCombineLockItem setCombineLockItem = 132;</code> + */ + public Builder clearSetCombineLockItem() { + if (setCombineLockItemBuilder_ == null) { + if (actionDataCase_ == 132) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 132) { + actionDataCase_ = 0; + actionData_ = null; + } + setCombineLockItemBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.SetCombineLockItem setCombineLockItem = 132;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.Builder getSetCombineLockItemBuilder() { + return getSetCombineLockItemFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.SetCombineLockItem setCombineLockItem = 132;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItemOrBuilder getSetCombineLockItemOrBuilder() { + if ((actionDataCase_ == 132) && (setCombineLockItemBuilder_ != null)) { + return setCombineLockItemBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 132) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.SetCombineLockItem setCombineLockItem = 132;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItemOrBuilder> + getSetCombineLockItemFieldBuilder() { + if (setCombineLockItemBuilder_ == null) { + if (!(actionDataCase_ == 132)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.getDefaultInstance(); + } + setCombineLockItemBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItemOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SetCombineLockItem) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 132; + onChanged();; + return setCombineLockItemBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.StopOrBuilder> stopBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.Stop stop = 121;</code> + */ + public boolean hasStop() { + return actionDataCase_ == 121; + } + /** + * <code>optional .CMsgBotWorldState.Action.Stop stop = 121;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop getStop() { + if (stopBuilder_ == null) { + if (actionDataCase_ == 121) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.getDefaultInstance(); + } else { + if (actionDataCase_ == 121) { + return stopBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.Stop stop = 121;</code> + */ + public Builder setStop(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop value) { + if (stopBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + stopBuilder_.setMessage(value); + } + actionDataCase_ = 121; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Stop stop = 121;</code> + */ + public Builder setStop( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.Builder builderForValue) { + if (stopBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + stopBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 121; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Stop stop = 121;</code> + */ + public Builder mergeStop(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop value) { + if (stopBuilder_ == null) { + if (actionDataCase_ == 121 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 121) { + stopBuilder_.mergeFrom(value); + } + stopBuilder_.setMessage(value); + } + actionDataCase_ = 121; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Stop stop = 121;</code> + */ + public Builder clearStop() { + if (stopBuilder_ == null) { + if (actionDataCase_ == 121) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 121) { + actionDataCase_ = 0; + actionData_ = null; + } + stopBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Stop stop = 121;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.Builder getStopBuilder() { + return getStopFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.Stop stop = 121;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.StopOrBuilder getStopOrBuilder() { + if ((actionDataCase_ == 121) && (stopBuilder_ != null)) { + return stopBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 121) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.Stop stop = 121;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.StopOrBuilder> + getStopFieldBuilder() { + if (stopBuilder_ == null) { + if (!(actionDataCase_ == 121)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.getDefaultInstance(); + } + stopBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.StopOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Stop) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 121; + onChanged();; + return stopBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ChatOrBuilder> chatBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.Chat chat = 140;</code> + */ + public boolean hasChat() { + return actionDataCase_ == 140; + } + /** + * <code>optional .CMsgBotWorldState.Action.Chat chat = 140;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat getChat() { + if (chatBuilder_ == null) { + if (actionDataCase_ == 140) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.getDefaultInstance(); + } else { + if (actionDataCase_ == 140) { + return chatBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.Chat chat = 140;</code> + */ + public Builder setChat(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat value) { + if (chatBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + chatBuilder_.setMessage(value); + } + actionDataCase_ = 140; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Chat chat = 140;</code> + */ + public Builder setChat( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.Builder builderForValue) { + if (chatBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + chatBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 140; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Chat chat = 140;</code> + */ + public Builder mergeChat(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat value) { + if (chatBuilder_ == null) { + if (actionDataCase_ == 140 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 140) { + chatBuilder_.mergeFrom(value); + } + chatBuilder_.setMessage(value); + } + actionDataCase_ = 140; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Chat chat = 140;</code> + */ + public Builder clearChat() { + if (chatBuilder_ == null) { + if (actionDataCase_ == 140) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 140) { + actionDataCase_ = 0; + actionData_ = null; + } + chatBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Chat chat = 140;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.Builder getChatBuilder() { + return getChatFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.Chat chat = 140;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ChatOrBuilder getChatOrBuilder() { + if ((actionDataCase_ == 140) && (chatBuilder_ != null)) { + return chatBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 140) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.Chat chat = 140;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ChatOrBuilder> + getChatFieldBuilder() { + if (chatBuilder_ == null) { + if (!(actionDataCase_ == 140)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.getDefaultInstance(); + } + chatBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ChatOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Chat) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 140; + onChanged();; + return chatBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItemsOrBuilder> swapItemsBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.SwapItems swapItems = 141;</code> + */ + public boolean hasSwapItems() { + return actionDataCase_ == 141; + } + /** + * <code>optional .CMsgBotWorldState.Action.SwapItems swapItems = 141;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems getSwapItems() { + if (swapItemsBuilder_ == null) { + if (actionDataCase_ == 141) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.getDefaultInstance(); + } else { + if (actionDataCase_ == 141) { + return swapItemsBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.SwapItems swapItems = 141;</code> + */ + public Builder setSwapItems(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems value) { + if (swapItemsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + swapItemsBuilder_.setMessage(value); + } + actionDataCase_ = 141; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.SwapItems swapItems = 141;</code> + */ + public Builder setSwapItems( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.Builder builderForValue) { + if (swapItemsBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + swapItemsBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 141; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.SwapItems swapItems = 141;</code> + */ + public Builder mergeSwapItems(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems value) { + if (swapItemsBuilder_ == null) { + if (actionDataCase_ == 141 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 141) { + swapItemsBuilder_.mergeFrom(value); + } + swapItemsBuilder_.setMessage(value); + } + actionDataCase_ = 141; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.SwapItems swapItems = 141;</code> + */ + public Builder clearSwapItems() { + if (swapItemsBuilder_ == null) { + if (actionDataCase_ == 141) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 141) { + actionDataCase_ = 0; + actionData_ = null; + } + swapItemsBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.SwapItems swapItems = 141;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.Builder getSwapItemsBuilder() { + return getSwapItemsFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.SwapItems swapItems = 141;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItemsOrBuilder getSwapItemsOrBuilder() { + if ((actionDataCase_ == 141) && (swapItemsBuilder_ != null)) { + return swapItemsBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 141) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.SwapItems swapItems = 141;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItemsOrBuilder> + getSwapItemsFieldBuilder() { + if (swapItemsBuilder_ == null) { + if (!(actionDataCase_ == 141)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.getDefaultInstance(); + } + swapItemsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItemsOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SwapItems) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 141; + onChanged();; + return swapItemsBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrineOrBuilder> useShrineBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.UseShrine useShrine = 142;</code> + */ + public boolean hasUseShrine() { + return actionDataCase_ == 142; + } + /** + * <code>optional .CMsgBotWorldState.Action.UseShrine useShrine = 142;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine getUseShrine() { + if (useShrineBuilder_ == null) { + if (actionDataCase_ == 142) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.getDefaultInstance(); + } else { + if (actionDataCase_ == 142) { + return useShrineBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.UseShrine useShrine = 142;</code> + */ + public Builder setUseShrine(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine value) { + if (useShrineBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + useShrineBuilder_.setMessage(value); + } + actionDataCase_ = 142; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.UseShrine useShrine = 142;</code> + */ + public Builder setUseShrine( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.Builder builderForValue) { + if (useShrineBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + useShrineBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 142; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.UseShrine useShrine = 142;</code> + */ + public Builder mergeUseShrine(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine value) { + if (useShrineBuilder_ == null) { + if (actionDataCase_ == 142 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 142) { + useShrineBuilder_.mergeFrom(value); + } + useShrineBuilder_.setMessage(value); + } + actionDataCase_ = 142; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.UseShrine useShrine = 142;</code> + */ + public Builder clearUseShrine() { + if (useShrineBuilder_ == null) { + if (actionDataCase_ == 142) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 142) { + actionDataCase_ = 0; + actionData_ = null; + } + useShrineBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.UseShrine useShrine = 142;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.Builder getUseShrineBuilder() { + return getUseShrineFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.UseShrine useShrine = 142;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrineOrBuilder getUseShrineOrBuilder() { + if ((actionDataCase_ == 142) && (useShrineBuilder_ != null)) { + return useShrineBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 142) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.UseShrine useShrine = 142;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrineOrBuilder> + getUseShrineFieldBuilder() { + if (useShrineBuilder_ == null) { + if (!(actionDataCase_ == 142)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.getDefaultInstance(); + } + useShrineBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrineOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.UseShrine) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 142; + onChanged();; + return useShrineBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CourierOrBuilder> courierBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.Courier courier = 143;</code> + */ + public boolean hasCourier() { + return actionDataCase_ == 143; + } + /** + * <code>optional .CMsgBotWorldState.Action.Courier courier = 143;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier getCourier() { + if (courierBuilder_ == null) { + if (actionDataCase_ == 143) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.getDefaultInstance(); + } else { + if (actionDataCase_ == 143) { + return courierBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.Courier courier = 143;</code> + */ + public Builder setCourier(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier value) { + if (courierBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + courierBuilder_.setMessage(value); + } + actionDataCase_ = 143; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Courier courier = 143;</code> + */ + public Builder setCourier( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.Builder builderForValue) { + if (courierBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + courierBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 143; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Courier courier = 143;</code> + */ + public Builder mergeCourier(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier value) { + if (courierBuilder_ == null) { + if (actionDataCase_ == 143 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 143) { + courierBuilder_.mergeFrom(value); + } + courierBuilder_.setMessage(value); + } + actionDataCase_ = 143; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Courier courier = 143;</code> + */ + public Builder clearCourier() { + if (courierBuilder_ == null) { + if (actionDataCase_ == 143) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 143) { + actionDataCase_ = 0; + actionData_ = null; + } + courierBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Courier courier = 143;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.Builder getCourierBuilder() { + return getCourierFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.Courier courier = 143;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CourierOrBuilder getCourierOrBuilder() { + if ((actionDataCase_ == 143) && (courierBuilder_ != null)) { + return courierBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 143) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.Courier courier = 143;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CourierOrBuilder> + getCourierFieldBuilder() { + if (courierBuilder_ == null) { + if (!(actionDataCase_ == 143)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.getDefaultInstance(); + } + courierBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.CourierOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Courier) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 143; + onChanged();; + return courierBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamageOrBuilder> getActualIncomingDamageBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.GetActualIncomingDamage getActualIncomingDamage = 144;</code> + */ + public boolean hasGetActualIncomingDamage() { + return actionDataCase_ == 144; + } + /** + * <code>optional .CMsgBotWorldState.Action.GetActualIncomingDamage getActualIncomingDamage = 144;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage getGetActualIncomingDamage() { + if (getActualIncomingDamageBuilder_ == null) { + if (actionDataCase_ == 144) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.getDefaultInstance(); + } else { + if (actionDataCase_ == 144) { + return getActualIncomingDamageBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.GetActualIncomingDamage getActualIncomingDamage = 144;</code> + */ + public Builder setGetActualIncomingDamage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage value) { + if (getActualIncomingDamageBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + getActualIncomingDamageBuilder_.setMessage(value); + } + actionDataCase_ = 144; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.GetActualIncomingDamage getActualIncomingDamage = 144;</code> + */ + public Builder setGetActualIncomingDamage( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.Builder builderForValue) { + if (getActualIncomingDamageBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + getActualIncomingDamageBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 144; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.GetActualIncomingDamage getActualIncomingDamage = 144;</code> + */ + public Builder mergeGetActualIncomingDamage(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage value) { + if (getActualIncomingDamageBuilder_ == null) { + if (actionDataCase_ == 144 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 144) { + getActualIncomingDamageBuilder_.mergeFrom(value); + } + getActualIncomingDamageBuilder_.setMessage(value); + } + actionDataCase_ = 144; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.GetActualIncomingDamage getActualIncomingDamage = 144;</code> + */ + public Builder clearGetActualIncomingDamage() { + if (getActualIncomingDamageBuilder_ == null) { + if (actionDataCase_ == 144) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 144) { + actionDataCase_ = 0; + actionData_ = null; + } + getActualIncomingDamageBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.GetActualIncomingDamage getActualIncomingDamage = 144;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.Builder getGetActualIncomingDamageBuilder() { + return getGetActualIncomingDamageFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.GetActualIncomingDamage getActualIncomingDamage = 144;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamageOrBuilder getGetActualIncomingDamageOrBuilder() { + if ((actionDataCase_ == 144) && (getActualIncomingDamageBuilder_ != null)) { + return getActualIncomingDamageBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 144) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.GetActualIncomingDamage getActualIncomingDamage = 144;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamageOrBuilder> + getGetActualIncomingDamageFieldBuilder() { + if (getActualIncomingDamageBuilder_ == null) { + if (!(actionDataCase_ == 144)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.getDefaultInstance(); + } + getActualIncomingDamageBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamageOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetActualIncomingDamage) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 144; + onChanged();; + return getActualIncomingDamageBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTargetOrBuilder> getEstimatedDamageToTargetBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.GetEstimatedDamageToTarget getEstimatedDamageToTarget = 145;</code> + */ + public boolean hasGetEstimatedDamageToTarget() { + return actionDataCase_ == 145; + } + /** + * <code>optional .CMsgBotWorldState.Action.GetEstimatedDamageToTarget getEstimatedDamageToTarget = 145;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget getGetEstimatedDamageToTarget() { + if (getEstimatedDamageToTargetBuilder_ == null) { + if (actionDataCase_ == 145) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.getDefaultInstance(); + } else { + if (actionDataCase_ == 145) { + return getEstimatedDamageToTargetBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.GetEstimatedDamageToTarget getEstimatedDamageToTarget = 145;</code> + */ + public Builder setGetEstimatedDamageToTarget(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget value) { + if (getEstimatedDamageToTargetBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + getEstimatedDamageToTargetBuilder_.setMessage(value); + } + actionDataCase_ = 145; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.GetEstimatedDamageToTarget getEstimatedDamageToTarget = 145;</code> + */ + public Builder setGetEstimatedDamageToTarget( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.Builder builderForValue) { + if (getEstimatedDamageToTargetBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + getEstimatedDamageToTargetBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 145; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.GetEstimatedDamageToTarget getEstimatedDamageToTarget = 145;</code> + */ + public Builder mergeGetEstimatedDamageToTarget(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget value) { + if (getEstimatedDamageToTargetBuilder_ == null) { + if (actionDataCase_ == 145 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 145) { + getEstimatedDamageToTargetBuilder_.mergeFrom(value); + } + getEstimatedDamageToTargetBuilder_.setMessage(value); + } + actionDataCase_ = 145; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.GetEstimatedDamageToTarget getEstimatedDamageToTarget = 145;</code> + */ + public Builder clearGetEstimatedDamageToTarget() { + if (getEstimatedDamageToTargetBuilder_ == null) { + if (actionDataCase_ == 145) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 145) { + actionDataCase_ = 0; + actionData_ = null; + } + getEstimatedDamageToTargetBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.GetEstimatedDamageToTarget getEstimatedDamageToTarget = 145;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.Builder getGetEstimatedDamageToTargetBuilder() { + return getGetEstimatedDamageToTargetFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.GetEstimatedDamageToTarget getEstimatedDamageToTarget = 145;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTargetOrBuilder getGetEstimatedDamageToTargetOrBuilder() { + if ((actionDataCase_ == 145) && (getEstimatedDamageToTargetBuilder_ != null)) { + return getEstimatedDamageToTargetBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 145) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.GetEstimatedDamageToTarget getEstimatedDamageToTarget = 145;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTargetOrBuilder> + getGetEstimatedDamageToTargetFieldBuilder() { + if (getEstimatedDamageToTargetBuilder_ == null) { + if (!(actionDataCase_ == 145)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.getDefaultInstance(); + } + getEstimatedDamageToTargetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTargetOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GetEstimatedDamageToTarget) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 145; + onChanged();; + return getEstimatedDamageToTargetBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GlyphOrBuilder> glyphBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.Glyph glyph = 146;</code> + */ + public boolean hasGlyph() { + return actionDataCase_ == 146; + } + /** + * <code>optional .CMsgBotWorldState.Action.Glyph glyph = 146;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph getGlyph() { + if (glyphBuilder_ == null) { + if (actionDataCase_ == 146) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.getDefaultInstance(); + } else { + if (actionDataCase_ == 146) { + return glyphBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.Glyph glyph = 146;</code> + */ + public Builder setGlyph(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph value) { + if (glyphBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + glyphBuilder_.setMessage(value); + } + actionDataCase_ = 146; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Glyph glyph = 146;</code> + */ + public Builder setGlyph( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.Builder builderForValue) { + if (glyphBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + glyphBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 146; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Glyph glyph = 146;</code> + */ + public Builder mergeGlyph(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph value) { + if (glyphBuilder_ == null) { + if (actionDataCase_ == 146 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 146) { + glyphBuilder_.mergeFrom(value); + } + glyphBuilder_.setMessage(value); + } + actionDataCase_ = 146; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Glyph glyph = 146;</code> + */ + public Builder clearGlyph() { + if (glyphBuilder_ == null) { + if (actionDataCase_ == 146) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 146) { + actionDataCase_ = 0; + actionData_ = null; + } + glyphBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Glyph glyph = 146;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.Builder getGlyphBuilder() { + return getGlyphFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.Glyph glyph = 146;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GlyphOrBuilder getGlyphOrBuilder() { + if ((actionDataCase_ == 146) && (glyphBuilder_ != null)) { + return glyphBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 146) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.Glyph glyph = 146;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GlyphOrBuilder> + getGlyphFieldBuilder() { + if (glyphBuilder_ == null) { + if (!(actionDataCase_ == 146)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.getDefaultInstance(); + } + glyphBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.GlyphOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Glyph) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 146; + onChanged();; + return glyphBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftResetOrBuilder> softResetBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.SoftReset softReset = 148;</code> + */ + public boolean hasSoftReset() { + return actionDataCase_ == 148; + } + /** + * <code>optional .CMsgBotWorldState.Action.SoftReset softReset = 148;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset getSoftReset() { + if (softResetBuilder_ == null) { + if (actionDataCase_ == 148) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.getDefaultInstance(); + } else { + if (actionDataCase_ == 148) { + return softResetBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.SoftReset softReset = 148;</code> + */ + public Builder setSoftReset(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset value) { + if (softResetBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + softResetBuilder_.setMessage(value); + } + actionDataCase_ = 148; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.SoftReset softReset = 148;</code> + */ + public Builder setSoftReset( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.Builder builderForValue) { + if (softResetBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + softResetBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 148; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.SoftReset softReset = 148;</code> + */ + public Builder mergeSoftReset(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset value) { + if (softResetBuilder_ == null) { + if (actionDataCase_ == 148 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 148) { + softResetBuilder_.mergeFrom(value); + } + softResetBuilder_.setMessage(value); + } + actionDataCase_ = 148; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.SoftReset softReset = 148;</code> + */ + public Builder clearSoftReset() { + if (softResetBuilder_ == null) { + if (actionDataCase_ == 148) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 148) { + actionDataCase_ = 0; + actionData_ = null; + } + softResetBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.SoftReset softReset = 148;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.Builder getSoftResetBuilder() { + return getSoftResetFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.SoftReset softReset = 148;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftResetOrBuilder getSoftResetOrBuilder() { + if ((actionDataCase_ == 148) && (softResetBuilder_ != null)) { + return softResetBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 148) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.SoftReset softReset = 148;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftResetOrBuilder> + getSoftResetFieldBuilder() { + if (softResetBuilder_ == null) { + if (!(actionDataCase_ == 148)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.getDefaultInstance(); + } + softResetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftResetOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.SoftReset) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 148; + onChanged();; + return softResetBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.BuybackOrBuilder> buybackBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.Buyback buyback = 149;</code> + */ + public boolean hasBuyback() { + return actionDataCase_ == 149; + } + /** + * <code>optional .CMsgBotWorldState.Action.Buyback buyback = 149;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback getBuyback() { + if (buybackBuilder_ == null) { + if (actionDataCase_ == 149) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.getDefaultInstance(); + } else { + if (actionDataCase_ == 149) { + return buybackBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.Buyback buyback = 149;</code> + */ + public Builder setBuyback(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback value) { + if (buybackBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + buybackBuilder_.setMessage(value); + } + actionDataCase_ = 149; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Buyback buyback = 149;</code> + */ + public Builder setBuyback( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.Builder builderForValue) { + if (buybackBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + buybackBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 149; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Buyback buyback = 149;</code> + */ + public Builder mergeBuyback(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback value) { + if (buybackBuilder_ == null) { + if (actionDataCase_ == 149 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 149) { + buybackBuilder_.mergeFrom(value); + } + buybackBuilder_.setMessage(value); + } + actionDataCase_ = 149; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Buyback buyback = 149;</code> + */ + public Builder clearBuyback() { + if (buybackBuilder_ == null) { + if (actionDataCase_ == 149) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 149) { + actionDataCase_ = 0; + actionData_ = null; + } + buybackBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.Buyback buyback = 149;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.Builder getBuybackBuilder() { + return getBuybackFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.Buyback buyback = 149;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.BuybackOrBuilder getBuybackOrBuilder() { + if ((actionDataCase_ == 149) && (buybackBuilder_ != null)) { + return buybackBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 149) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.Buyback buyback = 149;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.BuybackOrBuilder> + getBuybackFieldBuilder() { + if (buybackBuilder_ == null) { + if (!(actionDataCase_ == 149)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.getDefaultInstance(); + } + buybackBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.BuybackOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.Buyback) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 149; + onChanged();; + return buybackBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawTextOrBuilder> scriptingDebugDrawTextBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawText scriptingDebugDrawText = 150;</code> + */ + public boolean hasScriptingDebugDrawText() { + return actionDataCase_ == 150; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawText scriptingDebugDrawText = 150;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText getScriptingDebugDrawText() { + if (scriptingDebugDrawTextBuilder_ == null) { + if (actionDataCase_ == 150) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.getDefaultInstance(); + } else { + if (actionDataCase_ == 150) { + return scriptingDebugDrawTextBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawText scriptingDebugDrawText = 150;</code> + */ + public Builder setScriptingDebugDrawText(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText value) { + if (scriptingDebugDrawTextBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + scriptingDebugDrawTextBuilder_.setMessage(value); + } + actionDataCase_ = 150; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawText scriptingDebugDrawText = 150;</code> + */ + public Builder setScriptingDebugDrawText( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.Builder builderForValue) { + if (scriptingDebugDrawTextBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + scriptingDebugDrawTextBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 150; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawText scriptingDebugDrawText = 150;</code> + */ + public Builder mergeScriptingDebugDrawText(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText value) { + if (scriptingDebugDrawTextBuilder_ == null) { + if (actionDataCase_ == 150 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 150) { + scriptingDebugDrawTextBuilder_.mergeFrom(value); + } + scriptingDebugDrawTextBuilder_.setMessage(value); + } + actionDataCase_ = 150; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawText scriptingDebugDrawText = 150;</code> + */ + public Builder clearScriptingDebugDrawText() { + if (scriptingDebugDrawTextBuilder_ == null) { + if (actionDataCase_ == 150) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 150) { + actionDataCase_ = 0; + actionData_ = null; + } + scriptingDebugDrawTextBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawText scriptingDebugDrawText = 150;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.Builder getScriptingDebugDrawTextBuilder() { + return getScriptingDebugDrawTextFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawText scriptingDebugDrawText = 150;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawTextOrBuilder getScriptingDebugDrawTextOrBuilder() { + if ((actionDataCase_ == 150) && (scriptingDebugDrawTextBuilder_ != null)) { + return scriptingDebugDrawTextBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 150) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawText scriptingDebugDrawText = 150;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawTextOrBuilder> + getScriptingDebugDrawTextFieldBuilder() { + if (scriptingDebugDrawTextBuilder_ == null) { + if (!(actionDataCase_ == 150)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.getDefaultInstance(); + } + scriptingDebugDrawTextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawTextOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawText) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 150; + onChanged();; + return scriptingDebugDrawTextBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLineOrBuilder> scriptingDebugDrawLineBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawLine scriptingDebugDrawLine = 151;</code> + */ + public boolean hasScriptingDebugDrawLine() { + return actionDataCase_ == 151; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawLine scriptingDebugDrawLine = 151;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine getScriptingDebugDrawLine() { + if (scriptingDebugDrawLineBuilder_ == null) { + if (actionDataCase_ == 151) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.getDefaultInstance(); + } else { + if (actionDataCase_ == 151) { + return scriptingDebugDrawLineBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawLine scriptingDebugDrawLine = 151;</code> + */ + public Builder setScriptingDebugDrawLine(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine value) { + if (scriptingDebugDrawLineBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + scriptingDebugDrawLineBuilder_.setMessage(value); + } + actionDataCase_ = 151; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawLine scriptingDebugDrawLine = 151;</code> + */ + public Builder setScriptingDebugDrawLine( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.Builder builderForValue) { + if (scriptingDebugDrawLineBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + scriptingDebugDrawLineBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 151; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawLine scriptingDebugDrawLine = 151;</code> + */ + public Builder mergeScriptingDebugDrawLine(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine value) { + if (scriptingDebugDrawLineBuilder_ == null) { + if (actionDataCase_ == 151 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 151) { + scriptingDebugDrawLineBuilder_.mergeFrom(value); + } + scriptingDebugDrawLineBuilder_.setMessage(value); + } + actionDataCase_ = 151; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawLine scriptingDebugDrawLine = 151;</code> + */ + public Builder clearScriptingDebugDrawLine() { + if (scriptingDebugDrawLineBuilder_ == null) { + if (actionDataCase_ == 151) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 151) { + actionDataCase_ = 0; + actionData_ = null; + } + scriptingDebugDrawLineBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawLine scriptingDebugDrawLine = 151;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.Builder getScriptingDebugDrawLineBuilder() { + return getScriptingDebugDrawLineFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawLine scriptingDebugDrawLine = 151;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLineOrBuilder getScriptingDebugDrawLineOrBuilder() { + if ((actionDataCase_ == 151) && (scriptingDebugDrawLineBuilder_ != null)) { + return scriptingDebugDrawLineBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 151) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawLine scriptingDebugDrawLine = 151;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLineOrBuilder> + getScriptingDebugDrawLineFieldBuilder() { + if (scriptingDebugDrawLineBuilder_ == null) { + if (!(actionDataCase_ == 151)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.getDefaultInstance(); + } + scriptingDebugDrawLineBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLineOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawLine) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 151; + onChanged();; + return scriptingDebugDrawLineBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenTextOrBuilder> scriptingDebugDrawScreenTextBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawScreenText scriptingDebugDrawScreenText = 152;</code> + */ + public boolean hasScriptingDebugDrawScreenText() { + return actionDataCase_ == 152; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawScreenText scriptingDebugDrawScreenText = 152;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText getScriptingDebugDrawScreenText() { + if (scriptingDebugDrawScreenTextBuilder_ == null) { + if (actionDataCase_ == 152) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.getDefaultInstance(); + } else { + if (actionDataCase_ == 152) { + return scriptingDebugDrawScreenTextBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawScreenText scriptingDebugDrawScreenText = 152;</code> + */ + public Builder setScriptingDebugDrawScreenText(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText value) { + if (scriptingDebugDrawScreenTextBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + scriptingDebugDrawScreenTextBuilder_.setMessage(value); + } + actionDataCase_ = 152; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawScreenText scriptingDebugDrawScreenText = 152;</code> + */ + public Builder setScriptingDebugDrawScreenText( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.Builder builderForValue) { + if (scriptingDebugDrawScreenTextBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + scriptingDebugDrawScreenTextBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 152; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawScreenText scriptingDebugDrawScreenText = 152;</code> + */ + public Builder mergeScriptingDebugDrawScreenText(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText value) { + if (scriptingDebugDrawScreenTextBuilder_ == null) { + if (actionDataCase_ == 152 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 152) { + scriptingDebugDrawScreenTextBuilder_.mergeFrom(value); + } + scriptingDebugDrawScreenTextBuilder_.setMessage(value); + } + actionDataCase_ = 152; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawScreenText scriptingDebugDrawScreenText = 152;</code> + */ + public Builder clearScriptingDebugDrawScreenText() { + if (scriptingDebugDrawScreenTextBuilder_ == null) { + if (actionDataCase_ == 152) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 152) { + actionDataCase_ = 0; + actionData_ = null; + } + scriptingDebugDrawScreenTextBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawScreenText scriptingDebugDrawScreenText = 152;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.Builder getScriptingDebugDrawScreenTextBuilder() { + return getScriptingDebugDrawScreenTextFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawScreenText scriptingDebugDrawScreenText = 152;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenTextOrBuilder getScriptingDebugDrawScreenTextOrBuilder() { + if ((actionDataCase_ == 152) && (scriptingDebugDrawScreenTextBuilder_ != null)) { + return scriptingDebugDrawScreenTextBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 152) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawScreenText scriptingDebugDrawScreenText = 152;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenTextOrBuilder> + getScriptingDebugDrawScreenTextFieldBuilder() { + if (scriptingDebugDrawScreenTextBuilder_ == null) { + if (!(actionDataCase_ == 152)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.getDefaultInstance(); + } + scriptingDebugDrawScreenTextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenTextOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 152; + onChanged();; + return scriptingDebugDrawScreenTextBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBoxOrBuilder> scriptingDebugDrawBoxBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawBox scriptingDebugDrawBox = 153;</code> + */ + public boolean hasScriptingDebugDrawBox() { + return actionDataCase_ == 153; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawBox scriptingDebugDrawBox = 153;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox getScriptingDebugDrawBox() { + if (scriptingDebugDrawBoxBuilder_ == null) { + if (actionDataCase_ == 153) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.getDefaultInstance(); + } else { + if (actionDataCase_ == 153) { + return scriptingDebugDrawBoxBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawBox scriptingDebugDrawBox = 153;</code> + */ + public Builder setScriptingDebugDrawBox(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox value) { + if (scriptingDebugDrawBoxBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + scriptingDebugDrawBoxBuilder_.setMessage(value); + } + actionDataCase_ = 153; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawBox scriptingDebugDrawBox = 153;</code> + */ + public Builder setScriptingDebugDrawBox( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.Builder builderForValue) { + if (scriptingDebugDrawBoxBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + scriptingDebugDrawBoxBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 153; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawBox scriptingDebugDrawBox = 153;</code> + */ + public Builder mergeScriptingDebugDrawBox(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox value) { + if (scriptingDebugDrawBoxBuilder_ == null) { + if (actionDataCase_ == 153 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 153) { + scriptingDebugDrawBoxBuilder_.mergeFrom(value); + } + scriptingDebugDrawBoxBuilder_.setMessage(value); + } + actionDataCase_ = 153; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawBox scriptingDebugDrawBox = 153;</code> + */ + public Builder clearScriptingDebugDrawBox() { + if (scriptingDebugDrawBoxBuilder_ == null) { + if (actionDataCase_ == 153) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 153) { + actionDataCase_ = 0; + actionData_ = null; + } + scriptingDebugDrawBoxBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawBox scriptingDebugDrawBox = 153;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.Builder getScriptingDebugDrawBoxBuilder() { + return getScriptingDebugDrawBoxFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawBox scriptingDebugDrawBox = 153;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBoxOrBuilder getScriptingDebugDrawBoxOrBuilder() { + if ((actionDataCase_ == 153) && (scriptingDebugDrawBoxBuilder_ != null)) { + return scriptingDebugDrawBoxBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 153) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawBox scriptingDebugDrawBox = 153;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBoxOrBuilder> + getScriptingDebugDrawBoxFieldBuilder() { + if (scriptingDebugDrawBoxBuilder_ == null) { + if (!(actionDataCase_ == 153)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.getDefaultInstance(); + } + scriptingDebugDrawBoxBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBoxOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawBox) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 153; + onChanged();; + return scriptingDebugDrawBoxBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircleOrBuilder> scriptingDebugDrawCircleBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawCircle scriptingDebugDrawCircle = 154;</code> + */ + public boolean hasScriptingDebugDrawCircle() { + return actionDataCase_ == 154; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawCircle scriptingDebugDrawCircle = 154;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle getScriptingDebugDrawCircle() { + if (scriptingDebugDrawCircleBuilder_ == null) { + if (actionDataCase_ == 154) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.getDefaultInstance(); + } else { + if (actionDataCase_ == 154) { + return scriptingDebugDrawCircleBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawCircle scriptingDebugDrawCircle = 154;</code> + */ + public Builder setScriptingDebugDrawCircle(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle value) { + if (scriptingDebugDrawCircleBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + scriptingDebugDrawCircleBuilder_.setMessage(value); + } + actionDataCase_ = 154; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawCircle scriptingDebugDrawCircle = 154;</code> + */ + public Builder setScriptingDebugDrawCircle( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.Builder builderForValue) { + if (scriptingDebugDrawCircleBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + scriptingDebugDrawCircleBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 154; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawCircle scriptingDebugDrawCircle = 154;</code> + */ + public Builder mergeScriptingDebugDrawCircle(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle value) { + if (scriptingDebugDrawCircleBuilder_ == null) { + if (actionDataCase_ == 154 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 154) { + scriptingDebugDrawCircleBuilder_.mergeFrom(value); + } + scriptingDebugDrawCircleBuilder_.setMessage(value); + } + actionDataCase_ = 154; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawCircle scriptingDebugDrawCircle = 154;</code> + */ + public Builder clearScriptingDebugDrawCircle() { + if (scriptingDebugDrawCircleBuilder_ == null) { + if (actionDataCase_ == 154) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 154) { + actionDataCase_ = 0; + actionData_ = null; + } + scriptingDebugDrawCircleBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawCircle scriptingDebugDrawCircle = 154;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.Builder getScriptingDebugDrawCircleBuilder() { + return getScriptingDebugDrawCircleFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawCircle scriptingDebugDrawCircle = 154;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircleOrBuilder getScriptingDebugDrawCircleOrBuilder() { + if ((actionDataCase_ == 154) && (scriptingDebugDrawCircleBuilder_ != null)) { + return scriptingDebugDrawCircleBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 154) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawCircle scriptingDebugDrawCircle = 154;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircleOrBuilder> + getScriptingDebugDrawCircleFieldBuilder() { + if (scriptingDebugDrawCircleBuilder_ == null) { + if (!(actionDataCase_ == 154)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.getDefaultInstance(); + } + scriptingDebugDrawCircleBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircleOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawCircle) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 154; + onChanged();; + return scriptingDebugDrawCircleBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClearOrBuilder> scriptingDebugDrawClearBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawClear scriptingDebugDrawClear = 155;</code> + */ + public boolean hasScriptingDebugDrawClear() { + return actionDataCase_ == 155; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawClear scriptingDebugDrawClear = 155;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear getScriptingDebugDrawClear() { + if (scriptingDebugDrawClearBuilder_ == null) { + if (actionDataCase_ == 155) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.getDefaultInstance(); + } else { + if (actionDataCase_ == 155) { + return scriptingDebugDrawClearBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawClear scriptingDebugDrawClear = 155;</code> + */ + public Builder setScriptingDebugDrawClear(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear value) { + if (scriptingDebugDrawClearBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + scriptingDebugDrawClearBuilder_.setMessage(value); + } + actionDataCase_ = 155; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawClear scriptingDebugDrawClear = 155;</code> + */ + public Builder setScriptingDebugDrawClear( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.Builder builderForValue) { + if (scriptingDebugDrawClearBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + scriptingDebugDrawClearBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 155; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawClear scriptingDebugDrawClear = 155;</code> + */ + public Builder mergeScriptingDebugDrawClear(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear value) { + if (scriptingDebugDrawClearBuilder_ == null) { + if (actionDataCase_ == 155 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 155) { + scriptingDebugDrawClearBuilder_.mergeFrom(value); + } + scriptingDebugDrawClearBuilder_.setMessage(value); + } + actionDataCase_ = 155; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawClear scriptingDebugDrawClear = 155;</code> + */ + public Builder clearScriptingDebugDrawClear() { + if (scriptingDebugDrawClearBuilder_ == null) { + if (actionDataCase_ == 155) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 155) { + actionDataCase_ = 0; + actionData_ = null; + } + scriptingDebugDrawClearBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawClear scriptingDebugDrawClear = 155;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.Builder getScriptingDebugDrawClearBuilder() { + return getScriptingDebugDrawClearFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawClear scriptingDebugDrawClear = 155;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClearOrBuilder getScriptingDebugDrawClearOrBuilder() { + if ((actionDataCase_ == 155) && (scriptingDebugDrawClearBuilder_ != null)) { + return scriptingDebugDrawClearBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 155) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugDrawClear scriptingDebugDrawClear = 155;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClearOrBuilder> + getScriptingDebugDrawClearFieldBuilder() { + if (scriptingDebugDrawClearBuilder_ == null) { + if (!(actionDataCase_ == 155)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.getDefaultInstance(); + } + scriptingDebugDrawClearBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClearOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugDrawClear) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 155; + onChanged();; + return scriptingDebugDrawClearBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPrettyOrBuilder> scriptingDebugScreenTextPrettyBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty scriptingDebugScreenTextPretty = 159;</code> + */ + public boolean hasScriptingDebugScreenTextPretty() { + return actionDataCase_ == 159; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty scriptingDebugScreenTextPretty = 159;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty getScriptingDebugScreenTextPretty() { + if (scriptingDebugScreenTextPrettyBuilder_ == null) { + if (actionDataCase_ == 159) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.getDefaultInstance(); + } else { + if (actionDataCase_ == 159) { + return scriptingDebugScreenTextPrettyBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty scriptingDebugScreenTextPretty = 159;</code> + */ + public Builder setScriptingDebugScreenTextPretty(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty value) { + if (scriptingDebugScreenTextPrettyBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + scriptingDebugScreenTextPrettyBuilder_.setMessage(value); + } + actionDataCase_ = 159; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty scriptingDebugScreenTextPretty = 159;</code> + */ + public Builder setScriptingDebugScreenTextPretty( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.Builder builderForValue) { + if (scriptingDebugScreenTextPrettyBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + scriptingDebugScreenTextPrettyBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 159; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty scriptingDebugScreenTextPretty = 159;</code> + */ + public Builder mergeScriptingDebugScreenTextPretty(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty value) { + if (scriptingDebugScreenTextPrettyBuilder_ == null) { + if (actionDataCase_ == 159 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 159) { + scriptingDebugScreenTextPrettyBuilder_.mergeFrom(value); + } + scriptingDebugScreenTextPrettyBuilder_.setMessage(value); + } + actionDataCase_ = 159; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty scriptingDebugScreenTextPretty = 159;</code> + */ + public Builder clearScriptingDebugScreenTextPretty() { + if (scriptingDebugScreenTextPrettyBuilder_ == null) { + if (actionDataCase_ == 159) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 159) { + actionDataCase_ = 0; + actionData_ = null; + } + scriptingDebugScreenTextPrettyBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty scriptingDebugScreenTextPretty = 159;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.Builder getScriptingDebugScreenTextPrettyBuilder() { + return getScriptingDebugScreenTextPrettyFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty scriptingDebugScreenTextPretty = 159;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPrettyOrBuilder getScriptingDebugScreenTextPrettyOrBuilder() { + if ((actionDataCase_ == 159) && (scriptingDebugScreenTextPrettyBuilder_ != null)) { + return scriptingDebugScreenTextPrettyBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 159) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty scriptingDebugScreenTextPretty = 159;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPrettyOrBuilder> + getScriptingDebugScreenTextPrettyFieldBuilder() { + if (scriptingDebugScreenTextPrettyBuilder_ == null) { + if (!(actionDataCase_ == 159)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.getDefaultInstance(); + } + scriptingDebugScreenTextPrettyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPrettyOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 159; + onChanged();; + return scriptingDebugScreenTextPrettyBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocationOrBuilder> moveDirectlyBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveDirectly = 156;</code> + */ + public boolean hasMoveDirectly() { + return actionDataCase_ == 156; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveDirectly = 156;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation getMoveDirectly() { + if (moveDirectlyBuilder_ == null) { + if (actionDataCase_ == 156) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.getDefaultInstance(); + } else { + if (actionDataCase_ == 156) { + return moveDirectlyBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveDirectly = 156;</code> + */ + public Builder setMoveDirectly(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation value) { + if (moveDirectlyBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + moveDirectlyBuilder_.setMessage(value); + } + actionDataCase_ = 156; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveDirectly = 156;</code> + */ + public Builder setMoveDirectly( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.Builder builderForValue) { + if (moveDirectlyBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + moveDirectlyBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 156; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveDirectly = 156;</code> + */ + public Builder mergeMoveDirectly(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation value) { + if (moveDirectlyBuilder_ == null) { + if (actionDataCase_ == 156 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 156) { + moveDirectlyBuilder_.mergeFrom(value); + } + moveDirectlyBuilder_.setMessage(value); + } + actionDataCase_ = 156; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveDirectly = 156;</code> + */ + public Builder clearMoveDirectly() { + if (moveDirectlyBuilder_ == null) { + if (actionDataCase_ == 156) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 156) { + actionDataCase_ = 0; + actionData_ = null; + } + moveDirectlyBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveDirectly = 156;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.Builder getMoveDirectlyBuilder() { + return getMoveDirectlyFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveDirectly = 156;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocationOrBuilder getMoveDirectlyOrBuilder() { + if ((actionDataCase_ == 156) && (moveDirectlyBuilder_ != null)) { + return moveDirectlyBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 156) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.MoveToLocation moveDirectly = 156;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocationOrBuilder> + getMoveDirectlyFieldBuilder() { + if (moveDirectlyBuilder_ == null) { + if (!(actionDataCase_ == 156)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.getDefaultInstance(); + } + moveDirectlyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocationOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.MoveToLocation) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 156; + onChanged();; + return moveDirectlyBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGameOrBuilder> oceanWinGameBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.OceanWinGame oceanWinGame = 157;</code> + */ + public boolean hasOceanWinGame() { + return actionDataCase_ == 157; + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanWinGame oceanWinGame = 157;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame getOceanWinGame() { + if (oceanWinGameBuilder_ == null) { + if (actionDataCase_ == 157) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.getDefaultInstance(); + } else { + if (actionDataCase_ == 157) { + return oceanWinGameBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanWinGame oceanWinGame = 157;</code> + */ + public Builder setOceanWinGame(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame value) { + if (oceanWinGameBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + oceanWinGameBuilder_.setMessage(value); + } + actionDataCase_ = 157; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanWinGame oceanWinGame = 157;</code> + */ + public Builder setOceanWinGame( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.Builder builderForValue) { + if (oceanWinGameBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + oceanWinGameBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 157; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanWinGame oceanWinGame = 157;</code> + */ + public Builder mergeOceanWinGame(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame value) { + if (oceanWinGameBuilder_ == null) { + if (actionDataCase_ == 157 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 157) { + oceanWinGameBuilder_.mergeFrom(value); + } + oceanWinGameBuilder_.setMessage(value); + } + actionDataCase_ = 157; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanWinGame oceanWinGame = 157;</code> + */ + public Builder clearOceanWinGame() { + if (oceanWinGameBuilder_ == null) { + if (actionDataCase_ == 157) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 157) { + actionDataCase_ = 0; + actionData_ = null; + } + oceanWinGameBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanWinGame oceanWinGame = 157;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.Builder getOceanWinGameBuilder() { + return getOceanWinGameFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanWinGame oceanWinGame = 157;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGameOrBuilder getOceanWinGameOrBuilder() { + if ((actionDataCase_ == 157) && (oceanWinGameBuilder_ != null)) { + return oceanWinGameBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 157) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanWinGame oceanWinGame = 157;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGameOrBuilder> + getOceanWinGameFieldBuilder() { + if (oceanWinGameBuilder_ == null) { + if (!(actionDataCase_ == 157)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.getDefaultInstance(); + } + oceanWinGameBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGameOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanWinGame) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 157; + onChanged();; + return oceanWinGameBuilder_; + } + + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTimeOrBuilder> oceanReplayCorrectTimeBuilder_; + /** + * <code>optional .CMsgBotWorldState.Action.OceanReplayCorrectTime oceanReplayCorrectTime = 158;</code> + */ + public boolean hasOceanReplayCorrectTime() { + return actionDataCase_ == 158; + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanReplayCorrectTime oceanReplayCorrectTime = 158;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime getOceanReplayCorrectTime() { + if (oceanReplayCorrectTimeBuilder_ == null) { + if (actionDataCase_ == 158) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.getDefaultInstance(); + } else { + if (actionDataCase_ == 158) { + return oceanReplayCorrectTimeBuilder_.getMessage(); + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanReplayCorrectTime oceanReplayCorrectTime = 158;</code> + */ + public Builder setOceanReplayCorrectTime(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime value) { + if (oceanReplayCorrectTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + actionData_ = value; + onChanged(); + } else { + oceanReplayCorrectTimeBuilder_.setMessage(value); + } + actionDataCase_ = 158; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanReplayCorrectTime oceanReplayCorrectTime = 158;</code> + */ + public Builder setOceanReplayCorrectTime( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.Builder builderForValue) { + if (oceanReplayCorrectTimeBuilder_ == null) { + actionData_ = builderForValue.build(); + onChanged(); + } else { + oceanReplayCorrectTimeBuilder_.setMessage(builderForValue.build()); + } + actionDataCase_ = 158; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanReplayCorrectTime oceanReplayCorrectTime = 158;</code> + */ + public Builder mergeOceanReplayCorrectTime(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime value) { + if (oceanReplayCorrectTimeBuilder_ == null) { + if (actionDataCase_ == 158 && + actionData_ != CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.getDefaultInstance()) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.newBuilder((CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime) actionData_) + .mergeFrom(value).buildPartial(); + } else { + actionData_ = value; + } + onChanged(); + } else { + if (actionDataCase_ == 158) { + oceanReplayCorrectTimeBuilder_.mergeFrom(value); + } + oceanReplayCorrectTimeBuilder_.setMessage(value); + } + actionDataCase_ = 158; + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanReplayCorrectTime oceanReplayCorrectTime = 158;</code> + */ + public Builder clearOceanReplayCorrectTime() { + if (oceanReplayCorrectTimeBuilder_ == null) { + if (actionDataCase_ == 158) { + actionDataCase_ = 0; + actionData_ = null; + onChanged(); + } + } else { + if (actionDataCase_ == 158) { + actionDataCase_ = 0; + actionData_ = null; + } + oceanReplayCorrectTimeBuilder_.clear(); + } + return this; + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanReplayCorrectTime oceanReplayCorrectTime = 158;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.Builder getOceanReplayCorrectTimeBuilder() { + return getOceanReplayCorrectTimeFieldBuilder().getBuilder(); + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanReplayCorrectTime oceanReplayCorrectTime = 158;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTimeOrBuilder getOceanReplayCorrectTimeOrBuilder() { + if ((actionDataCase_ == 158) && (oceanReplayCorrectTimeBuilder_ != null)) { + return oceanReplayCorrectTimeBuilder_.getMessageOrBuilder(); + } else { + if (actionDataCase_ == 158) { + return (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime) actionData_; + } + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.getDefaultInstance(); + } + } + /** + * <code>optional .CMsgBotWorldState.Action.OceanReplayCorrectTime oceanReplayCorrectTime = 158;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTimeOrBuilder> + getOceanReplayCorrectTimeFieldBuilder() { + if (oceanReplayCorrectTimeBuilder_ == null) { + if (!(actionDataCase_ == 158)) { + actionData_ = CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.getDefaultInstance(); + } + oceanReplayCorrectTimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTimeOrBuilder>( + (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action.OceanReplayCorrectTime) actionData_, + getParentForChildren(), + isClean()); + actionData_ = null; + } + actionDataCase_ = 158; + onChanged();; + return oceanReplayCorrectTimeBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState.Action) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<Action> + PARSER = new com.google.protobuf.AbstractParser<Action>() { + @java.lang.Override + public Action parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Action(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Action> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Action> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Action getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private int bitField0_; + public static final int TEAM_ID_FIELD_NUMBER = 1; + private int teamId_; + /** + * <code>optional uint32 team_id = 1;</code> + */ + public boolean hasTeamId() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 team_id = 1;</code> + */ + public int getTeamId() { + return teamId_; + } + + public static final int GAME_TIME_FIELD_NUMBER = 2; + private float gameTime_; + /** + * <code>optional float game_time = 2;</code> + */ + public boolean hasGameTime() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional float game_time = 2;</code> + */ + public float getGameTime() { + return gameTime_; + } + + public static final int DOTA_TIME_FIELD_NUMBER = 3; + private float dotaTime_; + /** + * <code>optional float dota_time = 3;</code> + */ + public boolean hasDotaTime() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional float dota_time = 3;</code> + */ + public float getDotaTime() { + return dotaTime_; + } + + public static final int GAME_STATE_FIELD_NUMBER = 4; + private int gameState_; + /** + * <code>optional uint32 game_state = 4;</code> + */ + public boolean hasGameState() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional uint32 game_state = 4;</code> + */ + public int getGameState() { + return gameState_; + } + + public static final int HERO_PICK_STATE_FIELD_NUMBER = 5; + private int heroPickState_; + /** + * <code>optional uint32 hero_pick_state = 5;</code> + */ + public boolean hasHeroPickState() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 hero_pick_state = 5;</code> + */ + public int getHeroPickState() { + return heroPickState_; + } + + public static final int TIME_OF_DAY_FIELD_NUMBER = 6; + private float timeOfDay_; + /** + * <code>optional float time_of_day = 6;</code> + */ + public boolean hasTimeOfDay() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional float time_of_day = 6;</code> + */ + public float getTimeOfDay() { + return timeOfDay_; + } + + public static final int GLYPH_COOLDOWN_FIELD_NUMBER = 7; + private float glyphCooldown_; + /** + * <code>optional float glyph_cooldown = 7;</code> + */ + public boolean hasGlyphCooldown() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>optional float glyph_cooldown = 7;</code> + */ + public float getGlyphCooldown() { + return glyphCooldown_; + } + + public static final int GLYPH_COOLDOWN_ENEMY_FIELD_NUMBER = 8; + private int glyphCooldownEnemy_; + /** + * <code>optional uint32 glyph_cooldown_enemy = 8;</code> + */ + public boolean hasGlyphCooldownEnemy() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>optional uint32 glyph_cooldown_enemy = 8;</code> + */ + public int getGlyphCooldownEnemy() { + return glyphCooldownEnemy_; + } + + public static final int PLAYERS_FIELD_NUMBER = 10; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player> players_; + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player> getPlayersList() { + return players_; + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.PlayerOrBuilder> + getPlayersOrBuilderList() { + return players_; + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public int getPlayersCount() { + return players_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player getPlayers(int index) { + return players_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.PlayerOrBuilder getPlayersOrBuilder( + int index) { + return players_.get(index); + } + + public static final int UNITS_FIELD_NUMBER = 11; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit> units_; + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit> getUnitsList() { + return units_; + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitOrBuilder> + getUnitsOrBuilderList() { + return units_; + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public int getUnitsCount() { + return units_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit getUnits(int index) { + return units_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitOrBuilder getUnitsOrBuilder( + int index) { + return units_.get(index); + } + + public static final int DROPPED_ITEMS_FIELD_NUMBER = 12; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem> droppedItems_; + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem> getDroppedItemsList() { + return droppedItems_; + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItemOrBuilder> + getDroppedItemsOrBuilderList() { + return droppedItems_; + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public int getDroppedItemsCount() { + return droppedItems_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem getDroppedItems(int index) { + return droppedItems_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItemOrBuilder getDroppedItemsOrBuilder( + int index) { + return droppedItems_.get(index); + } + + public static final int RUNE_INFOS_FIELD_NUMBER = 13; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo> runeInfos_; + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo> getRuneInfosList() { + return runeInfos_; + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfoOrBuilder> + getRuneInfosOrBuilderList() { + return runeInfos_; + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public int getRuneInfosCount() { + return runeInfos_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo getRuneInfos(int index) { + return runeInfos_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfoOrBuilder getRuneInfosOrBuilder( + int index) { + return runeInfos_.get(index); + } + + public static final int INCOMING_TELEPORTS_FIELD_NUMBER = 14; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo> incomingTeleports_; + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo> getIncomingTeleportsList() { + return incomingTeleports_; + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfoOrBuilder> + getIncomingTeleportsOrBuilderList() { + return incomingTeleports_; + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public int getIncomingTeleportsCount() { + return incomingTeleports_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo getIncomingTeleports(int index) { + return incomingTeleports_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfoOrBuilder getIncomingTeleportsOrBuilder( + int index) { + return incomingTeleports_.get(index); + } + + public static final int LINEAR_PROJECTILES_FIELD_NUMBER = 15; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile> linearProjectiles_; + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile> getLinearProjectilesList() { + return linearProjectiles_; + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectileOrBuilder> + getLinearProjectilesOrBuilderList() { + return linearProjectiles_; + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public int getLinearProjectilesCount() { + return linearProjectiles_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile getLinearProjectiles(int index) { + return linearProjectiles_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectileOrBuilder getLinearProjectilesOrBuilder( + int index) { + return linearProjectiles_.get(index); + } + + public static final int AVOIDANCE_ZONES_FIELD_NUMBER = 16; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone> avoidanceZones_; + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone> getAvoidanceZonesList() { + return avoidanceZones_; + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZoneOrBuilder> + getAvoidanceZonesOrBuilderList() { + return avoidanceZones_; + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public int getAvoidanceZonesCount() { + return avoidanceZones_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone getAvoidanceZones(int index) { + return avoidanceZones_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZoneOrBuilder getAvoidanceZonesOrBuilder( + int index) { + return avoidanceZones_.get(index); + } + + public static final int COURIERS_FIELD_NUMBER = 17; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier> couriers_; + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier> getCouriersList() { + return couriers_; + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierOrBuilder> + getCouriersOrBuilderList() { + return couriers_; + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public int getCouriersCount() { + return couriers_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier getCouriers(int index) { + return couriers_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierOrBuilder getCouriersOrBuilder( + int index) { + return couriers_.get(index); + } + + public static final int ABILITY_EVENTS_FIELD_NUMBER = 20; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility> abilityEvents_; + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility> getAbilityEventsList() { + return abilityEvents_; + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbilityOrBuilder> + getAbilityEventsOrBuilderList() { + return abilityEvents_; + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public int getAbilityEventsCount() { + return abilityEvents_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility getAbilityEvents(int index) { + return abilityEvents_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbilityOrBuilder getAbilityEventsOrBuilder( + int index) { + return abilityEvents_.get(index); + } + + public static final int DAMAGE_EVENTS_FIELD_NUMBER = 21; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage> damageEvents_; + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage> getDamageEventsList() { + return damageEvents_; + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamageOrBuilder> + getDamageEventsOrBuilderList() { + return damageEvents_; + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public int getDamageEventsCount() { + return damageEvents_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage getDamageEvents(int index) { + return damageEvents_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamageOrBuilder getDamageEventsOrBuilder( + int index) { + return damageEvents_.get(index); + } + + public static final int COURIER_KILLED_EVENTS_FIELD_NUMBER = 22; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled> courierKilledEvents_; + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled> getCourierKilledEventsList() { + return courierKilledEvents_; + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilledOrBuilder> + getCourierKilledEventsOrBuilderList() { + return courierKilledEvents_; + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public int getCourierKilledEventsCount() { + return courierKilledEvents_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled getCourierKilledEvents(int index) { + return courierKilledEvents_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilledOrBuilder getCourierKilledEventsOrBuilder( + int index) { + return courierKilledEvents_.get(index); + } + + public static final int ROSHAN_KILLED_EVENTS_FIELD_NUMBER = 23; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled> roshanKilledEvents_; + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled> getRoshanKilledEventsList() { + return roshanKilledEvents_; + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilledOrBuilder> + getRoshanKilledEventsOrBuilderList() { + return roshanKilledEvents_; + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public int getRoshanKilledEventsCount() { + return roshanKilledEvents_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled getRoshanKilledEvents(int index) { + return roshanKilledEvents_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilledOrBuilder getRoshanKilledEventsOrBuilder( + int index) { + return roshanKilledEvents_.get(index); + } + + public static final int TREE_EVENTS_FIELD_NUMBER = 24; + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree> treeEvents_; + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree> getTreeEventsList() { + return treeEvents_; + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTreeOrBuilder> + getTreeEventsOrBuilderList() { + return treeEvents_; + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public int getTreeEventsCount() { + return treeEvents_.size(); + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree getTreeEvents(int index) { + return treeEvents_.get(index); + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTreeOrBuilder getTreeEventsOrBuilder( + int index) { + return treeEvents_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + for (int i = 0; i < getUnitsCount(); i++) { + if (!getUnits(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + for (int i = 0; i < getDroppedItemsCount(); i++) { + if (!getDroppedItems(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + for (int i = 0; i < getRuneInfosCount(); i++) { + if (!getRuneInfos(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + for (int i = 0; i < getIncomingTeleportsCount(); i++) { + if (!getIncomingTeleports(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + for (int i = 0; i < getLinearProjectilesCount(); i++) { + if (!getLinearProjectiles(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + for (int i = 0; i < getAvoidanceZonesCount(); i++) { + if (!getAvoidanceZones(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + for (int i = 0; i < getAbilityEventsCount(); i++) { + if (!getAbilityEvents(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + for (int i = 0; i < getTreeEventsCount(); i++) { + if (!getTreeEvents(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeUInt32(1, teamId_); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeFloat(2, gameTime_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeFloat(3, dotaTime_); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeUInt32(4, gameState_); + } + if (((bitField0_ & 0x00000010) != 0)) { + output.writeUInt32(5, heroPickState_); + } + if (((bitField0_ & 0x00000020) != 0)) { + output.writeFloat(6, timeOfDay_); + } + if (((bitField0_ & 0x00000040) != 0)) { + output.writeFloat(7, glyphCooldown_); + } + if (((bitField0_ & 0x00000080) != 0)) { + output.writeUInt32(8, glyphCooldownEnemy_); + } + for (int i = 0; i < players_.size(); i++) { + output.writeMessage(10, players_.get(i)); + } + for (int i = 0; i < units_.size(); i++) { + output.writeMessage(11, units_.get(i)); + } + for (int i = 0; i < droppedItems_.size(); i++) { + output.writeMessage(12, droppedItems_.get(i)); + } + for (int i = 0; i < runeInfos_.size(); i++) { + output.writeMessage(13, runeInfos_.get(i)); + } + for (int i = 0; i < incomingTeleports_.size(); i++) { + output.writeMessage(14, incomingTeleports_.get(i)); + } + for (int i = 0; i < linearProjectiles_.size(); i++) { + output.writeMessage(15, linearProjectiles_.get(i)); + } + for (int i = 0; i < avoidanceZones_.size(); i++) { + output.writeMessage(16, avoidanceZones_.get(i)); + } + for (int i = 0; i < couriers_.size(); i++) { + output.writeMessage(17, couriers_.get(i)); + } + for (int i = 0; i < abilityEvents_.size(); i++) { + output.writeMessage(20, abilityEvents_.get(i)); + } + for (int i = 0; i < damageEvents_.size(); i++) { + output.writeMessage(21, damageEvents_.get(i)); + } + for (int i = 0; i < courierKilledEvents_.size(); i++) { + output.writeMessage(22, courierKilledEvents_.get(i)); + } + for (int i = 0; i < roshanKilledEvents_.size(); i++) { + output.writeMessage(23, roshanKilledEvents_.get(i)); + } + for (int i = 0; i < treeEvents_.size(); i++) { + output.writeMessage(24, treeEvents_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, teamId_); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(2, gameTime_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(3, dotaTime_); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(4, gameState_); + } + if (((bitField0_ & 0x00000010) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(5, heroPickState_); + } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(6, timeOfDay_); + } + if (((bitField0_ & 0x00000040) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(7, glyphCooldown_); + } + if (((bitField0_ & 0x00000080) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(8, glyphCooldownEnemy_); + } + for (int i = 0; i < players_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(10, players_.get(i)); + } + for (int i = 0; i < units_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(11, units_.get(i)); + } + for (int i = 0; i < droppedItems_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(12, droppedItems_.get(i)); + } + for (int i = 0; i < runeInfos_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(13, runeInfos_.get(i)); + } + for (int i = 0; i < incomingTeleports_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(14, incomingTeleports_.get(i)); + } + for (int i = 0; i < linearProjectiles_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(15, linearProjectiles_.get(i)); + } + for (int i = 0; i < avoidanceZones_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(16, avoidanceZones_.get(i)); + } + for (int i = 0; i < couriers_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(17, couriers_.get(i)); + } + for (int i = 0; i < abilityEvents_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(20, abilityEvents_.get(i)); + } + for (int i = 0; i < damageEvents_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(21, damageEvents_.get(i)); + } + for (int i = 0; i < courierKilledEvents_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(22, courierKilledEvents_.get(i)); + } + for (int i = 0; i < roshanKilledEvents_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(23, roshanKilledEvents_.get(i)); + } + for (int i = 0; i < treeEvents_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(24, treeEvents_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState)) { + return super.equals(obj); + } + CMsgBotWorldStateOuterClass.CMsgBotWorldState other = (CMsgBotWorldStateOuterClass.CMsgBotWorldState) obj; + + if (hasTeamId() != other.hasTeamId()) return false; + if (hasTeamId()) { + if (getTeamId() + != other.getTeamId()) return false; + } + if (hasGameTime() != other.hasGameTime()) return false; + if (hasGameTime()) { + if (java.lang.Float.floatToIntBits(getGameTime()) + != java.lang.Float.floatToIntBits( + other.getGameTime())) return false; + } + if (hasDotaTime() != other.hasDotaTime()) return false; + if (hasDotaTime()) { + if (java.lang.Float.floatToIntBits(getDotaTime()) + != java.lang.Float.floatToIntBits( + other.getDotaTime())) return false; + } + if (hasGameState() != other.hasGameState()) return false; + if (hasGameState()) { + if (getGameState() + != other.getGameState()) return false; + } + if (hasHeroPickState() != other.hasHeroPickState()) return false; + if (hasHeroPickState()) { + if (getHeroPickState() + != other.getHeroPickState()) return false; + } + if (hasTimeOfDay() != other.hasTimeOfDay()) return false; + if (hasTimeOfDay()) { + if (java.lang.Float.floatToIntBits(getTimeOfDay()) + != java.lang.Float.floatToIntBits( + other.getTimeOfDay())) return false; + } + if (hasGlyphCooldown() != other.hasGlyphCooldown()) return false; + if (hasGlyphCooldown()) { + if (java.lang.Float.floatToIntBits(getGlyphCooldown()) + != java.lang.Float.floatToIntBits( + other.getGlyphCooldown())) return false; + } + if (hasGlyphCooldownEnemy() != other.hasGlyphCooldownEnemy()) return false; + if (hasGlyphCooldownEnemy()) { + if (getGlyphCooldownEnemy() + != other.getGlyphCooldownEnemy()) return false; + } + if (!getPlayersList() + .equals(other.getPlayersList())) return false; + if (!getUnitsList() + .equals(other.getUnitsList())) return false; + if (!getDroppedItemsList() + .equals(other.getDroppedItemsList())) return false; + if (!getRuneInfosList() + .equals(other.getRuneInfosList())) return false; + if (!getIncomingTeleportsList() + .equals(other.getIncomingTeleportsList())) return false; + if (!getLinearProjectilesList() + .equals(other.getLinearProjectilesList())) return false; + if (!getAvoidanceZonesList() + .equals(other.getAvoidanceZonesList())) return false; + if (!getCouriersList() + .equals(other.getCouriersList())) return false; + if (!getAbilityEventsList() + .equals(other.getAbilityEventsList())) return false; + if (!getDamageEventsList() + .equals(other.getDamageEventsList())) return false; + if (!getCourierKilledEventsList() + .equals(other.getCourierKilledEventsList())) return false; + if (!getRoshanKilledEventsList() + .equals(other.getRoshanKilledEventsList())) return false; + if (!getTreeEventsList() + .equals(other.getTreeEventsList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasTeamId()) { + hash = (37 * hash) + TEAM_ID_FIELD_NUMBER; + hash = (53 * hash) + getTeamId(); + } + if (hasGameTime()) { + hash = (37 * hash) + GAME_TIME_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getGameTime()); + } + if (hasDotaTime()) { + hash = (37 * hash) + DOTA_TIME_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getDotaTime()); + } + if (hasGameState()) { + hash = (37 * hash) + GAME_STATE_FIELD_NUMBER; + hash = (53 * hash) + getGameState(); + } + if (hasHeroPickState()) { + hash = (37 * hash) + HERO_PICK_STATE_FIELD_NUMBER; + hash = (53 * hash) + getHeroPickState(); + } + if (hasTimeOfDay()) { + hash = (37 * hash) + TIME_OF_DAY_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getTimeOfDay()); + } + if (hasGlyphCooldown()) { + hash = (37 * hash) + GLYPH_COOLDOWN_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getGlyphCooldown()); + } + if (hasGlyphCooldownEnemy()) { + hash = (37 * hash) + GLYPH_COOLDOWN_ENEMY_FIELD_NUMBER; + hash = (53 * hash) + getGlyphCooldownEnemy(); + } + if (getPlayersCount() > 0) { + hash = (37 * hash) + PLAYERS_FIELD_NUMBER; + hash = (53 * hash) + getPlayersList().hashCode(); + } + if (getUnitsCount() > 0) { + hash = (37 * hash) + UNITS_FIELD_NUMBER; + hash = (53 * hash) + getUnitsList().hashCode(); + } + if (getDroppedItemsCount() > 0) { + hash = (37 * hash) + DROPPED_ITEMS_FIELD_NUMBER; + hash = (53 * hash) + getDroppedItemsList().hashCode(); + } + if (getRuneInfosCount() > 0) { + hash = (37 * hash) + RUNE_INFOS_FIELD_NUMBER; + hash = (53 * hash) + getRuneInfosList().hashCode(); + } + if (getIncomingTeleportsCount() > 0) { + hash = (37 * hash) + INCOMING_TELEPORTS_FIELD_NUMBER; + hash = (53 * hash) + getIncomingTeleportsList().hashCode(); + } + if (getLinearProjectilesCount() > 0) { + hash = (37 * hash) + LINEAR_PROJECTILES_FIELD_NUMBER; + hash = (53 * hash) + getLinearProjectilesList().hashCode(); + } + if (getAvoidanceZonesCount() > 0) { + hash = (37 * hash) + AVOIDANCE_ZONES_FIELD_NUMBER; + hash = (53 * hash) + getAvoidanceZonesList().hashCode(); + } + if (getCouriersCount() > 0) { + hash = (37 * hash) + COURIERS_FIELD_NUMBER; + hash = (53 * hash) + getCouriersList().hashCode(); + } + if (getAbilityEventsCount() > 0) { + hash = (37 * hash) + ABILITY_EVENTS_FIELD_NUMBER; + hash = (53 * hash) + getAbilityEventsList().hashCode(); + } + if (getDamageEventsCount() > 0) { + hash = (37 * hash) + DAMAGE_EVENTS_FIELD_NUMBER; + hash = (53 * hash) + getDamageEventsList().hashCode(); + } + if (getCourierKilledEventsCount() > 0) { + hash = (37 * hash) + COURIER_KILLED_EVENTS_FIELD_NUMBER; + hash = (53 * hash) + getCourierKilledEventsList().hashCode(); + } + if (getRoshanKilledEventsCount() > 0) { + hash = (37 * hash) + ROSHAN_KILLED_EVENTS_FIELD_NUMBER; + hash = (53 * hash) + getRoshanKilledEventsList().hashCode(); + } + if (getTreeEventsCount() > 0) { + hash = (37 * hash) + TREE_EVENTS_FIELD_NUMBER; + hash = (53 * hash) + getTreeEventsList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(CMsgBotWorldStateOuterClass.CMsgBotWorldState prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code CMsgBotWorldState} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:CMsgBotWorldState) + CMsgBotWorldStateOuterClass.CMsgBotWorldStateOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_fieldAccessorTable + .ensureFieldAccessorsInitialized( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.class, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Builder.class); + } + + // Construct using CMsgBotWorldStateOuterClass.CMsgBotWorldState.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getPlayersFieldBuilder(); + getUnitsFieldBuilder(); + getDroppedItemsFieldBuilder(); + getRuneInfosFieldBuilder(); + getIncomingTeleportsFieldBuilder(); + getLinearProjectilesFieldBuilder(); + getAvoidanceZonesFieldBuilder(); + getCouriersFieldBuilder(); + getAbilityEventsFieldBuilder(); + getDamageEventsFieldBuilder(); + getCourierKilledEventsFieldBuilder(); + getRoshanKilledEventsFieldBuilder(); + getTreeEventsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + teamId_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + gameTime_ = 0F; + bitField0_ = (bitField0_ & ~0x00000002); + dotaTime_ = 0F; + bitField0_ = (bitField0_ & ~0x00000004); + gameState_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + heroPickState_ = 0; + bitField0_ = (bitField0_ & ~0x00000010); + timeOfDay_ = 0F; + bitField0_ = (bitField0_ & ~0x00000020); + glyphCooldown_ = 0F; + bitField0_ = (bitField0_ & ~0x00000040); + glyphCooldownEnemy_ = 0; + bitField0_ = (bitField0_ & ~0x00000080); + if (playersBuilder_ == null) { + players_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000100); + } else { + playersBuilder_.clear(); + } + if (unitsBuilder_ == null) { + units_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000200); + } else { + unitsBuilder_.clear(); + } + if (droppedItemsBuilder_ == null) { + droppedItems_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000400); + } else { + droppedItemsBuilder_.clear(); + } + if (runeInfosBuilder_ == null) { + runeInfos_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000800); + } else { + runeInfosBuilder_.clear(); + } + if (incomingTeleportsBuilder_ == null) { + incomingTeleports_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00001000); + } else { + incomingTeleportsBuilder_.clear(); + } + if (linearProjectilesBuilder_ == null) { + linearProjectiles_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00002000); + } else { + linearProjectilesBuilder_.clear(); + } + if (avoidanceZonesBuilder_ == null) { + avoidanceZones_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00004000); + } else { + avoidanceZonesBuilder_.clear(); + } + if (couriersBuilder_ == null) { + couriers_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00008000); + } else { + couriersBuilder_.clear(); + } + if (abilityEventsBuilder_ == null) { + abilityEvents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00010000); + } else { + abilityEventsBuilder_.clear(); + } + if (damageEventsBuilder_ == null) { + damageEvents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00020000); + } else { + damageEventsBuilder_.clear(); + } + if (courierKilledEventsBuilder_ == null) { + courierKilledEvents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00040000); + } else { + courierKilledEventsBuilder_.clear(); + } + if (roshanKilledEventsBuilder_ == null) { + roshanKilledEvents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00080000); + } else { + roshanKilledEventsBuilder_.clear(); + } + if (treeEventsBuilder_ == null) { + treeEvents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00100000); + } else { + treeEventsBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return CMsgBotWorldStateOuterClass.internal_static_CMsgBotWorldState_descriptor; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState getDefaultInstanceForType() { + return CMsgBotWorldStateOuterClass.CMsgBotWorldState.getDefaultInstance(); + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState build() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState buildPartial() { + CMsgBotWorldStateOuterClass.CMsgBotWorldState result = new CMsgBotWorldStateOuterClass.CMsgBotWorldState(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.teamId_ = teamId_; + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.gameTime_ = gameTime_; + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.dotaTime_ = dotaTime_; + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.gameState_ = gameState_; + to_bitField0_ |= 0x00000008; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.heroPickState_ = heroPickState_; + to_bitField0_ |= 0x00000010; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.timeOfDay_ = timeOfDay_; + to_bitField0_ |= 0x00000020; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.glyphCooldown_ = glyphCooldown_; + to_bitField0_ |= 0x00000040; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.glyphCooldownEnemy_ = glyphCooldownEnemy_; + to_bitField0_ |= 0x00000080; + } + if (playersBuilder_ == null) { + if (((bitField0_ & 0x00000100) != 0)) { + players_ = java.util.Collections.unmodifiableList(players_); + bitField0_ = (bitField0_ & ~0x00000100); + } + result.players_ = players_; + } else { + result.players_ = playersBuilder_.build(); + } + if (unitsBuilder_ == null) { + if (((bitField0_ & 0x00000200) != 0)) { + units_ = java.util.Collections.unmodifiableList(units_); + bitField0_ = (bitField0_ & ~0x00000200); + } + result.units_ = units_; + } else { + result.units_ = unitsBuilder_.build(); + } + if (droppedItemsBuilder_ == null) { + if (((bitField0_ & 0x00000400) != 0)) { + droppedItems_ = java.util.Collections.unmodifiableList(droppedItems_); + bitField0_ = (bitField0_ & ~0x00000400); + } + result.droppedItems_ = droppedItems_; + } else { + result.droppedItems_ = droppedItemsBuilder_.build(); + } + if (runeInfosBuilder_ == null) { + if (((bitField0_ & 0x00000800) != 0)) { + runeInfos_ = java.util.Collections.unmodifiableList(runeInfos_); + bitField0_ = (bitField0_ & ~0x00000800); + } + result.runeInfos_ = runeInfos_; + } else { + result.runeInfos_ = runeInfosBuilder_.build(); + } + if (incomingTeleportsBuilder_ == null) { + if (((bitField0_ & 0x00001000) != 0)) { + incomingTeleports_ = java.util.Collections.unmodifiableList(incomingTeleports_); + bitField0_ = (bitField0_ & ~0x00001000); + } + result.incomingTeleports_ = incomingTeleports_; + } else { + result.incomingTeleports_ = incomingTeleportsBuilder_.build(); + } + if (linearProjectilesBuilder_ == null) { + if (((bitField0_ & 0x00002000) != 0)) { + linearProjectiles_ = java.util.Collections.unmodifiableList(linearProjectiles_); + bitField0_ = (bitField0_ & ~0x00002000); + } + result.linearProjectiles_ = linearProjectiles_; + } else { + result.linearProjectiles_ = linearProjectilesBuilder_.build(); + } + if (avoidanceZonesBuilder_ == null) { + if (((bitField0_ & 0x00004000) != 0)) { + avoidanceZones_ = java.util.Collections.unmodifiableList(avoidanceZones_); + bitField0_ = (bitField0_ & ~0x00004000); + } + result.avoidanceZones_ = avoidanceZones_; + } else { + result.avoidanceZones_ = avoidanceZonesBuilder_.build(); + } + if (couriersBuilder_ == null) { + if (((bitField0_ & 0x00008000) != 0)) { + couriers_ = java.util.Collections.unmodifiableList(couriers_); + bitField0_ = (bitField0_ & ~0x00008000); + } + result.couriers_ = couriers_; + } else { + result.couriers_ = couriersBuilder_.build(); + } + if (abilityEventsBuilder_ == null) { + if (((bitField0_ & 0x00010000) != 0)) { + abilityEvents_ = java.util.Collections.unmodifiableList(abilityEvents_); + bitField0_ = (bitField0_ & ~0x00010000); + } + result.abilityEvents_ = abilityEvents_; + } else { + result.abilityEvents_ = abilityEventsBuilder_.build(); + } + if (damageEventsBuilder_ == null) { + if (((bitField0_ & 0x00020000) != 0)) { + damageEvents_ = java.util.Collections.unmodifiableList(damageEvents_); + bitField0_ = (bitField0_ & ~0x00020000); + } + result.damageEvents_ = damageEvents_; + } else { + result.damageEvents_ = damageEventsBuilder_.build(); + } + if (courierKilledEventsBuilder_ == null) { + if (((bitField0_ & 0x00040000) != 0)) { + courierKilledEvents_ = java.util.Collections.unmodifiableList(courierKilledEvents_); + bitField0_ = (bitField0_ & ~0x00040000); + } + result.courierKilledEvents_ = courierKilledEvents_; + } else { + result.courierKilledEvents_ = courierKilledEventsBuilder_.build(); + } + if (roshanKilledEventsBuilder_ == null) { + if (((bitField0_ & 0x00080000) != 0)) { + roshanKilledEvents_ = java.util.Collections.unmodifiableList(roshanKilledEvents_); + bitField0_ = (bitField0_ & ~0x00080000); + } + result.roshanKilledEvents_ = roshanKilledEvents_; + } else { + result.roshanKilledEvents_ = roshanKilledEventsBuilder_.build(); + } + if (treeEventsBuilder_ == null) { + if (((bitField0_ & 0x00100000) != 0)) { + treeEvents_ = java.util.Collections.unmodifiableList(treeEvents_); + bitField0_ = (bitField0_ & ~0x00100000); + } + result.treeEvents_ = treeEvents_; + } else { + result.treeEvents_ = treeEventsBuilder_.build(); + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof CMsgBotWorldStateOuterClass.CMsgBotWorldState) { + return mergeFrom((CMsgBotWorldStateOuterClass.CMsgBotWorldState)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(CMsgBotWorldStateOuterClass.CMsgBotWorldState other) { + if (other == CMsgBotWorldStateOuterClass.CMsgBotWorldState.getDefaultInstance()) return this; + if (other.hasTeamId()) { + setTeamId(other.getTeamId()); + } + if (other.hasGameTime()) { + setGameTime(other.getGameTime()); + } + if (other.hasDotaTime()) { + setDotaTime(other.getDotaTime()); + } + if (other.hasGameState()) { + setGameState(other.getGameState()); + } + if (other.hasHeroPickState()) { + setHeroPickState(other.getHeroPickState()); + } + if (other.hasTimeOfDay()) { + setTimeOfDay(other.getTimeOfDay()); + } + if (other.hasGlyphCooldown()) { + setGlyphCooldown(other.getGlyphCooldown()); + } + if (other.hasGlyphCooldownEnemy()) { + setGlyphCooldownEnemy(other.getGlyphCooldownEnemy()); + } + if (playersBuilder_ == null) { + if (!other.players_.isEmpty()) { + if (players_.isEmpty()) { + players_ = other.players_; + bitField0_ = (bitField0_ & ~0x00000100); + } else { + ensurePlayersIsMutable(); + players_.addAll(other.players_); + } + onChanged(); + } + } else { + if (!other.players_.isEmpty()) { + if (playersBuilder_.isEmpty()) { + playersBuilder_.dispose(); + playersBuilder_ = null; + players_ = other.players_; + bitField0_ = (bitField0_ & ~0x00000100); + playersBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getPlayersFieldBuilder() : null; + } else { + playersBuilder_.addAllMessages(other.players_); + } + } + } + if (unitsBuilder_ == null) { + if (!other.units_.isEmpty()) { + if (units_.isEmpty()) { + units_ = other.units_; + bitField0_ = (bitField0_ & ~0x00000200); + } else { + ensureUnitsIsMutable(); + units_.addAll(other.units_); + } + onChanged(); + } + } else { + if (!other.units_.isEmpty()) { + if (unitsBuilder_.isEmpty()) { + unitsBuilder_.dispose(); + unitsBuilder_ = null; + units_ = other.units_; + bitField0_ = (bitField0_ & ~0x00000200); + unitsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getUnitsFieldBuilder() : null; + } else { + unitsBuilder_.addAllMessages(other.units_); + } + } + } + if (droppedItemsBuilder_ == null) { + if (!other.droppedItems_.isEmpty()) { + if (droppedItems_.isEmpty()) { + droppedItems_ = other.droppedItems_; + bitField0_ = (bitField0_ & ~0x00000400); + } else { + ensureDroppedItemsIsMutable(); + droppedItems_.addAll(other.droppedItems_); + } + onChanged(); + } + } else { + if (!other.droppedItems_.isEmpty()) { + if (droppedItemsBuilder_.isEmpty()) { + droppedItemsBuilder_.dispose(); + droppedItemsBuilder_ = null; + droppedItems_ = other.droppedItems_; + bitField0_ = (bitField0_ & ~0x00000400); + droppedItemsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getDroppedItemsFieldBuilder() : null; + } else { + droppedItemsBuilder_.addAllMessages(other.droppedItems_); + } + } + } + if (runeInfosBuilder_ == null) { + if (!other.runeInfos_.isEmpty()) { + if (runeInfos_.isEmpty()) { + runeInfos_ = other.runeInfos_; + bitField0_ = (bitField0_ & ~0x00000800); + } else { + ensureRuneInfosIsMutable(); + runeInfos_.addAll(other.runeInfos_); + } + onChanged(); + } + } else { + if (!other.runeInfos_.isEmpty()) { + if (runeInfosBuilder_.isEmpty()) { + runeInfosBuilder_.dispose(); + runeInfosBuilder_ = null; + runeInfos_ = other.runeInfos_; + bitField0_ = (bitField0_ & ~0x00000800); + runeInfosBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getRuneInfosFieldBuilder() : null; + } else { + runeInfosBuilder_.addAllMessages(other.runeInfos_); + } + } + } + if (incomingTeleportsBuilder_ == null) { + if (!other.incomingTeleports_.isEmpty()) { + if (incomingTeleports_.isEmpty()) { + incomingTeleports_ = other.incomingTeleports_; + bitField0_ = (bitField0_ & ~0x00001000); + } else { + ensureIncomingTeleportsIsMutable(); + incomingTeleports_.addAll(other.incomingTeleports_); + } + onChanged(); + } + } else { + if (!other.incomingTeleports_.isEmpty()) { + if (incomingTeleportsBuilder_.isEmpty()) { + incomingTeleportsBuilder_.dispose(); + incomingTeleportsBuilder_ = null; + incomingTeleports_ = other.incomingTeleports_; + bitField0_ = (bitField0_ & ~0x00001000); + incomingTeleportsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getIncomingTeleportsFieldBuilder() : null; + } else { + incomingTeleportsBuilder_.addAllMessages(other.incomingTeleports_); + } + } + } + if (linearProjectilesBuilder_ == null) { + if (!other.linearProjectiles_.isEmpty()) { + if (linearProjectiles_.isEmpty()) { + linearProjectiles_ = other.linearProjectiles_; + bitField0_ = (bitField0_ & ~0x00002000); + } else { + ensureLinearProjectilesIsMutable(); + linearProjectiles_.addAll(other.linearProjectiles_); + } + onChanged(); + } + } else { + if (!other.linearProjectiles_.isEmpty()) { + if (linearProjectilesBuilder_.isEmpty()) { + linearProjectilesBuilder_.dispose(); + linearProjectilesBuilder_ = null; + linearProjectiles_ = other.linearProjectiles_; + bitField0_ = (bitField0_ & ~0x00002000); + linearProjectilesBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getLinearProjectilesFieldBuilder() : null; + } else { + linearProjectilesBuilder_.addAllMessages(other.linearProjectiles_); + } + } + } + if (avoidanceZonesBuilder_ == null) { + if (!other.avoidanceZones_.isEmpty()) { + if (avoidanceZones_.isEmpty()) { + avoidanceZones_ = other.avoidanceZones_; + bitField0_ = (bitField0_ & ~0x00004000); + } else { + ensureAvoidanceZonesIsMutable(); + avoidanceZones_.addAll(other.avoidanceZones_); + } + onChanged(); + } + } else { + if (!other.avoidanceZones_.isEmpty()) { + if (avoidanceZonesBuilder_.isEmpty()) { + avoidanceZonesBuilder_.dispose(); + avoidanceZonesBuilder_ = null; + avoidanceZones_ = other.avoidanceZones_; + bitField0_ = (bitField0_ & ~0x00004000); + avoidanceZonesBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getAvoidanceZonesFieldBuilder() : null; + } else { + avoidanceZonesBuilder_.addAllMessages(other.avoidanceZones_); + } + } + } + if (couriersBuilder_ == null) { + if (!other.couriers_.isEmpty()) { + if (couriers_.isEmpty()) { + couriers_ = other.couriers_; + bitField0_ = (bitField0_ & ~0x00008000); + } else { + ensureCouriersIsMutable(); + couriers_.addAll(other.couriers_); + } + onChanged(); + } + } else { + if (!other.couriers_.isEmpty()) { + if (couriersBuilder_.isEmpty()) { + couriersBuilder_.dispose(); + couriersBuilder_ = null; + couriers_ = other.couriers_; + bitField0_ = (bitField0_ & ~0x00008000); + couriersBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getCouriersFieldBuilder() : null; + } else { + couriersBuilder_.addAllMessages(other.couriers_); + } + } + } + if (abilityEventsBuilder_ == null) { + if (!other.abilityEvents_.isEmpty()) { + if (abilityEvents_.isEmpty()) { + abilityEvents_ = other.abilityEvents_; + bitField0_ = (bitField0_ & ~0x00010000); + } else { + ensureAbilityEventsIsMutable(); + abilityEvents_.addAll(other.abilityEvents_); + } + onChanged(); + } + } else { + if (!other.abilityEvents_.isEmpty()) { + if (abilityEventsBuilder_.isEmpty()) { + abilityEventsBuilder_.dispose(); + abilityEventsBuilder_ = null; + abilityEvents_ = other.abilityEvents_; + bitField0_ = (bitField0_ & ~0x00010000); + abilityEventsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getAbilityEventsFieldBuilder() : null; + } else { + abilityEventsBuilder_.addAllMessages(other.abilityEvents_); + } + } + } + if (damageEventsBuilder_ == null) { + if (!other.damageEvents_.isEmpty()) { + if (damageEvents_.isEmpty()) { + damageEvents_ = other.damageEvents_; + bitField0_ = (bitField0_ & ~0x00020000); + } else { + ensureDamageEventsIsMutable(); + damageEvents_.addAll(other.damageEvents_); + } + onChanged(); + } + } else { + if (!other.damageEvents_.isEmpty()) { + if (damageEventsBuilder_.isEmpty()) { + damageEventsBuilder_.dispose(); + damageEventsBuilder_ = null; + damageEvents_ = other.damageEvents_; + bitField0_ = (bitField0_ & ~0x00020000); + damageEventsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getDamageEventsFieldBuilder() : null; + } else { + damageEventsBuilder_.addAllMessages(other.damageEvents_); + } + } + } + if (courierKilledEventsBuilder_ == null) { + if (!other.courierKilledEvents_.isEmpty()) { + if (courierKilledEvents_.isEmpty()) { + courierKilledEvents_ = other.courierKilledEvents_; + bitField0_ = (bitField0_ & ~0x00040000); + } else { + ensureCourierKilledEventsIsMutable(); + courierKilledEvents_.addAll(other.courierKilledEvents_); + } + onChanged(); + } + } else { + if (!other.courierKilledEvents_.isEmpty()) { + if (courierKilledEventsBuilder_.isEmpty()) { + courierKilledEventsBuilder_.dispose(); + courierKilledEventsBuilder_ = null; + courierKilledEvents_ = other.courierKilledEvents_; + bitField0_ = (bitField0_ & ~0x00040000); + courierKilledEventsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getCourierKilledEventsFieldBuilder() : null; + } else { + courierKilledEventsBuilder_.addAllMessages(other.courierKilledEvents_); + } + } + } + if (roshanKilledEventsBuilder_ == null) { + if (!other.roshanKilledEvents_.isEmpty()) { + if (roshanKilledEvents_.isEmpty()) { + roshanKilledEvents_ = other.roshanKilledEvents_; + bitField0_ = (bitField0_ & ~0x00080000); + } else { + ensureRoshanKilledEventsIsMutable(); + roshanKilledEvents_.addAll(other.roshanKilledEvents_); + } + onChanged(); + } + } else { + if (!other.roshanKilledEvents_.isEmpty()) { + if (roshanKilledEventsBuilder_.isEmpty()) { + roshanKilledEventsBuilder_.dispose(); + roshanKilledEventsBuilder_ = null; + roshanKilledEvents_ = other.roshanKilledEvents_; + bitField0_ = (bitField0_ & ~0x00080000); + roshanKilledEventsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getRoshanKilledEventsFieldBuilder() : null; + } else { + roshanKilledEventsBuilder_.addAllMessages(other.roshanKilledEvents_); + } + } + } + if (treeEventsBuilder_ == null) { + if (!other.treeEvents_.isEmpty()) { + if (treeEvents_.isEmpty()) { + treeEvents_ = other.treeEvents_; + bitField0_ = (bitField0_ & ~0x00100000); + } else { + ensureTreeEventsIsMutable(); + treeEvents_.addAll(other.treeEvents_); + } + onChanged(); + } + } else { + if (!other.treeEvents_.isEmpty()) { + if (treeEventsBuilder_.isEmpty()) { + treeEventsBuilder_.dispose(); + treeEventsBuilder_ = null; + treeEvents_ = other.treeEvents_; + bitField0_ = (bitField0_ & ~0x00100000); + treeEventsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getTreeEventsFieldBuilder() : null; + } else { + treeEventsBuilder_.addAllMessages(other.treeEvents_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + for (int i = 0; i < getUnitsCount(); i++) { + if (!getUnits(i).isInitialized()) { + return false; + } + } + for (int i = 0; i < getDroppedItemsCount(); i++) { + if (!getDroppedItems(i).isInitialized()) { + return false; + } + } + for (int i = 0; i < getRuneInfosCount(); i++) { + if (!getRuneInfos(i).isInitialized()) { + return false; + } + } + for (int i = 0; i < getIncomingTeleportsCount(); i++) { + if (!getIncomingTeleports(i).isInitialized()) { + return false; + } + } + for (int i = 0; i < getLinearProjectilesCount(); i++) { + if (!getLinearProjectiles(i).isInitialized()) { + return false; + } + } + for (int i = 0; i < getAvoidanceZonesCount(); i++) { + if (!getAvoidanceZones(i).isInitialized()) { + return false; + } + } + for (int i = 0; i < getAbilityEventsCount(); i++) { + if (!getAbilityEvents(i).isInitialized()) { + return false; + } + } + for (int i = 0; i < getTreeEventsCount(); i++) { + if (!getTreeEvents(i).isInitialized()) { + return false; + } + } + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + CMsgBotWorldStateOuterClass.CMsgBotWorldState parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (CMsgBotWorldStateOuterClass.CMsgBotWorldState) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private int teamId_ ; + /** + * <code>optional uint32 team_id = 1;</code> + */ + public boolean hasTeamId() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * <code>optional uint32 team_id = 1;</code> + */ + public int getTeamId() { + return teamId_; + } + /** + * <code>optional uint32 team_id = 1;</code> + */ + public Builder setTeamId(int value) { + bitField0_ |= 0x00000001; + teamId_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 team_id = 1;</code> + */ + public Builder clearTeamId() { + bitField0_ = (bitField0_ & ~0x00000001); + teamId_ = 0; + onChanged(); + return this; + } + + private float gameTime_ ; + /** + * <code>optional float game_time = 2;</code> + */ + public boolean hasGameTime() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + * <code>optional float game_time = 2;</code> + */ + public float getGameTime() { + return gameTime_; + } + /** + * <code>optional float game_time = 2;</code> + */ + public Builder setGameTime(float value) { + bitField0_ |= 0x00000002; + gameTime_ = value; + onChanged(); + return this; + } + /** + * <code>optional float game_time = 2;</code> + */ + public Builder clearGameTime() { + bitField0_ = (bitField0_ & ~0x00000002); + gameTime_ = 0F; + onChanged(); + return this; + } + + private float dotaTime_ ; + /** + * <code>optional float dota_time = 3;</code> + */ + public boolean hasDotaTime() { + return ((bitField0_ & 0x00000004) != 0); + } + /** + * <code>optional float dota_time = 3;</code> + */ + public float getDotaTime() { + return dotaTime_; + } + /** + * <code>optional float dota_time = 3;</code> + */ + public Builder setDotaTime(float value) { + bitField0_ |= 0x00000004; + dotaTime_ = value; + onChanged(); + return this; + } + /** + * <code>optional float dota_time = 3;</code> + */ + public Builder clearDotaTime() { + bitField0_ = (bitField0_ & ~0x00000004); + dotaTime_ = 0F; + onChanged(); + return this; + } + + private int gameState_ ; + /** + * <code>optional uint32 game_state = 4;</code> + */ + public boolean hasGameState() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * <code>optional uint32 game_state = 4;</code> + */ + public int getGameState() { + return gameState_; + } + /** + * <code>optional uint32 game_state = 4;</code> + */ + public Builder setGameState(int value) { + bitField0_ |= 0x00000008; + gameState_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 game_state = 4;</code> + */ + public Builder clearGameState() { + bitField0_ = (bitField0_ & ~0x00000008); + gameState_ = 0; + onChanged(); + return this; + } + + private int heroPickState_ ; + /** + * <code>optional uint32 hero_pick_state = 5;</code> + */ + public boolean hasHeroPickState() { + return ((bitField0_ & 0x00000010) != 0); + } + /** + * <code>optional uint32 hero_pick_state = 5;</code> + */ + public int getHeroPickState() { + return heroPickState_; + } + /** + * <code>optional uint32 hero_pick_state = 5;</code> + */ + public Builder setHeroPickState(int value) { + bitField0_ |= 0x00000010; + heroPickState_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 hero_pick_state = 5;</code> + */ + public Builder clearHeroPickState() { + bitField0_ = (bitField0_ & ~0x00000010); + heroPickState_ = 0; + onChanged(); + return this; + } + + private float timeOfDay_ ; + /** + * <code>optional float time_of_day = 6;</code> + */ + public boolean hasTimeOfDay() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + * <code>optional float time_of_day = 6;</code> + */ + public float getTimeOfDay() { + return timeOfDay_; + } + /** + * <code>optional float time_of_day = 6;</code> + */ + public Builder setTimeOfDay(float value) { + bitField0_ |= 0x00000020; + timeOfDay_ = value; + onChanged(); + return this; + } + /** + * <code>optional float time_of_day = 6;</code> + */ + public Builder clearTimeOfDay() { + bitField0_ = (bitField0_ & ~0x00000020); + timeOfDay_ = 0F; + onChanged(); + return this; + } + + private float glyphCooldown_ ; + /** + * <code>optional float glyph_cooldown = 7;</code> + */ + public boolean hasGlyphCooldown() { + return ((bitField0_ & 0x00000040) != 0); + } + /** + * <code>optional float glyph_cooldown = 7;</code> + */ + public float getGlyphCooldown() { + return glyphCooldown_; + } + /** + * <code>optional float glyph_cooldown = 7;</code> + */ + public Builder setGlyphCooldown(float value) { + bitField0_ |= 0x00000040; + glyphCooldown_ = value; + onChanged(); + return this; + } + /** + * <code>optional float glyph_cooldown = 7;</code> + */ + public Builder clearGlyphCooldown() { + bitField0_ = (bitField0_ & ~0x00000040); + glyphCooldown_ = 0F; + onChanged(); + return this; + } + + private int glyphCooldownEnemy_ ; + /** + * <code>optional uint32 glyph_cooldown_enemy = 8;</code> + */ + public boolean hasGlyphCooldownEnemy() { + return ((bitField0_ & 0x00000080) != 0); + } + /** + * <code>optional uint32 glyph_cooldown_enemy = 8;</code> + */ + public int getGlyphCooldownEnemy() { + return glyphCooldownEnemy_; + } + /** + * <code>optional uint32 glyph_cooldown_enemy = 8;</code> + */ + public Builder setGlyphCooldownEnemy(int value) { + bitField0_ |= 0x00000080; + glyphCooldownEnemy_ = value; + onChanged(); + return this; + } + /** + * <code>optional uint32 glyph_cooldown_enemy = 8;</code> + */ + public Builder clearGlyphCooldownEnemy() { + bitField0_ = (bitField0_ & ~0x00000080); + glyphCooldownEnemy_ = 0; + onChanged(); + return this; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player> players_ = + java.util.Collections.emptyList(); + private void ensurePlayersIsMutable() { + if (!((bitField0_ & 0x00000100) != 0)) { + players_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player>(players_); + bitField0_ |= 0x00000100; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.PlayerOrBuilder> playersBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player> getPlayersList() { + if (playersBuilder_ == null) { + return java.util.Collections.unmodifiableList(players_); + } else { + return playersBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public int getPlayersCount() { + if (playersBuilder_ == null) { + return players_.size(); + } else { + return playersBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player getPlayers(int index) { + if (playersBuilder_ == null) { + return players_.get(index); + } else { + return playersBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public Builder setPlayers( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player value) { + if (playersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePlayersIsMutable(); + players_.set(index, value); + onChanged(); + } else { + playersBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public Builder setPlayers( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.Builder builderForValue) { + if (playersBuilder_ == null) { + ensurePlayersIsMutable(); + players_.set(index, builderForValue.build()); + onChanged(); + } else { + playersBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public Builder addPlayers(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player value) { + if (playersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePlayersIsMutable(); + players_.add(value); + onChanged(); + } else { + playersBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public Builder addPlayers( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player value) { + if (playersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePlayersIsMutable(); + players_.add(index, value); + onChanged(); + } else { + playersBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public Builder addPlayers( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.Builder builderForValue) { + if (playersBuilder_ == null) { + ensurePlayersIsMutable(); + players_.add(builderForValue.build()); + onChanged(); + } else { + playersBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public Builder addPlayers( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.Builder builderForValue) { + if (playersBuilder_ == null) { + ensurePlayersIsMutable(); + players_.add(index, builderForValue.build()); + onChanged(); + } else { + playersBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public Builder addAllPlayers( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player> values) { + if (playersBuilder_ == null) { + ensurePlayersIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, players_); + onChanged(); + } else { + playersBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public Builder clearPlayers() { + if (playersBuilder_ == null) { + players_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000100); + onChanged(); + } else { + playersBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public Builder removePlayers(int index) { + if (playersBuilder_ == null) { + ensurePlayersIsMutable(); + players_.remove(index); + onChanged(); + } else { + playersBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.Builder getPlayersBuilder( + int index) { + return getPlayersFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.PlayerOrBuilder getPlayersOrBuilder( + int index) { + if (playersBuilder_ == null) { + return players_.get(index); } else { + return playersBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.PlayerOrBuilder> + getPlayersOrBuilderList() { + if (playersBuilder_ != null) { + return playersBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(players_); + } + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.Builder addPlayersBuilder() { + return getPlayersFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.Builder addPlayersBuilder( + int index) { + return getPlayersFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.Player players = 10;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.Builder> + getPlayersBuilderList() { + return getPlayersFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.PlayerOrBuilder> + getPlayersFieldBuilder() { + if (playersBuilder_ == null) { + playersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Player.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.PlayerOrBuilder>( + players_, + ((bitField0_ & 0x00000100) != 0), + getParentForChildren(), + isClean()); + players_ = null; + } + return playersBuilder_; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit> units_ = + java.util.Collections.emptyList(); + private void ensureUnitsIsMutable() { + if (!((bitField0_ & 0x00000200) != 0)) { + units_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit>(units_); + bitField0_ |= 0x00000200; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitOrBuilder> unitsBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit> getUnitsList() { + if (unitsBuilder_ == null) { + return java.util.Collections.unmodifiableList(units_); + } else { + return unitsBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public int getUnitsCount() { + if (unitsBuilder_ == null) { + return units_.size(); + } else { + return unitsBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit getUnits(int index) { + if (unitsBuilder_ == null) { + return units_.get(index); + } else { + return unitsBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public Builder setUnits( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit value) { + if (unitsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureUnitsIsMutable(); + units_.set(index, value); + onChanged(); + } else { + unitsBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public Builder setUnits( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.Builder builderForValue) { + if (unitsBuilder_ == null) { + ensureUnitsIsMutable(); + units_.set(index, builderForValue.build()); + onChanged(); + } else { + unitsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public Builder addUnits(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit value) { + if (unitsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureUnitsIsMutable(); + units_.add(value); + onChanged(); + } else { + unitsBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public Builder addUnits( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit value) { + if (unitsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureUnitsIsMutable(); + units_.add(index, value); + onChanged(); + } else { + unitsBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public Builder addUnits( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.Builder builderForValue) { + if (unitsBuilder_ == null) { + ensureUnitsIsMutable(); + units_.add(builderForValue.build()); + onChanged(); + } else { + unitsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public Builder addUnits( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.Builder builderForValue) { + if (unitsBuilder_ == null) { + ensureUnitsIsMutable(); + units_.add(index, builderForValue.build()); + onChanged(); + } else { + unitsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public Builder addAllUnits( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit> values) { + if (unitsBuilder_ == null) { + ensureUnitsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, units_); + onChanged(); + } else { + unitsBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public Builder clearUnits() { + if (unitsBuilder_ == null) { + units_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000200); + onChanged(); + } else { + unitsBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public Builder removeUnits(int index) { + if (unitsBuilder_ == null) { + ensureUnitsIsMutable(); + units_.remove(index); + onChanged(); + } else { + unitsBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.Builder getUnitsBuilder( + int index) { + return getUnitsFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitOrBuilder getUnitsOrBuilder( + int index) { + if (unitsBuilder_ == null) { + return units_.get(index); } else { + return unitsBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitOrBuilder> + getUnitsOrBuilderList() { + if (unitsBuilder_ != null) { + return unitsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(units_); + } + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.Builder addUnitsBuilder() { + return getUnitsFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.Builder addUnitsBuilder( + int index) { + return getUnitsFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.Unit units = 11;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.Builder> + getUnitsBuilderList() { + return getUnitsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitOrBuilder> + getUnitsFieldBuilder() { + if (unitsBuilder_ == null) { + unitsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.UnitOrBuilder>( + units_, + ((bitField0_ & 0x00000200) != 0), + getParentForChildren(), + isClean()); + units_ = null; + } + return unitsBuilder_; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem> droppedItems_ = + java.util.Collections.emptyList(); + private void ensureDroppedItemsIsMutable() { + if (!((bitField0_ & 0x00000400) != 0)) { + droppedItems_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem>(droppedItems_); + bitField0_ |= 0x00000400; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItemOrBuilder> droppedItemsBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem> getDroppedItemsList() { + if (droppedItemsBuilder_ == null) { + return java.util.Collections.unmodifiableList(droppedItems_); + } else { + return droppedItemsBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public int getDroppedItemsCount() { + if (droppedItemsBuilder_ == null) { + return droppedItems_.size(); + } else { + return droppedItemsBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem getDroppedItems(int index) { + if (droppedItemsBuilder_ == null) { + return droppedItems_.get(index); + } else { + return droppedItemsBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public Builder setDroppedItems( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem value) { + if (droppedItemsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDroppedItemsIsMutable(); + droppedItems_.set(index, value); + onChanged(); + } else { + droppedItemsBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public Builder setDroppedItems( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.Builder builderForValue) { + if (droppedItemsBuilder_ == null) { + ensureDroppedItemsIsMutable(); + droppedItems_.set(index, builderForValue.build()); + onChanged(); + } else { + droppedItemsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public Builder addDroppedItems(CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem value) { + if (droppedItemsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDroppedItemsIsMutable(); + droppedItems_.add(value); + onChanged(); + } else { + droppedItemsBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public Builder addDroppedItems( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem value) { + if (droppedItemsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDroppedItemsIsMutable(); + droppedItems_.add(index, value); + onChanged(); + } else { + droppedItemsBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public Builder addDroppedItems( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.Builder builderForValue) { + if (droppedItemsBuilder_ == null) { + ensureDroppedItemsIsMutable(); + droppedItems_.add(builderForValue.build()); + onChanged(); + } else { + droppedItemsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public Builder addDroppedItems( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.Builder builderForValue) { + if (droppedItemsBuilder_ == null) { + ensureDroppedItemsIsMutable(); + droppedItems_.add(index, builderForValue.build()); + onChanged(); + } else { + droppedItemsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public Builder addAllDroppedItems( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem> values) { + if (droppedItemsBuilder_ == null) { + ensureDroppedItemsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, droppedItems_); + onChanged(); + } else { + droppedItemsBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public Builder clearDroppedItems() { + if (droppedItemsBuilder_ == null) { + droppedItems_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000400); + onChanged(); + } else { + droppedItemsBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public Builder removeDroppedItems(int index) { + if (droppedItemsBuilder_ == null) { + ensureDroppedItemsIsMutable(); + droppedItems_.remove(index); + onChanged(); + } else { + droppedItemsBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.Builder getDroppedItemsBuilder( + int index) { + return getDroppedItemsFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItemOrBuilder getDroppedItemsOrBuilder( + int index) { + if (droppedItemsBuilder_ == null) { + return droppedItems_.get(index); } else { + return droppedItemsBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItemOrBuilder> + getDroppedItemsOrBuilderList() { + if (droppedItemsBuilder_ != null) { + return droppedItemsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(droppedItems_); + } + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.Builder addDroppedItemsBuilder() { + return getDroppedItemsFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.Builder addDroppedItemsBuilder( + int index) { + return getDroppedItemsFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.DroppedItem dropped_items = 12;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.Builder> + getDroppedItemsBuilderList() { + return getDroppedItemsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItemOrBuilder> + getDroppedItemsFieldBuilder() { + if (droppedItemsBuilder_ == null) { + droppedItemsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem, CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItem.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.DroppedItemOrBuilder>( + droppedItems_, + ((bitField0_ & 0x00000400) != 0), + getParentForChildren(), + isClean()); + droppedItems_ = null; + } + return droppedItemsBuilder_; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo> runeInfos_ = + java.util.Collections.emptyList(); + private void ensureRuneInfosIsMutable() { + if (!((bitField0_ & 0x00000800) != 0)) { + runeInfos_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo>(runeInfos_); + bitField0_ |= 0x00000800; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo, CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfoOrBuilder> runeInfosBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo> getRuneInfosList() { + if (runeInfosBuilder_ == null) { + return java.util.Collections.unmodifiableList(runeInfos_); + } else { + return runeInfosBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public int getRuneInfosCount() { + if (runeInfosBuilder_ == null) { + return runeInfos_.size(); + } else { + return runeInfosBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo getRuneInfos(int index) { + if (runeInfosBuilder_ == null) { + return runeInfos_.get(index); + } else { + return runeInfosBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public Builder setRuneInfos( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo value) { + if (runeInfosBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRuneInfosIsMutable(); + runeInfos_.set(index, value); + onChanged(); + } else { + runeInfosBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public Builder setRuneInfos( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.Builder builderForValue) { + if (runeInfosBuilder_ == null) { + ensureRuneInfosIsMutable(); + runeInfos_.set(index, builderForValue.build()); + onChanged(); + } else { + runeInfosBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public Builder addRuneInfos(CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo value) { + if (runeInfosBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRuneInfosIsMutable(); + runeInfos_.add(value); + onChanged(); + } else { + runeInfosBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public Builder addRuneInfos( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo value) { + if (runeInfosBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRuneInfosIsMutable(); + runeInfos_.add(index, value); + onChanged(); + } else { + runeInfosBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public Builder addRuneInfos( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.Builder builderForValue) { + if (runeInfosBuilder_ == null) { + ensureRuneInfosIsMutable(); + runeInfos_.add(builderForValue.build()); + onChanged(); + } else { + runeInfosBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public Builder addRuneInfos( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.Builder builderForValue) { + if (runeInfosBuilder_ == null) { + ensureRuneInfosIsMutable(); + runeInfos_.add(index, builderForValue.build()); + onChanged(); + } else { + runeInfosBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public Builder addAllRuneInfos( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo> values) { + if (runeInfosBuilder_ == null) { + ensureRuneInfosIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, runeInfos_); + onChanged(); + } else { + runeInfosBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public Builder clearRuneInfos() { + if (runeInfosBuilder_ == null) { + runeInfos_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000800); + onChanged(); + } else { + runeInfosBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public Builder removeRuneInfos(int index) { + if (runeInfosBuilder_ == null) { + ensureRuneInfosIsMutable(); + runeInfos_.remove(index); + onChanged(); + } else { + runeInfosBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.Builder getRuneInfosBuilder( + int index) { + return getRuneInfosFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfoOrBuilder getRuneInfosOrBuilder( + int index) { + if (runeInfosBuilder_ == null) { + return runeInfos_.get(index); } else { + return runeInfosBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfoOrBuilder> + getRuneInfosOrBuilderList() { + if (runeInfosBuilder_ != null) { + return runeInfosBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(runeInfos_); + } + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.Builder addRuneInfosBuilder() { + return getRuneInfosFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.Builder addRuneInfosBuilder( + int index) { + return getRuneInfosFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.RuneInfo rune_infos = 13;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.Builder> + getRuneInfosBuilderList() { + return getRuneInfosFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo, CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfoOrBuilder> + getRuneInfosFieldBuilder() { + if (runeInfosBuilder_ == null) { + runeInfosBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo, CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfo.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.RuneInfoOrBuilder>( + runeInfos_, + ((bitField0_ & 0x00000800) != 0), + getParentForChildren(), + isClean()); + runeInfos_ = null; + } + return runeInfosBuilder_; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo> incomingTeleports_ = + java.util.Collections.emptyList(); + private void ensureIncomingTeleportsIsMutable() { + if (!((bitField0_ & 0x00001000) != 0)) { + incomingTeleports_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo>(incomingTeleports_); + bitField0_ |= 0x00001000; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfoOrBuilder> incomingTeleportsBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo> getIncomingTeleportsList() { + if (incomingTeleportsBuilder_ == null) { + return java.util.Collections.unmodifiableList(incomingTeleports_); + } else { + return incomingTeleportsBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public int getIncomingTeleportsCount() { + if (incomingTeleportsBuilder_ == null) { + return incomingTeleports_.size(); + } else { + return incomingTeleportsBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo getIncomingTeleports(int index) { + if (incomingTeleportsBuilder_ == null) { + return incomingTeleports_.get(index); + } else { + return incomingTeleportsBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public Builder setIncomingTeleports( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo value) { + if (incomingTeleportsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureIncomingTeleportsIsMutable(); + incomingTeleports_.set(index, value); + onChanged(); + } else { + incomingTeleportsBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public Builder setIncomingTeleports( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.Builder builderForValue) { + if (incomingTeleportsBuilder_ == null) { + ensureIncomingTeleportsIsMutable(); + incomingTeleports_.set(index, builderForValue.build()); + onChanged(); + } else { + incomingTeleportsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public Builder addIncomingTeleports(CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo value) { + if (incomingTeleportsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureIncomingTeleportsIsMutable(); + incomingTeleports_.add(value); + onChanged(); + } else { + incomingTeleportsBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public Builder addIncomingTeleports( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo value) { + if (incomingTeleportsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureIncomingTeleportsIsMutable(); + incomingTeleports_.add(index, value); + onChanged(); + } else { + incomingTeleportsBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public Builder addIncomingTeleports( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.Builder builderForValue) { + if (incomingTeleportsBuilder_ == null) { + ensureIncomingTeleportsIsMutable(); + incomingTeleports_.add(builderForValue.build()); + onChanged(); + } else { + incomingTeleportsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public Builder addIncomingTeleports( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.Builder builderForValue) { + if (incomingTeleportsBuilder_ == null) { + ensureIncomingTeleportsIsMutable(); + incomingTeleports_.add(index, builderForValue.build()); + onChanged(); + } else { + incomingTeleportsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public Builder addAllIncomingTeleports( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo> values) { + if (incomingTeleportsBuilder_ == null) { + ensureIncomingTeleportsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, incomingTeleports_); + onChanged(); + } else { + incomingTeleportsBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public Builder clearIncomingTeleports() { + if (incomingTeleportsBuilder_ == null) { + incomingTeleports_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00001000); + onChanged(); + } else { + incomingTeleportsBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public Builder removeIncomingTeleports(int index) { + if (incomingTeleportsBuilder_ == null) { + ensureIncomingTeleportsIsMutable(); + incomingTeleports_.remove(index); + onChanged(); + } else { + incomingTeleportsBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.Builder getIncomingTeleportsBuilder( + int index) { + return getIncomingTeleportsFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfoOrBuilder getIncomingTeleportsOrBuilder( + int index) { + if (incomingTeleportsBuilder_ == null) { + return incomingTeleports_.get(index); } else { + return incomingTeleportsBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfoOrBuilder> + getIncomingTeleportsOrBuilderList() { + if (incomingTeleportsBuilder_ != null) { + return incomingTeleportsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(incomingTeleports_); + } + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.Builder addIncomingTeleportsBuilder() { + return getIncomingTeleportsFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.Builder addIncomingTeleportsBuilder( + int index) { + return getIncomingTeleportsFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.TeleportInfo incoming_teleports = 14;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.Builder> + getIncomingTeleportsBuilderList() { + return getIncomingTeleportsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfoOrBuilder> + getIncomingTeleportsFieldBuilder() { + if (incomingTeleportsBuilder_ == null) { + incomingTeleportsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfo.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.TeleportInfoOrBuilder>( + incomingTeleports_, + ((bitField0_ & 0x00001000) != 0), + getParentForChildren(), + isClean()); + incomingTeleports_ = null; + } + return incomingTeleportsBuilder_; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile> linearProjectiles_ = + java.util.Collections.emptyList(); + private void ensureLinearProjectilesIsMutable() { + if (!((bitField0_ & 0x00002000) != 0)) { + linearProjectiles_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile>(linearProjectiles_); + bitField0_ |= 0x00002000; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile, CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectileOrBuilder> linearProjectilesBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile> getLinearProjectilesList() { + if (linearProjectilesBuilder_ == null) { + return java.util.Collections.unmodifiableList(linearProjectiles_); + } else { + return linearProjectilesBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public int getLinearProjectilesCount() { + if (linearProjectilesBuilder_ == null) { + return linearProjectiles_.size(); + } else { + return linearProjectilesBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile getLinearProjectiles(int index) { + if (linearProjectilesBuilder_ == null) { + return linearProjectiles_.get(index); + } else { + return linearProjectilesBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public Builder setLinearProjectiles( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile value) { + if (linearProjectilesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureLinearProjectilesIsMutable(); + linearProjectiles_.set(index, value); + onChanged(); + } else { + linearProjectilesBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public Builder setLinearProjectiles( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.Builder builderForValue) { + if (linearProjectilesBuilder_ == null) { + ensureLinearProjectilesIsMutable(); + linearProjectiles_.set(index, builderForValue.build()); + onChanged(); + } else { + linearProjectilesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public Builder addLinearProjectiles(CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile value) { + if (linearProjectilesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureLinearProjectilesIsMutable(); + linearProjectiles_.add(value); + onChanged(); + } else { + linearProjectilesBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public Builder addLinearProjectiles( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile value) { + if (linearProjectilesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureLinearProjectilesIsMutable(); + linearProjectiles_.add(index, value); + onChanged(); + } else { + linearProjectilesBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public Builder addLinearProjectiles( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.Builder builderForValue) { + if (linearProjectilesBuilder_ == null) { + ensureLinearProjectilesIsMutable(); + linearProjectiles_.add(builderForValue.build()); + onChanged(); + } else { + linearProjectilesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public Builder addLinearProjectiles( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.Builder builderForValue) { + if (linearProjectilesBuilder_ == null) { + ensureLinearProjectilesIsMutable(); + linearProjectiles_.add(index, builderForValue.build()); + onChanged(); + } else { + linearProjectilesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public Builder addAllLinearProjectiles( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile> values) { + if (linearProjectilesBuilder_ == null) { + ensureLinearProjectilesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, linearProjectiles_); + onChanged(); + } else { + linearProjectilesBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public Builder clearLinearProjectiles() { + if (linearProjectilesBuilder_ == null) { + linearProjectiles_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00002000); + onChanged(); + } else { + linearProjectilesBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public Builder removeLinearProjectiles(int index) { + if (linearProjectilesBuilder_ == null) { + ensureLinearProjectilesIsMutable(); + linearProjectiles_.remove(index); + onChanged(); + } else { + linearProjectilesBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.Builder getLinearProjectilesBuilder( + int index) { + return getLinearProjectilesFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectileOrBuilder getLinearProjectilesOrBuilder( + int index) { + if (linearProjectilesBuilder_ == null) { + return linearProjectiles_.get(index); } else { + return linearProjectilesBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectileOrBuilder> + getLinearProjectilesOrBuilderList() { + if (linearProjectilesBuilder_ != null) { + return linearProjectilesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(linearProjectiles_); + } + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.Builder addLinearProjectilesBuilder() { + return getLinearProjectilesFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.Builder addLinearProjectilesBuilder( + int index) { + return getLinearProjectilesFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.LinearProjectile linear_projectiles = 15;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.Builder> + getLinearProjectilesBuilderList() { + return getLinearProjectilesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile, CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectileOrBuilder> + getLinearProjectilesFieldBuilder() { + if (linearProjectilesBuilder_ == null) { + linearProjectilesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile, CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectile.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.LinearProjectileOrBuilder>( + linearProjectiles_, + ((bitField0_ & 0x00002000) != 0), + getParentForChildren(), + isClean()); + linearProjectiles_ = null; + } + return linearProjectilesBuilder_; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone> avoidanceZones_ = + java.util.Collections.emptyList(); + private void ensureAvoidanceZonesIsMutable() { + if (!((bitField0_ & 0x00004000) != 0)) { + avoidanceZones_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone>(avoidanceZones_); + bitField0_ |= 0x00004000; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZoneOrBuilder> avoidanceZonesBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone> getAvoidanceZonesList() { + if (avoidanceZonesBuilder_ == null) { + return java.util.Collections.unmodifiableList(avoidanceZones_); + } else { + return avoidanceZonesBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public int getAvoidanceZonesCount() { + if (avoidanceZonesBuilder_ == null) { + return avoidanceZones_.size(); + } else { + return avoidanceZonesBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone getAvoidanceZones(int index) { + if (avoidanceZonesBuilder_ == null) { + return avoidanceZones_.get(index); + } else { + return avoidanceZonesBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public Builder setAvoidanceZones( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone value) { + if (avoidanceZonesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAvoidanceZonesIsMutable(); + avoidanceZones_.set(index, value); + onChanged(); + } else { + avoidanceZonesBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public Builder setAvoidanceZones( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.Builder builderForValue) { + if (avoidanceZonesBuilder_ == null) { + ensureAvoidanceZonesIsMutable(); + avoidanceZones_.set(index, builderForValue.build()); + onChanged(); + } else { + avoidanceZonesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public Builder addAvoidanceZones(CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone value) { + if (avoidanceZonesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAvoidanceZonesIsMutable(); + avoidanceZones_.add(value); + onChanged(); + } else { + avoidanceZonesBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public Builder addAvoidanceZones( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone value) { + if (avoidanceZonesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAvoidanceZonesIsMutable(); + avoidanceZones_.add(index, value); + onChanged(); + } else { + avoidanceZonesBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public Builder addAvoidanceZones( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.Builder builderForValue) { + if (avoidanceZonesBuilder_ == null) { + ensureAvoidanceZonesIsMutable(); + avoidanceZones_.add(builderForValue.build()); + onChanged(); + } else { + avoidanceZonesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public Builder addAvoidanceZones( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.Builder builderForValue) { + if (avoidanceZonesBuilder_ == null) { + ensureAvoidanceZonesIsMutable(); + avoidanceZones_.add(index, builderForValue.build()); + onChanged(); + } else { + avoidanceZonesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public Builder addAllAvoidanceZones( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone> values) { + if (avoidanceZonesBuilder_ == null) { + ensureAvoidanceZonesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, avoidanceZones_); + onChanged(); + } else { + avoidanceZonesBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public Builder clearAvoidanceZones() { + if (avoidanceZonesBuilder_ == null) { + avoidanceZones_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00004000); + onChanged(); + } else { + avoidanceZonesBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public Builder removeAvoidanceZones(int index) { + if (avoidanceZonesBuilder_ == null) { + ensureAvoidanceZonesIsMutable(); + avoidanceZones_.remove(index); + onChanged(); + } else { + avoidanceZonesBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.Builder getAvoidanceZonesBuilder( + int index) { + return getAvoidanceZonesFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZoneOrBuilder getAvoidanceZonesOrBuilder( + int index) { + if (avoidanceZonesBuilder_ == null) { + return avoidanceZones_.get(index); } else { + return avoidanceZonesBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZoneOrBuilder> + getAvoidanceZonesOrBuilderList() { + if (avoidanceZonesBuilder_ != null) { + return avoidanceZonesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(avoidanceZones_); + } + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.Builder addAvoidanceZonesBuilder() { + return getAvoidanceZonesFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.Builder addAvoidanceZonesBuilder( + int index) { + return getAvoidanceZonesFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.AvoidanceZone avoidance_zones = 16;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.Builder> + getAvoidanceZonesBuilderList() { + return getAvoidanceZonesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZoneOrBuilder> + getAvoidanceZonesFieldBuilder() { + if (avoidanceZonesBuilder_ == null) { + avoidanceZonesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZone.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.AvoidanceZoneOrBuilder>( + avoidanceZones_, + ((bitField0_ & 0x00004000) != 0), + getParentForChildren(), + isClean()); + avoidanceZones_ = null; + } + return avoidanceZonesBuilder_; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier> couriers_ = + java.util.Collections.emptyList(); + private void ensureCouriersIsMutable() { + if (!((bitField0_ & 0x00008000) != 0)) { + couriers_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier>(couriers_); + bitField0_ |= 0x00008000; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierOrBuilder> couriersBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier> getCouriersList() { + if (couriersBuilder_ == null) { + return java.util.Collections.unmodifiableList(couriers_); + } else { + return couriersBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public int getCouriersCount() { + if (couriersBuilder_ == null) { + return couriers_.size(); + } else { + return couriersBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier getCouriers(int index) { + if (couriersBuilder_ == null) { + return couriers_.get(index); + } else { + return couriersBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public Builder setCouriers( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier value) { + if (couriersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureCouriersIsMutable(); + couriers_.set(index, value); + onChanged(); + } else { + couriersBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public Builder setCouriers( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.Builder builderForValue) { + if (couriersBuilder_ == null) { + ensureCouriersIsMutable(); + couriers_.set(index, builderForValue.build()); + onChanged(); + } else { + couriersBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public Builder addCouriers(CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier value) { + if (couriersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureCouriersIsMutable(); + couriers_.add(value); + onChanged(); + } else { + couriersBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public Builder addCouriers( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier value) { + if (couriersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureCouriersIsMutable(); + couriers_.add(index, value); + onChanged(); + } else { + couriersBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public Builder addCouriers( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.Builder builderForValue) { + if (couriersBuilder_ == null) { + ensureCouriersIsMutable(); + couriers_.add(builderForValue.build()); + onChanged(); + } else { + couriersBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public Builder addCouriers( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.Builder builderForValue) { + if (couriersBuilder_ == null) { + ensureCouriersIsMutable(); + couriers_.add(index, builderForValue.build()); + onChanged(); + } else { + couriersBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public Builder addAllCouriers( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier> values) { + if (couriersBuilder_ == null) { + ensureCouriersIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, couriers_); + onChanged(); + } else { + couriersBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public Builder clearCouriers() { + if (couriersBuilder_ == null) { + couriers_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00008000); + onChanged(); + } else { + couriersBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public Builder removeCouriers(int index) { + if (couriersBuilder_ == null) { + ensureCouriersIsMutable(); + couriers_.remove(index); + onChanged(); + } else { + couriersBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.Builder getCouriersBuilder( + int index) { + return getCouriersFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierOrBuilder getCouriersOrBuilder( + int index) { + if (couriersBuilder_ == null) { + return couriers_.get(index); } else { + return couriersBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierOrBuilder> + getCouriersOrBuilderList() { + if (couriersBuilder_ != null) { + return couriersBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(couriers_); + } + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.Builder addCouriersBuilder() { + return getCouriersFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.Builder addCouriersBuilder( + int index) { + return getCouriersFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.Courier couriers = 17;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.Builder> + getCouriersBuilderList() { + return getCouriersFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierOrBuilder> + getCouriersFieldBuilder() { + if (couriersBuilder_ == null) { + couriersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier, CMsgBotWorldStateOuterClass.CMsgBotWorldState.Courier.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.CourierOrBuilder>( + couriers_, + ((bitField0_ & 0x00008000) != 0), + getParentForChildren(), + isClean()); + couriers_ = null; + } + return couriersBuilder_; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility> abilityEvents_ = + java.util.Collections.emptyList(); + private void ensureAbilityEventsIsMutable() { + if (!((bitField0_ & 0x00010000) != 0)) { + abilityEvents_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility>(abilityEvents_); + bitField0_ |= 0x00010000; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbilityOrBuilder> abilityEventsBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility> getAbilityEventsList() { + if (abilityEventsBuilder_ == null) { + return java.util.Collections.unmodifiableList(abilityEvents_); + } else { + return abilityEventsBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public int getAbilityEventsCount() { + if (abilityEventsBuilder_ == null) { + return abilityEvents_.size(); + } else { + return abilityEventsBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility getAbilityEvents(int index) { + if (abilityEventsBuilder_ == null) { + return abilityEvents_.get(index); + } else { + return abilityEventsBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public Builder setAbilityEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility value) { + if (abilityEventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAbilityEventsIsMutable(); + abilityEvents_.set(index, value); + onChanged(); + } else { + abilityEventsBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public Builder setAbilityEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.Builder builderForValue) { + if (abilityEventsBuilder_ == null) { + ensureAbilityEventsIsMutable(); + abilityEvents_.set(index, builderForValue.build()); + onChanged(); + } else { + abilityEventsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public Builder addAbilityEvents(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility value) { + if (abilityEventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAbilityEventsIsMutable(); + abilityEvents_.add(value); + onChanged(); + } else { + abilityEventsBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public Builder addAbilityEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility value) { + if (abilityEventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAbilityEventsIsMutable(); + abilityEvents_.add(index, value); + onChanged(); + } else { + abilityEventsBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public Builder addAbilityEvents( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.Builder builderForValue) { + if (abilityEventsBuilder_ == null) { + ensureAbilityEventsIsMutable(); + abilityEvents_.add(builderForValue.build()); + onChanged(); + } else { + abilityEventsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public Builder addAbilityEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.Builder builderForValue) { + if (abilityEventsBuilder_ == null) { + ensureAbilityEventsIsMutable(); + abilityEvents_.add(index, builderForValue.build()); + onChanged(); + } else { + abilityEventsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public Builder addAllAbilityEvents( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility> values) { + if (abilityEventsBuilder_ == null) { + ensureAbilityEventsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, abilityEvents_); + onChanged(); + } else { + abilityEventsBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public Builder clearAbilityEvents() { + if (abilityEventsBuilder_ == null) { + abilityEvents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00010000); + onChanged(); + } else { + abilityEventsBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public Builder removeAbilityEvents(int index) { + if (abilityEventsBuilder_ == null) { + ensureAbilityEventsIsMutable(); + abilityEvents_.remove(index); + onChanged(); + } else { + abilityEventsBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.Builder getAbilityEventsBuilder( + int index) { + return getAbilityEventsFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbilityOrBuilder getAbilityEventsOrBuilder( + int index) { + if (abilityEventsBuilder_ == null) { + return abilityEvents_.get(index); } else { + return abilityEventsBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbilityOrBuilder> + getAbilityEventsOrBuilderList() { + if (abilityEventsBuilder_ != null) { + return abilityEventsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(abilityEvents_); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.Builder addAbilityEventsBuilder() { + return getAbilityEventsFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.Builder addAbilityEventsBuilder( + int index) { + return getAbilityEventsFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.EventAbility ability_events = 20;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.Builder> + getAbilityEventsBuilderList() { + return getAbilityEventsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbilityOrBuilder> + getAbilityEventsFieldBuilder() { + if (abilityEventsBuilder_ == null) { + abilityEventsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbility.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventAbilityOrBuilder>( + abilityEvents_, + ((bitField0_ & 0x00010000) != 0), + getParentForChildren(), + isClean()); + abilityEvents_ = null; + } + return abilityEventsBuilder_; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage> damageEvents_ = + java.util.Collections.emptyList(); + private void ensureDamageEventsIsMutable() { + if (!((bitField0_ & 0x00020000) != 0)) { + damageEvents_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage>(damageEvents_); + bitField0_ |= 0x00020000; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamageOrBuilder> damageEventsBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage> getDamageEventsList() { + if (damageEventsBuilder_ == null) { + return java.util.Collections.unmodifiableList(damageEvents_); + } else { + return damageEventsBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public int getDamageEventsCount() { + if (damageEventsBuilder_ == null) { + return damageEvents_.size(); + } else { + return damageEventsBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage getDamageEvents(int index) { + if (damageEventsBuilder_ == null) { + return damageEvents_.get(index); + } else { + return damageEventsBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public Builder setDamageEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage value) { + if (damageEventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDamageEventsIsMutable(); + damageEvents_.set(index, value); + onChanged(); + } else { + damageEventsBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public Builder setDamageEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.Builder builderForValue) { + if (damageEventsBuilder_ == null) { + ensureDamageEventsIsMutable(); + damageEvents_.set(index, builderForValue.build()); + onChanged(); + } else { + damageEventsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public Builder addDamageEvents(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage value) { + if (damageEventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDamageEventsIsMutable(); + damageEvents_.add(value); + onChanged(); + } else { + damageEventsBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public Builder addDamageEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage value) { + if (damageEventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureDamageEventsIsMutable(); + damageEvents_.add(index, value); + onChanged(); + } else { + damageEventsBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public Builder addDamageEvents( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.Builder builderForValue) { + if (damageEventsBuilder_ == null) { + ensureDamageEventsIsMutable(); + damageEvents_.add(builderForValue.build()); + onChanged(); + } else { + damageEventsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public Builder addDamageEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.Builder builderForValue) { + if (damageEventsBuilder_ == null) { + ensureDamageEventsIsMutable(); + damageEvents_.add(index, builderForValue.build()); + onChanged(); + } else { + damageEventsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public Builder addAllDamageEvents( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage> values) { + if (damageEventsBuilder_ == null) { + ensureDamageEventsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, damageEvents_); + onChanged(); + } else { + damageEventsBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public Builder clearDamageEvents() { + if (damageEventsBuilder_ == null) { + damageEvents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00020000); + onChanged(); + } else { + damageEventsBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public Builder removeDamageEvents(int index) { + if (damageEventsBuilder_ == null) { + ensureDamageEventsIsMutable(); + damageEvents_.remove(index); + onChanged(); + } else { + damageEventsBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.Builder getDamageEventsBuilder( + int index) { + return getDamageEventsFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamageOrBuilder getDamageEventsOrBuilder( + int index) { + if (damageEventsBuilder_ == null) { + return damageEvents_.get(index); } else { + return damageEventsBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamageOrBuilder> + getDamageEventsOrBuilderList() { + if (damageEventsBuilder_ != null) { + return damageEventsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(damageEvents_); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.Builder addDamageEventsBuilder() { + return getDamageEventsFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.Builder addDamageEventsBuilder( + int index) { + return getDamageEventsFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.EventDamage damage_events = 21;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.Builder> + getDamageEventsBuilderList() { + return getDamageEventsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamageOrBuilder> + getDamageEventsFieldBuilder() { + if (damageEventsBuilder_ == null) { + damageEventsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamage.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventDamageOrBuilder>( + damageEvents_, + ((bitField0_ & 0x00020000) != 0), + getParentForChildren(), + isClean()); + damageEvents_ = null; + } + return damageEventsBuilder_; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled> courierKilledEvents_ = + java.util.Collections.emptyList(); + private void ensureCourierKilledEventsIsMutable() { + if (!((bitField0_ & 0x00040000) != 0)) { + courierKilledEvents_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled>(courierKilledEvents_); + bitField0_ |= 0x00040000; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilledOrBuilder> courierKilledEventsBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled> getCourierKilledEventsList() { + if (courierKilledEventsBuilder_ == null) { + return java.util.Collections.unmodifiableList(courierKilledEvents_); + } else { + return courierKilledEventsBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public int getCourierKilledEventsCount() { + if (courierKilledEventsBuilder_ == null) { + return courierKilledEvents_.size(); + } else { + return courierKilledEventsBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled getCourierKilledEvents(int index) { + if (courierKilledEventsBuilder_ == null) { + return courierKilledEvents_.get(index); + } else { + return courierKilledEventsBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public Builder setCourierKilledEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled value) { + if (courierKilledEventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureCourierKilledEventsIsMutable(); + courierKilledEvents_.set(index, value); + onChanged(); + } else { + courierKilledEventsBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public Builder setCourierKilledEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.Builder builderForValue) { + if (courierKilledEventsBuilder_ == null) { + ensureCourierKilledEventsIsMutable(); + courierKilledEvents_.set(index, builderForValue.build()); + onChanged(); + } else { + courierKilledEventsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public Builder addCourierKilledEvents(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled value) { + if (courierKilledEventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureCourierKilledEventsIsMutable(); + courierKilledEvents_.add(value); + onChanged(); + } else { + courierKilledEventsBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public Builder addCourierKilledEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled value) { + if (courierKilledEventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureCourierKilledEventsIsMutable(); + courierKilledEvents_.add(index, value); + onChanged(); + } else { + courierKilledEventsBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public Builder addCourierKilledEvents( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.Builder builderForValue) { + if (courierKilledEventsBuilder_ == null) { + ensureCourierKilledEventsIsMutable(); + courierKilledEvents_.add(builderForValue.build()); + onChanged(); + } else { + courierKilledEventsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public Builder addCourierKilledEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.Builder builderForValue) { + if (courierKilledEventsBuilder_ == null) { + ensureCourierKilledEventsIsMutable(); + courierKilledEvents_.add(index, builderForValue.build()); + onChanged(); + } else { + courierKilledEventsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public Builder addAllCourierKilledEvents( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled> values) { + if (courierKilledEventsBuilder_ == null) { + ensureCourierKilledEventsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, courierKilledEvents_); + onChanged(); + } else { + courierKilledEventsBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public Builder clearCourierKilledEvents() { + if (courierKilledEventsBuilder_ == null) { + courierKilledEvents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00040000); + onChanged(); + } else { + courierKilledEventsBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public Builder removeCourierKilledEvents(int index) { + if (courierKilledEventsBuilder_ == null) { + ensureCourierKilledEventsIsMutable(); + courierKilledEvents_.remove(index); + onChanged(); + } else { + courierKilledEventsBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.Builder getCourierKilledEventsBuilder( + int index) { + return getCourierKilledEventsFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilledOrBuilder getCourierKilledEventsOrBuilder( + int index) { + if (courierKilledEventsBuilder_ == null) { + return courierKilledEvents_.get(index); } else { + return courierKilledEventsBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilledOrBuilder> + getCourierKilledEventsOrBuilderList() { + if (courierKilledEventsBuilder_ != null) { + return courierKilledEventsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(courierKilledEvents_); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.Builder addCourierKilledEventsBuilder() { + return getCourierKilledEventsFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.Builder addCourierKilledEventsBuilder( + int index) { + return getCourierKilledEventsFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.EventCourierKilled courier_killed_events = 22;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.Builder> + getCourierKilledEventsBuilderList() { + return getCourierKilledEventsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilledOrBuilder> + getCourierKilledEventsFieldBuilder() { + if (courierKilledEventsBuilder_ == null) { + courierKilledEventsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilled.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventCourierKilledOrBuilder>( + courierKilledEvents_, + ((bitField0_ & 0x00040000) != 0), + getParentForChildren(), + isClean()); + courierKilledEvents_ = null; + } + return courierKilledEventsBuilder_; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled> roshanKilledEvents_ = + java.util.Collections.emptyList(); + private void ensureRoshanKilledEventsIsMutable() { + if (!((bitField0_ & 0x00080000) != 0)) { + roshanKilledEvents_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled>(roshanKilledEvents_); + bitField0_ |= 0x00080000; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilledOrBuilder> roshanKilledEventsBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled> getRoshanKilledEventsList() { + if (roshanKilledEventsBuilder_ == null) { + return java.util.Collections.unmodifiableList(roshanKilledEvents_); + } else { + return roshanKilledEventsBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public int getRoshanKilledEventsCount() { + if (roshanKilledEventsBuilder_ == null) { + return roshanKilledEvents_.size(); + } else { + return roshanKilledEventsBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled getRoshanKilledEvents(int index) { + if (roshanKilledEventsBuilder_ == null) { + return roshanKilledEvents_.get(index); + } else { + return roshanKilledEventsBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public Builder setRoshanKilledEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled value) { + if (roshanKilledEventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRoshanKilledEventsIsMutable(); + roshanKilledEvents_.set(index, value); + onChanged(); + } else { + roshanKilledEventsBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public Builder setRoshanKilledEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.Builder builderForValue) { + if (roshanKilledEventsBuilder_ == null) { + ensureRoshanKilledEventsIsMutable(); + roshanKilledEvents_.set(index, builderForValue.build()); + onChanged(); + } else { + roshanKilledEventsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public Builder addRoshanKilledEvents(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled value) { + if (roshanKilledEventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRoshanKilledEventsIsMutable(); + roshanKilledEvents_.add(value); + onChanged(); + } else { + roshanKilledEventsBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public Builder addRoshanKilledEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled value) { + if (roshanKilledEventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureRoshanKilledEventsIsMutable(); + roshanKilledEvents_.add(index, value); + onChanged(); + } else { + roshanKilledEventsBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public Builder addRoshanKilledEvents( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.Builder builderForValue) { + if (roshanKilledEventsBuilder_ == null) { + ensureRoshanKilledEventsIsMutable(); + roshanKilledEvents_.add(builderForValue.build()); + onChanged(); + } else { + roshanKilledEventsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public Builder addRoshanKilledEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.Builder builderForValue) { + if (roshanKilledEventsBuilder_ == null) { + ensureRoshanKilledEventsIsMutable(); + roshanKilledEvents_.add(index, builderForValue.build()); + onChanged(); + } else { + roshanKilledEventsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public Builder addAllRoshanKilledEvents( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled> values) { + if (roshanKilledEventsBuilder_ == null) { + ensureRoshanKilledEventsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, roshanKilledEvents_); + onChanged(); + } else { + roshanKilledEventsBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public Builder clearRoshanKilledEvents() { + if (roshanKilledEventsBuilder_ == null) { + roshanKilledEvents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00080000); + onChanged(); + } else { + roshanKilledEventsBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public Builder removeRoshanKilledEvents(int index) { + if (roshanKilledEventsBuilder_ == null) { + ensureRoshanKilledEventsIsMutable(); + roshanKilledEvents_.remove(index); + onChanged(); + } else { + roshanKilledEventsBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.Builder getRoshanKilledEventsBuilder( + int index) { + return getRoshanKilledEventsFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilledOrBuilder getRoshanKilledEventsOrBuilder( + int index) { + if (roshanKilledEventsBuilder_ == null) { + return roshanKilledEvents_.get(index); } else { + return roshanKilledEventsBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilledOrBuilder> + getRoshanKilledEventsOrBuilderList() { + if (roshanKilledEventsBuilder_ != null) { + return roshanKilledEventsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(roshanKilledEvents_); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.Builder addRoshanKilledEventsBuilder() { + return getRoshanKilledEventsFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.Builder addRoshanKilledEventsBuilder( + int index) { + return getRoshanKilledEventsFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.EventRoshanKilled roshan_killed_events = 23;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.Builder> + getRoshanKilledEventsBuilderList() { + return getRoshanKilledEventsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilledOrBuilder> + getRoshanKilledEventsFieldBuilder() { + if (roshanKilledEventsBuilder_ == null) { + roshanKilledEventsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilled.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventRoshanKilledOrBuilder>( + roshanKilledEvents_, + ((bitField0_ & 0x00080000) != 0), + getParentForChildren(), + isClean()); + roshanKilledEvents_ = null; + } + return roshanKilledEventsBuilder_; + } + + private java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree> treeEvents_ = + java.util.Collections.emptyList(); + private void ensureTreeEventsIsMutable() { + if (!((bitField0_ & 0x00100000) != 0)) { + treeEvents_ = new java.util.ArrayList<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree>(treeEvents_); + bitField0_ |= 0x00100000; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTreeOrBuilder> treeEventsBuilder_; + + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree> getTreeEventsList() { + if (treeEventsBuilder_ == null) { + return java.util.Collections.unmodifiableList(treeEvents_); + } else { + return treeEventsBuilder_.getMessageList(); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public int getTreeEventsCount() { + if (treeEventsBuilder_ == null) { + return treeEvents_.size(); + } else { + return treeEventsBuilder_.getCount(); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree getTreeEvents(int index) { + if (treeEventsBuilder_ == null) { + return treeEvents_.get(index); + } else { + return treeEventsBuilder_.getMessage(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public Builder setTreeEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree value) { + if (treeEventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTreeEventsIsMutable(); + treeEvents_.set(index, value); + onChanged(); + } else { + treeEventsBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public Builder setTreeEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.Builder builderForValue) { + if (treeEventsBuilder_ == null) { + ensureTreeEventsIsMutable(); + treeEvents_.set(index, builderForValue.build()); + onChanged(); + } else { + treeEventsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public Builder addTreeEvents(CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree value) { + if (treeEventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTreeEventsIsMutable(); + treeEvents_.add(value); + onChanged(); + } else { + treeEventsBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public Builder addTreeEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree value) { + if (treeEventsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTreeEventsIsMutable(); + treeEvents_.add(index, value); + onChanged(); + } else { + treeEventsBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public Builder addTreeEvents( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.Builder builderForValue) { + if (treeEventsBuilder_ == null) { + ensureTreeEventsIsMutable(); + treeEvents_.add(builderForValue.build()); + onChanged(); + } else { + treeEventsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public Builder addTreeEvents( + int index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.Builder builderForValue) { + if (treeEventsBuilder_ == null) { + ensureTreeEventsIsMutable(); + treeEvents_.add(index, builderForValue.build()); + onChanged(); + } else { + treeEventsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public Builder addAllTreeEvents( + java.lang.Iterable<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree> values) { + if (treeEventsBuilder_ == null) { + ensureTreeEventsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, treeEvents_); + onChanged(); + } else { + treeEventsBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public Builder clearTreeEvents() { + if (treeEventsBuilder_ == null) { + treeEvents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00100000); + onChanged(); + } else { + treeEventsBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public Builder removeTreeEvents(int index) { + if (treeEventsBuilder_ == null) { + ensureTreeEventsIsMutable(); + treeEvents_.remove(index); + onChanged(); + } else { + treeEventsBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.Builder getTreeEventsBuilder( + int index) { + return getTreeEventsFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTreeOrBuilder getTreeEventsOrBuilder( + int index) { + if (treeEventsBuilder_ == null) { + return treeEvents_.get(index); } else { + return treeEventsBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public java.util.List<? extends CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTreeOrBuilder> + getTreeEventsOrBuilderList() { + if (treeEventsBuilder_ != null) { + return treeEventsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(treeEvents_); + } + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.Builder addTreeEventsBuilder() { + return getTreeEventsFieldBuilder().addBuilder( + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.Builder addTreeEventsBuilder( + int index) { + return getTreeEventsFieldBuilder().addBuilder( + index, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.getDefaultInstance()); + } + /** + * <code>repeated .CMsgBotWorldState.EventTree tree_events = 24;</code> + */ + public java.util.List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.Builder> + getTreeEventsBuilderList() { + return getTreeEventsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTreeOrBuilder> + getTreeEventsFieldBuilder() { + if (treeEventsBuilder_ == null) { + treeEventsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTree.Builder, CMsgBotWorldStateOuterClass.CMsgBotWorldState.EventTreeOrBuilder>( + treeEvents_, + ((bitField0_ & 0x00100000) != 0), + getParentForChildren(), + isClean()); + treeEvents_ = null; + } + return treeEventsBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:CMsgBotWorldState) + } + + // @@protoc_insertion_point(class_scope:CMsgBotWorldState) + private static final CMsgBotWorldStateOuterClass.CMsgBotWorldState DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CMsgBotWorldStateOuterClass.CMsgBotWorldState(); + } + + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + @java.lang.Deprecated public static final com.google.protobuf.Parser<CMsgBotWorldState> + PARSER = new com.google.protobuf.AbstractParser<CMsgBotWorldState>() { + @java.lang.Override + public CMsgBotWorldState parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new CMsgBotWorldState(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<CMsgBotWorldState> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<CMsgBotWorldState> getParserForType() { + return PARSER; + } + + @java.lang.Override + public CMsgBotWorldStateOuterClass.CMsgBotWorldState getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Vector_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Vector_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Player_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Player_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Ability_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Ability_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_DroppedItem_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_DroppedItem_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_RuneInfo_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_RuneInfo_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_TeleportInfo_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_TeleportInfo_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Modifier_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Modifier_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_LinearProjectile_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_LinearProjectile_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_TrackingProjectile_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_TrackingProjectile_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_AvoidanceZone_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_AvoidanceZone_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Courier_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Courier_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_EventAbility_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_EventAbility_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_EventDamage_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_EventDamage_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_EventCourierKilled_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_EventCourierKilled_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_EventRoshanKilled_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_EventRoshanKilled_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_EventTree_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_EventTree_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Unit_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Unit_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Actions_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Actions_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Actions_OceanAnnotation_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Actions_OceanAnnotation_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Actions_OceanAnnotation_Hero_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Actions_OceanAnnotation_Hero_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Actions_Header_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Actions_Header_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_MoveToLocation_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_MoveToLocation_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_MoveToTarget_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_MoveToTarget_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_AttackMove_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_AttackMove_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_AttackTarget_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_AttackTarget_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_HoldLocation_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_HoldLocation_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_Stop_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_Stop_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_CastLocation_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_CastLocation_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_CastTarget_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_CastTarget_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_CastTree_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_CastTree_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_Cast_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_Cast_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_CastToggle_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_CastToggle_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_TrainAbility_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_TrainAbility_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_DropItem_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_DropItem_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_PickUpItem_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_PickUpItem_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_PurchaseItem_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_PurchaseItem_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_SellItem_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_SellItem_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_SwapItems_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_SwapItems_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_DisassembleItem_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_DisassembleItem_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_SetCombineLockItem_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_SetCombineLockItem_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_PickupRune_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_PickupRune_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_Chat_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_Chat_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_UseShrine_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_UseShrine_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_Courier_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_Courier_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_GetActualIncomingDamage_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_GetActualIncomingDamage_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_GetEstimatedDamageToTarget_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_GetEstimatedDamageToTarget_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_Glyph_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_Glyph_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_SoftReset_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_SoftReset_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_Buyback_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_Buyback_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawText_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawText_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawLine_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawLine_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawScreenText_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawScreenText_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_ScriptingDebugScreenTextPretty_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_ScriptingDebugScreenTextPretty_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawBox_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawBox_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawCircle_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawCircle_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawClear_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawClear_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_OceanWinGame_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_OceanWinGame_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_CMsgBotWorldState_Action_OceanReplayCorrectTime_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_CMsgBotWorldState_Action_OceanReplayCorrectTime_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\027CMsgBotWorldState.proto\"\345m\n\021CMsgBotWor" + + "ldState\022\017\n\007team_id\030\001 \001(\r\022\021\n\tgame_time\030\002 " + + "\001(\002\022\021\n\tdota_time\030\003 \001(\002\022\022\n\ngame_state\030\004 \001" + + "(\r\022\027\n\017hero_pick_state\030\005 \001(\r\022\023\n\013time_of_d" + + "ay\030\006 \001(\002\022\026\n\016glyph_cooldown\030\007 \001(\002\022\034\n\024glyp" + + "h_cooldown_enemy\030\010 \001(\r\022*\n\007players\030\n \003(\0132" + + "\031.CMsgBotWorldState.Player\022&\n\005units\030\013 \003(" + + "\0132\027.CMsgBotWorldState.Unit\0225\n\rdropped_it" + + "ems\030\014 \003(\0132\036.CMsgBotWorldState.DroppedIte" + + "m\022/\n\nrune_infos\030\r \003(\0132\033.CMsgBotWorldStat" + + "e.RuneInfo\022;\n\022incoming_teleports\030\016 \003(\0132\037" + + ".CMsgBotWorldState.TeleportInfo\022?\n\022linea" + + "r_projectiles\030\017 \003(\0132#.CMsgBotWorldState." + + "LinearProjectile\0229\n\017avoidance_zones\030\020 \003(" + + "\0132 .CMsgBotWorldState.AvoidanceZone\022,\n\010c" + + "ouriers\030\021 \003(\0132\032.CMsgBotWorldState.Courie" + + "r\0227\n\016ability_events\030\024 \003(\0132\037.CMsgBotWorld" + + "State.EventAbility\0225\n\rdamage_events\030\025 \003(" + + "\0132\036.CMsgBotWorldState.EventDamage\022D\n\025cou" + + "rier_killed_events\030\026 \003(\0132%.CMsgBotWorldS" + + "tate.EventCourierKilled\022B\n\024roshan_killed" + + "_events\030\027 \003(\0132$.CMsgBotWorldState.EventR" + + "oshanKilled\0221\n\013tree_events\030\030 \003(\0132\034.CMsgB" + + "otWorldState.EventTree\032)\n\006Vector\022\t\n\001x\030\001 " + + "\002(\002\022\t\n\001y\030\002 \002(\002\022\t\n\001z\030\003 \002(\002\032\225\001\n\006Player\022\021\n\t" + + "player_id\030\001 \001(\005\022\017\n\007hero_id\030\002 \001(\r\022\020\n\010is_a" + + "live\030\003 \001(\010\022\024\n\014respawn_time\030\004 \001(\002\022\r\n\005kill" + + "s\030\005 \001(\r\022\016\n\006deaths\030\006 \001(\r\022\017\n\007assists\030\007 \001(\r" + + "\022\017\n\007team_id\030\010 \001(\r\032\235\003\n\007Ability\022\016\n\006handle\030" + + "\001 \001(\r\022\022\n\nability_id\030\002 \001(\r\022\014\n\004slot\030\003 \001(\r\022" + + "\025\n\rcaster_handle\030\005 \001(\r\022\r\n\005level\030\006 \001(\r\022\022\n" + + "\ncast_range\030\n \001(\r\022\024\n\014channel_time\030\013 \001(\002\022" + + "\035\n\022cooldown_remaining\030\014 \001(\002:\0010\022\024\n\014is_act" + + "ivated\030\024 \001(\010\022\022\n\nis_toggled\030\025 \001(\010\022\033\n\023is_i" + + "n_ability_phase\030\026 \001(\010\022\025\n\ris_channeling\030\027" + + " \001(\010\022\021\n\tis_stolen\030\030 \001(\010\022\031\n\021is_fully_cast" + + "able\030\031 \001(\010\022\017\n\007charges\030\036 \001(\r\022\031\n\021secondary" + + "_charges\030\037 \001(\r\022\032\n\022is_combined_locked\030( \001" + + "(\010\022\035\n\021power_treads_stat\0302 \001(\005:\002-1\032K\n\013Dro" + + "ppedItem\022\017\n\007item_id\030\001 \001(\r\022+\n\010location\030\002 " + + "\001(\0132\031.CMsgBotWorldState.Vector\032n\n\010RuneIn" + + "fo\022\014\n\004type\030\001 \001(\005\022+\n\010location\030\002 \001(\0132\031.CMs" + + "gBotWorldState.Vector\022\016\n\006status\030\003 \001(\r\022\027\n" + + "\017time_since_seen\030\004 \001(\002\032f\n\014TeleportInfo\022\021" + + "\n\tplayer_id\030\001 \001(\005\022+\n\010location\030\002 \001(\0132\031.CM" + + "sgBotWorldState.Vector\022\026\n\016time_remaining" + + "\030\003 \001(\002\032\226\001\n\010Modifier\022\014\n\004name\030\001 \001(\t\022\023\n\013sta" + + "ck_count\030\002 \001(\r\022\026\n\016ability_handle\030\003 \001(\r\022\022" + + "\n\nability_id\030\004 \001(\r\022\032\n\022remaining_duration" + + "\030\005 \001(\002\022\037\n\027auxiliary_units_handles\030\006 \003(\r\032" + + "\251\002\n\020LinearProjectile\022\016\n\006handle\030\001 \001(\r\022\025\n\r" + + "caster_handle\030\002 \001(\r\022>\n\020caster_unit_type\030" + + "\t \001(\0162\033.CMsgBotWorldState.UnitType:\007INVA" + + "LID\022\030\n\020caster_player_id\030\003 \001(\005\022\026\n\016ability" + + "_handle\030\004 \001(\r\022\022\n\nability_id\030\005 \001(\r\022+\n\010loc" + + "ation\030\006 \001(\0132\031.CMsgBotWorldState.Vector\022+" + + "\n\010velocity\030\007 \001(\0132\031.CMsgBotWorldState.Vec" + + "tor\022\016\n\006radius\030\010 \001(\r\032\231\002\n\022TrackingProjecti" + + "le\022\025\n\rcaster_handle\030\001 \001(\r\022>\n\020caster_unit" + + "_type\030\t \001(\0162\033.CMsgBotWorldState.UnitType" + + ":\007INVALID\022\030\n\020caster_player_id\030\002 \001(\005\022\026\n\016a" + + "bility_handle\030\003 \001(\r\022\022\n\nability_id\030\004 \001(\r\022" + + "+\n\010location\030\005 \001(\0132\031.CMsgBotWorldState.Ve" + + "ctor\022\020\n\010velocity\030\006 \001(\r\022\024\n\014is_dodgeable\030\007" + + " \001(\010\022\021\n\tis_attack\030\010 \001(\010\032\351\001\n\rAvoidanceZon" + + "e\022+\n\010location\030\001 \001(\0132\031.CMsgBotWorldState." + + "Vector\022\025\n\rcaster_handle\030\002 \001(\r\022>\n\020caster_" + + "unit_type\030\007 \001(\0162\033.CMsgBotWorldState.Unit" + + "Type:\007INVALID\022\030\n\020caster_player_id\030\003 \001(\005\022" + + "\026\n\016ability_handle\030\004 \001(\r\022\022\n\nability_id\030\005 " + + "\001(\r\022\016\n\006radius\030\006 \001(\r\032p\n\007Courier\022\016\n\006handle" + + "\030\001 \001(\r\022B\n\005state\030\002 \001(\0162\037.CMsgBotWorldStat" + + "e.CourierState:\022COURIER_STATE_INIT\022\021\n\tpl" + + "ayer_id\030\003 \001(\005\032\221\001\n\014EventAbility\022\022\n\nabilit" + + "y_id\030\001 \001(\r\022\021\n\tplayer_id\030\002 \001(\005\022\023\n\013unit_ha" + + "ndle\030\003 \001(\r\022+\n\010location\030\004 \001(\0132\031.CMsgBotWo" + + "rldState.Vector\022\030\n\020is_channel_start\030\005 \001(" + + "\010\032\241\001\n\013EventDamage\022\016\n\006damage\030\001 \001(\r\022\030\n\020vic" + + "tim_player_id\030\002 \001(\005\022\032\n\022victim_unit_handl" + + "e\030\003 \001(\r\022\032\n\022attacker_player_id\030\004 \001(\005\022\034\n\024a" + + "ttacker_unit_handle\030\005 \001(\r\022\022\n\nability_id\030" + + "\006 \001(\r\032x\n\022EventCourierKilled\022\017\n\007team_id\030\001" + + " \001(\r\022\033\n\023courier_unit_handle\030\002 \001(\r\022\030\n\020kil" + + "ler_player_id\030\003 \001(\005\022\032\n\022killer_unit_handl" + + "e\030\004 \001(\r\032I\n\021EventRoshanKilled\022\030\n\020killer_p" + + "layer_id\030\001 \001(\005\022\032\n\022killer_unit_handle\030\002 \001" + + "(\r\032\200\001\n\tEventTree\022\017\n\007tree_id\030\001 \001(\r\022\021\n\tdes" + + "troyed\030\002 \001(\010\022\021\n\trespawned\030\003 \001(\010\022+\n\010locat" + + "ion\030\004 \001(\0132\031.CMsgBotWorldState.Vector\022\017\n\007" + + "delayed\030\005 \001(\010\032\360\021\n\004Unit\022\016\n\006handle\030\001 \001(\r\0227" + + "\n\tunit_type\030\002 \001(\0162\033.CMsgBotWorldState.Un" + + "itType:\007INVALID\022\014\n\004name\030\003 \001(\t\022\017\n\007team_id" + + "\030\004 \001(\r\022\r\n\005level\030\005 \001(\r\022+\n\010location\030\006 \001(\0132" + + "\031.CMsgBotWorldState.Vector\022\020\n\010is_alive\030\007" + + " \001(\010\022\021\n\tplayer_id\030\010 \001(\005\022\027\n\017bounding_radi" + + "us\030\n \001(\005\022\016\n\006facing\030\013 \001(\005\022\025\n\rground_heigh" + + "t\030\014 \001(\r\022\034\n\024vision_range_daytime\030\017 \001(\r\022\036\n" + + "\026vision_range_nighttime\030\020 \001(\r\022\016\n\006health\030" + + "\024 \001(\005\022\022\n\nhealth_max\030\025 \001(\005\022\024\n\014health_rege" + + "n\030\026 \001(\002\022\014\n\004mana\030\031 \001(\005\022\020\n\010mana_max\030\032 \001(\005\022" + + "\022\n\nmana_regen\030\033 \001(\002\022\033\n\023base_movement_spe" + + "ed\030\036 \001(\005\022\036\n\026current_movement_speed\030\037 \001(\005" + + "\022\025\n\ranim_activity\030# \001(\005\022\022\n\nanim_cycle\030$ " + + "\001(\002\022\023\n\013base_damage\030( \001(\005\022\034\n\024base_damage_" + + "variance\030) \001(\005\022\024\n\014bonus_damage\030* \001(\005\022\025\n\r" + + "attack_damage\030+ \001(\005\022\024\n\014attack_range\030, \001(" + + "\005\022\024\n\014attack_speed\030- \001(\002\022\031\n\021attack_anim_p" + + "oint\030. \001(\002\022 \n\030attack_acquisition_range\030/" + + " \001(\005\022\037\n\027attack_projectile_speed\0300 \001(\005\022\034\n" + + "\024attack_target_handle\0301 \001(\r\022\032\n\022attack_ta" + + "rget_name\0304 \001(\t\022\036\n\022attacks_per_second\0302 " + + "\001(\005:\002-1\022\034\n\020last_attack_time\0303 \001(\002:\002-1\022\021\n" + + "\tbounty_xp\030< \001(\r\022\027\n\017bounty_gold_min\030= \001(" + + "\r\022\027\n\017bounty_gold_max\030> \001(\r\022\025\n\ris_channel" + + "ing\030A \001(\010\022\035\n\025active_ability_handle\030B \001(\r" + + "\022\030\n\020is_attack_immune\030F \001(\010\022\020\n\010is_blind\030G" + + " \001(\010\022\031\n\021is_block_disabled\030H \001(\010\022\023\n\013is_di" + + "sarmed\030I \001(\010\022\024\n\014is_dominated\030J \001(\010\022\031\n\021is" + + "_evade_disabled\030K \001(\010\022\020\n\010is_hexed\030L \001(\010\022" + + "\024\n\014is_invisible\030M \001(\010\022\027\n\017is_invulnerable" + + "\030N \001(\010\022\027\n\017is_magic_immune\030O \001(\010\022\020\n\010is_mu" + + "ted\030P \001(\010\022\025\n\ris_nightmared\030R \001(\010\022\021\n\tis_r" + + "ooted\030S \001(\010\022\023\n\013is_silenced\030T \001(\010\022\035\n\025is_s" + + "pecially_deniable\030U \001(\010\022\022\n\nis_stunned\030V " + + "\001(\010\022\031\n\021is_unable_to_miss\030W \001(\010\022\023\n\013has_sc" + + "epter\030X \001(\010\022-\n\tabilities\030Z \003(\0132\032.CMsgBot" + + "WorldState.Ability\022)\n\005items\030[ \003(\0132\032.CMsg" + + "BotWorldState.Ability\022.\n\tmodifiers\030\\ \003(\013" + + "2\033.CMsgBotWorldState.Modifier\022L\n\035incomin" + + "g_tracking_projectiles\030] \003(\0132%.CMsgBotWo" + + "rldState.TrackingProjectile\022\023\n\013action_ty" + + "pe\030d \001(\r\022\035\n\025ability_target_handle\030e \001(\r\022" + + "\033\n\023ability_target_name\030g \001(\t\022\030\n\020is_using" + + "_ability\030f \001(\010\022\031\n\021primary_attribute\030n \001(" + + "\r\022\023\n\013is_illusion\030o \001(\010\022\024\n\014respawn_time\030p" + + " \001(\002\022\024\n\014buyback_cost\030q \001(\r\022\030\n\020buyback_co" + + "oldown\030r \001(\002\022\033\n\023spell_amplification\030s \001(" + + "\002\022\r\n\005armor\030t \001(\002\022\024\n\014magic_resist\030u \001(\002\022\017" + + "\n\007evasion\030v \001(\002\022\032\n\022xp_needed_to_level\030x " + + "\001(\r\022\026\n\016ability_points\030y \001(\r\022\031\n\rreliable_" + + "gold\030z \001(\005:\002-1\022\033\n\017unreliable_gold\030{ \001(\005:" + + "\002-1\022\021\n\tlast_hits\030| \001(\r\022\016\n\006denies\030} \001(\r\022\021" + + "\n\tnet_worth\030~ \001(\r\022\020\n\010strength\030\177 \001(\r\022\020\n\007a" + + "gility\030\200\001 \001(\r\022\025\n\014intelligence\030\201\001 \001(\r\022\033\n\022" + + "remaining_lifespan\030\202\001 \001(\002\022\027\n\016flying_cour" + + "ier\030\214\001 \001(\010\022\030\n\017shrine_cooldown\030\226\001 \001(\002\022\032\n\021" + + "is_shrine_healing\030\227\001 \001(\010\032\252\004\n\007Actions\022\027\n\t" + + "dota_time\030\001 \001(\002:\004-100\022*\n\007actions\030\002 \003(\0132\031" + + ".CMsgBotWorldState.Action\022\021\n\textraData\030\003" + + " \001(\t\022C\n\017oceanAnnotation\030\004 \001(\0132*.CMsgBotW" + + "orldState.Actions.OceanAnnotation\0221\n\006hea" + + "der\030\005 \001(\0132!.CMsgBotWorldState.Actions.He" + + "ader\032\243\002\n\017OceanAnnotation\022?\n\006heroes\030\001 \003(\013" + + "2/.CMsgBotWorldState.Actions.OceanAnnota" + + "tion.Hero\022\017\n\007agentID\030\005 \001(\t\022\017\n\007rewards\030\006 " + + "\003(\002\022\024\n\014reward_names\030\007 \003(\t\032\226\001\n\004Hero\022\020\n\010pl" + + "ayerID\030\001 \002(\005\022\025\n\rvalueFunction\030\002 \001(\002\022\022\n\na" + + "ctionLogp\030\003 \001(\002\022\016\n\006reward\030\004 \001(\002\022\026\n\016inter" + + "nalAction\030\005 \003(\005\022\022\n\nactionName\030\006 \001(\t\022\025\n\rd" + + "etailedStats\030\007 \001(\014\032)\n\006Header\022\021\n\tstartTim" + + "e\030\001 \001(\002\022\014\n\004name\030\002 \001(\t\032\3238\n\006Action\022H\n\nacti" + + "onType\030\001 \002(\0162\036.CMsgBotWorldState.Action." + + "Type:\024DOTA_UNIT_ORDER_NONE\022\022\n\006player\030\002 \001" + + "(\005:\002-1\022\024\n\010actionID\030\004 \001(\005:\002-1\022\026\n\013actionDe" + + "lay\030\n \001(\005:\0010\022B\n\016moveToLocation\030e \001(\0132(.C" + + "MsgBotWorldState.Action.MoveToLocationH\000" + + "\022>\n\014moveToTarget\030f \001(\0132&.CMsgBotWorldSta" + + "te.Action.MoveToTargetH\000\022:\n\nattackMove\030g" + + " \001(\0132$.CMsgBotWorldState.Action.AttackMo" + + "veH\000\022>\n\014attackTarget\030h \001(\0132&.CMsgBotWorl" + + "dState.Action.AttackTargetH\000\022>\n\014castLoca" + + "tion\030i \001(\0132&.CMsgBotWorldState.Action.Ca" + + "stLocationH\000\022:\n\ncastTarget\030j \001(\0132$.CMsgB" + + "otWorldState.Action.CastTargetH\000\0226\n\010cast" + + "Tree\030k \001(\0132\".CMsgBotWorldState.Action.Ca" + + "stTreeH\000\022.\n\004cast\030l \001(\0132\036.CMsgBotWorldSta" + + "te.Action.CastH\000\022:\n\ncastToggle\030m \001(\0132$.C" + + "MsgBotWorldState.Action.CastToggleH\000\022>\n\014" + + "holdLocation\030n \001(\0132&.CMsgBotWorldState.A" + + "ction.HoldLocationH\000\022>\n\014trainAbility\030o \001" + + "(\0132&.CMsgBotWorldState.Action.TrainAbili" + + "tyH\000\0226\n\010dropItem\030p \001(\0132\".CMsgBotWorldSta" + + "te.Action.DropItemH\000\022:\n\npickUpItem\030r \001(\013" + + "2$.CMsgBotWorldState.Action.PickUpItemH\000" + + "\022:\n\npickupRune\030s \001(\0132$.CMsgBotWorldState" + + ".Action.PickupRuneH\000\022>\n\014purchaseItem\030t \001" + + "(\0132&.CMsgBotWorldState.Action.PurchaseIt" + + "emH\000\0226\n\010sellItem\030u \001(\0132\".CMsgBotWorldSta" + + "te.Action.SellItemH\000\022D\n\017disassembleItem\030" + + "v \001(\0132).CMsgBotWorldState.Action.Disasse" + + "mbleItemH\000\022K\n\022setCombineLockItem\030\204\001 \001(\0132" + + ",.CMsgBotWorldState.Action.SetCombineLoc" + + "kItemH\000\022.\n\004stop\030y \001(\0132\036.CMsgBotWorldStat" + + "e.Action.StopH\000\022/\n\004chat\030\214\001 \001(\0132\036.CMsgBot" + + "WorldState.Action.ChatH\000\0229\n\tswapItems\030\215\001" + + " \001(\0132#.CMsgBotWorldState.Action.SwapItem" + + "sH\000\0229\n\tuseShrine\030\216\001 \001(\0132#.CMsgBotWorldSt" + + "ate.Action.UseShrineH\000\0225\n\007courier\030\217\001 \001(\013" + + "2!.CMsgBotWorldState.Action.CourierH\000\022U\n" + + "\027getActualIncomingDamage\030\220\001 \001(\01321.CMsgBo" + + "tWorldState.Action.GetActualIncomingDama" + + "geH\000\022[\n\032getEstimatedDamageToTarget\030\221\001 \001(" + + "\01324.CMsgBotWorldState.Action.GetEstimate" + + "dDamageToTargetH\000\0221\n\005glyph\030\222\001 \001(\0132\037.CMsg" + + "BotWorldState.Action.GlyphH\000\0229\n\tsoftRese" + + "t\030\224\001 \001(\0132#.CMsgBotWorldState.Action.Soft" + + "ResetH\000\0225\n\007buyback\030\225\001 \001(\0132!.CMsgBotWorld" + + "State.Action.BuybackH\000\022S\n\026scriptingDebug" + + "DrawText\030\226\001 \001(\01320.CMsgBotWorldState.Acti" + + "on.ScriptingDebugDrawTextH\000\022S\n\026scripting" + + "DebugDrawLine\030\227\001 \001(\01320.CMsgBotWorldState" + + ".Action.ScriptingDebugDrawLineH\000\022_\n\034scri" + + "ptingDebugDrawScreenText\030\230\001 \001(\01326.CMsgBo" + + "tWorldState.Action.ScriptingDebugDrawScr" + + "eenTextH\000\022Q\n\025scriptingDebugDrawBox\030\231\001 \001(" + + "\0132/.CMsgBotWorldState.Action.ScriptingDe" + + "bugDrawBoxH\000\022W\n\030scriptingDebugDrawCircle" + + "\030\232\001 \001(\01322.CMsgBotWorldState.Action.Scrip" + + "tingDebugDrawCircleH\000\022U\n\027scriptingDebugD" + + "rawClear\030\233\001 \001(\01321.CMsgBotWorldState.Acti" + + "on.ScriptingDebugDrawClearH\000\022c\n\036scriptin" + + "gDebugScreenTextPretty\030\237\001 \001(\01328.CMsgBotW" + + "orldState.Action.ScriptingDebugScreenTex" + + "tPrettyH\000\022A\n\014moveDirectly\030\234\001 \001(\0132(.CMsgB" + + "otWorldState.Action.MoveToLocationH\000\022?\n\014" + + "oceanWinGame\030\235\001 \001(\0132&.CMsgBotWorldState." + + "Action.OceanWinGameH\000\022S\n\026oceanReplayCorr" + + "ectTime\030\236\001 \001(\01320.CMsgBotWorldState.Actio" + + "n.OceanReplayCorrectTimeH\000\032L\n\016MoveToLoca" + + "tion\022\r\n\005units\030\001 \003(\005\022+\n\010location\030\002 \002(\0132\031." + + "CMsgBotWorldState.Vector\032-\n\014MoveToTarget" + + "\022\r\n\005units\030\001 \003(\005\022\016\n\006target\030\002 \002(\005\032H\n\nAttac" + + "kMove\022\r\n\005units\030\001 \003(\005\022+\n\010location\030\002 \002(\0132\031" + + ".CMsgBotWorldState.Vector\032;\n\014AttackTarge" + + "t\022\r\n\005units\030\001 \003(\005\022\016\n\006target\030\002 \002(\005\022\014\n\004once" + + "\030\003 \001(\010\032\035\n\014HoldLocation\022\r\n\005units\030\001 \003(\005\032\025\n" + + "\004Stop\022\r\n\005units\030\001 \003(\005\032_\n\014CastLocation\022\r\n\005" + + "units\030\001 \003(\005\022\023\n\013abilitySlot\030\002 \002(\005\022+\n\010loca" + + "tion\030\003 \002(\0132\031.CMsgBotWorldState.Vector\032@\n" + + "\nCastTarget\022\r\n\005units\030\001 \003(\005\022\023\n\013abilitySlo" + + "t\030\002 \002(\005\022\016\n\006target\030\003 \002(\005\032<\n\010CastTree\022\r\n\005u" + + "nits\030\001 \003(\005\022\023\n\013abilitySlot\030\002 \002(\005\022\014\n\004tree\030" + + "\003 \002(\005\032*\n\004Cast\022\r\n\005units\030\001 \003(\005\022\023\n\013abilityS" + + "lot\030\002 \002(\005\0320\n\nCastToggle\022\r\n\005units\030\001 \003(\005\022\023" + + "\n\013abilitySlot\030\002 \002(\005\032<\n\014TrainAbility\022\017\n\007a" + + "bility\030\001 \002(\t\022\r\n\005level\030\002 \001(\005\022\014\n\004unit\030\003 \001(" + + "\005\032S\n\010DropItem\022\014\n\004unit\030\001 \001(\005\022\014\n\004slot\030\002 \001(" + + "\005\022+\n\010location\030\003 \001(\0132\031.CMsgBotWorldState." + + "Vector\032*\n\nPickUpItem\022\014\n\004unit\030\001 \001(\005\022\016\n\006it" + + "emId\030\002 \001(\005\032=\n\014PurchaseItem\022\014\n\004item\030\001 \001(\005" + + "\022\021\n\titem_name\030\002 \001(\t\022\014\n\004unit\030\003 \001(\005\0324\n\010Sel" + + "lItem\022\014\n\004item\030\001 \001(\005\022\014\n\004slot\030\002 \001(\005\022\014\n\004uni" + + "t\030\003 \001(\005\0329\n\tSwapItems\022\016\n\006slot_a\030\001 \002(\005\022\016\n\006" + + "slot_b\030\002 \002(\005\022\014\n\004unit\030\003 \001(\005\032\037\n\017Disassembl" + + "eItem\022\014\n\004slot\030\001 \002(\005\0321\n\022SetCombineLockIte" + + "m\022\014\n\004slot\030\001 \002(\005\022\r\n\005value\030\002 \002(\010\032)\n\nPickup" + + "Rune\022\r\n\005units\030\001 \003(\005\022\014\n\004rune\030\002 \002(\005\032+\n\004Cha" + + "t\022\017\n\007message\030\001 \002(\t\022\022\n\nto_allchat\030\002 \002(\010\032*" + + "\n\tUseShrine\022\r\n\005units\030\001 \003(\005\022\016\n\006shrine\030\002 \002" + + "(\005\0328\n\007Courier\022\014\n\004unit\030\001 \002(\005\022\017\n\007courier\030\002" + + " \002(\005\022\016\n\006action\030\003 \002(\005\032M\n\027GetActualIncomin" + + "gDamage\022\014\n\004unit\030\001 \002(\005\022\017\n\007nDamage\030\002 \002(\002\022\023" + + "\n\013nDamageType\030\003 \002(\005\032\201\001\n\032GetEstimatedDama" + + "geToTarget\022\014\n\004unit\030\001 \002(\005\022\033\n\023bCurrentlyAv" + + "ailable\030\002 \002(\010\022\017\n\007hTarget\030\003 \002(\005\022\021\n\tfDurat" + + "ion\030\004 \002(\002\022\024\n\014nDamageTypes\030\005 \002(\005\032\025\n\005Glyph" + + "\022\014\n\004unit\030\001 \002(\005\0329\n\tSoftReset\022\026\n\016minigameC" + + "onfig\030\001 \001(\t\022\024\n\014snapshotData\030\002 \001(\t\032\027\n\007Buy" + + "back\022\014\n\004unit\030\001 \002(\005\032w\n\026ScriptingDebugDraw" + + "Text\022)\n\006origin\030\001 \002(\0132\031.CMsgBotWorldState" + + ".Vector\022\014\n\004text\030\002 \002(\t\022\022\n\nbViewCheck\030\003 \002(" + + "\010\022\020\n\010duration\030\004 \002(\002\032\260\001\n\026ScriptingDebugDr" + + "awLine\022)\n\006origin\030\001 \002(\0132\031.CMsgBotWorldSta" + + "te.Vector\022)\n\006target\030\002 \002(\0132\031.CMsgBotWorld" + + "State.Vector\022\t\n\001r\030\003 \002(\005\022\t\n\001g\030\004 \002(\005\022\t\n\001b\030" + + "\005 \002(\005\022\r\n\005ztest\030\006 \002(\010\022\020\n\010duration\030\007 \002(\002\032\224" + + "\001\n\034ScriptingDebugDrawScreenText\022\t\n\001x\030\001 \002" + + "(\002\022\t\n\001y\030\002 \002(\002\022\022\n\nlineOffset\030\003 \002(\005\022\014\n\004tex" + + "t\030\004 \002(\t\022\t\n\001r\030\005 \002(\005\022\t\n\001g\030\006 \002(\005\022\t\n\001b\030\007 \002(\005" + + "\022\t\n\001a\030\010 \002(\005\022\020\n\010duration\030\t \002(\002\032\301\001\n\036Script" + + "ingDebugScreenTextPretty\022\t\n\001x\030\001 \002(\002\022\t\n\001y" + + "\030\002 \002(\002\022\022\n\nlineOffset\030\003 \002(\005\022\014\n\004text\030\004 \002(\t" + + "\022\t\n\001r\030\005 \002(\005\022\t\n\001g\030\006 \002(\005\022\t\n\001b\030\007 \002(\005\022\t\n\001a\030\010" + + " \002(\005\022\020\n\010duration\030\t \002(\002\022\014\n\004font\030\n \002(\t\022\014\n\004" + + "size\030\013 \002(\002\022\r\n\005bBold\030\014 \002(\010\032\330\001\n\025ScriptingD" + + "ebugDrawBox\022)\n\006origin\030\001 \002(\0132\031.CMsgBotWor" + + "ldState.Vector\022*\n\007minimum\030\002 \002(\0132\031.CMsgBo" + + "tWorldState.Vector\022*\n\007maximum\030\003 \002(\0132\031.CM" + + "sgBotWorldState.Vector\022\t\n\001r\030\004 \002(\005\022\t\n\001g\030\005" + + " \002(\005\022\t\n\001b\030\006 \002(\005\022\t\n\001a\030\007 \002(\005\022\020\n\010duration\030\010" + + " \002(\002\032\247\001\n\030ScriptingDebugDrawCircle\022)\n\006cen" + + "ter\030\001 \002(\0132\031.CMsgBotWorldState.Vector\022\'\n\004" + + "vRgb\030\002 \002(\0132\031.CMsgBotWorldState.Vector\022\t\n" + + "\001a\030\003 \002(\002\022\013\n\003rad\030\004 \002(\002\022\r\n\005ztest\030\005 \002(\010\022\020\n\010" + + "duration\030\006 \002(\002\032\031\n\027ScriptingDebugDrawClea" + + "r\032,\n\014OceanWinGame\022\014\n\004team\030\001 \002(\t\022\016\n\006rewar" + + "d\030\002 \001(\002\032\'\n\026OceanReplayCorrectTime\022\r\n\005del" + + "ta\030\001 \002(\002\"\352\r\n\004Type\022\030\n\024DOTA_UNIT_ORDER_NON" + + "E\020\000\022$\n DOTA_UNIT_ORDER_MOVE_TO_POSITION\020" + + "\001\022\"\n\036DOTA_UNIT_ORDER_MOVE_TO_TARGET\020\002\022\037\n" + + "\033DOTA_UNIT_ORDER_ATTACK_MOVE\020\003\022!\n\035DOTA_U" + + "NIT_ORDER_ATTACK_TARGET\020\004\022!\n\035DOTA_UNIT_O" + + "RDER_CAST_POSITION\020\005\022\037\n\033DOTA_UNIT_ORDER_" + + "CAST_TARGET\020\006\022$\n DOTA_UNIT_ORDER_CAST_TA" + + "RGET_TREE\020\007\022\"\n\036DOTA_UNIT_ORDER_CAST_NO_T" + + "ARGET\020\010\022\037\n\033DOTA_UNIT_ORDER_CAST_TOGGLE\020\t" + + "\022!\n\035DOTA_UNIT_ORDER_HOLD_POSITION\020\n\022!\n\035D" + + "OTA_UNIT_ORDER_TRAIN_ABILITY\020\013\022\035\n\031DOTA_U" + + "NIT_ORDER_DROP_ITEM\020\014\022\035\n\031DOTA_UNIT_ORDER" + + "_GIVE_ITEM\020\r\022\037\n\033DOTA_UNIT_ORDER_PICKUP_I" + + "TEM\020\016\022\037\n\033DOTA_UNIT_ORDER_PICKUP_RUNE\020\017\022!" + + "\n\035DOTA_UNIT_ORDER_PURCHASE_ITEM\020\020\022\035\n\031DOT" + + "A_UNIT_ORDER_SELL_ITEM\020\021\022$\n DOTA_UNIT_OR" + + "DER_DISASSEMBLE_ITEM\020\022\022\035\n\031DOTA_UNIT_ORDE" + + "R_MOVE_ITEM\020\023\022$\n DOTA_UNIT_ORDER_CAST_TO" + + "GGLE_AUTO\020\024\022\030\n\024DOTA_UNIT_ORDER_STOP\020\025\022\031\n" + + "\025DOTA_UNIT_ORDER_TAUNT\020\026\022\033\n\027DOTA_UNIT_OR" + + "DER_BUYBACK\020\027\022\031\n\025DOTA_UNIT_ORDER_GLYPH\020\030" + + "\022)\n%DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STAS" + + "H\020\031\022\035\n\031DOTA_UNIT_ORDER_CAST_RUNE\020\032\022 \n\034DO" + + "TA_UNIT_ORDER_PING_ABILITY\020\033\022%\n!DOTA_UNI" + + "T_ORDER_MOVE_TO_DIRECTION\020\034\022\032\n\026DOTA_UNIT" + + "_ORDER_PATROL\020\035\022*\n&DOTA_UNIT_ORDER_VECTO" + + "R_TARGET_POSITION\020\036\022\031\n\025DOTA_UNIT_ORDER_R" + + "ADAR\020\037\022)\n%DOTA_UNIT_ORDER_SET_ITEM_COMBI" + + "NE_LOCK\020 \022\034\n\030DOTA_UNIT_ORDER_CONTINUE\020!\022" + + "\017\n\013ACTION_CHAT\020(\022\025\n\021ACTION_SWAP_ITEMS\020)\022" + + "\025\n\021ACTION_USE_SHRINE\020*\022\022\n\016ACTION_COURIER" + + "\020+\022\"\n\036RPC_GET_ACTUAL_INCOMING_DAMAGE\020,\022&" + + "\n\"RPC_GET_ESTIMATED_DAMAGE_TO_TARGET\020-\022\025" + + "\n\021OCEAN_FULL_UPDATE\0202\022\025\n\021OCEAN_RELOAD_CO" + + "DE\0203\022\024\n\020OCEAN_SOFT_RESET\0204\022\030\n\024OCEAN_HOLD" + + "_FRAMESKIP\0206\022\022\n\016OCEAN_WIN_GAME\020?\022\035\n\031OCEA" + + "N_REPLAY_CORRECT_TIME\020@\022\035\n\031SCRIPTING_DEB" + + "UG_DRAW_TEXT\0207\022\035\n\031SCRIPTING_DEBUG_DRAW_L" + + "INE\0208\022.\n*SCRIPTING_DOTA_UNIT_ORDER_MOVE_" + + "TO_POSITION\0209\022$\n SCRIPTING_DEBUG_DRAW_SC" + + "REEN_TEXT\020:\022\034\n\030SCRIPTING_DEBUG_DRAW_BOX\020" + + ";\022\037\n\033SCRIPTING_DEBUG_DRAW_CIRCLE\020<\022\036\n\032SC" + + "RIPTING_DEBUG_DRAW_CLEAR\020=\022&\n\"SCRIPTING_" + + "DEBUG_SCREEN_TEXT_PRETTY\020A\022!\n\035DOTA_UNIT_" + + "ORDER_MOVE_DIRECTLY\020>B\014\n\nActionData\"\263\001\n\010" + + "UnitType\022\013\n\007INVALID\020\000\022\010\n\004HERO\020\001\022\016\n\nCREEP" + + "_HERO\020\002\022\016\n\nLANE_CREEP\020\003\022\020\n\014JUNGLE_CREEP\020" + + "\004\022\n\n\006ROSHAN\020\005\022\t\n\005TOWER\020\006\022\014\n\010BARRACKS\020\007\022\n" + + "\n\006SHRINE\020\010\022\010\n\004FORT\020\t\022\014\n\010BUILDING\020\n\022\013\n\007CO" + + "URIER\020\013\022\010\n\004WARD\020\014\"\335\001\n\014CourierState\022\037\n\022CO" + + "URIER_STATE_INIT\020\377\377\377\377\377\377\377\377\377\001\022\026\n\022COURIER_S" + + "TATE_IDLE\020\000\022\031\n\025COURIER_STATE_AT_BASE\020\001\022\030" + + "\n\024COURIER_STATE_MOVING\020\002\022\"\n\036COURIER_STAT" + + "E_DELIVERING_ITEMS\020\003\022#\n\037COURIER_STATE_RE" + + "TURNING_TO_BASE\020\004\022\026\n\022COURIER_STATE_DEAD\020" + + "\005B\005H\001\200\001\000" + }; + com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = + new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { + public com.google.protobuf.ExtensionRegistry assignDescriptors( + com.google.protobuf.Descriptors.FileDescriptor root) { + descriptor = root; + return null; + } + }; + com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }, assigner); + internal_static_CMsgBotWorldState_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_CMsgBotWorldState_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_descriptor, + new java.lang.String[] { "TeamId", "GameTime", "DotaTime", "GameState", "HeroPickState", "TimeOfDay", "GlyphCooldown", "GlyphCooldownEnemy", "Players", "Units", "DroppedItems", "RuneInfos", "IncomingTeleports", "LinearProjectiles", "AvoidanceZones", "Couriers", "AbilityEvents", "DamageEvents", "CourierKilledEvents", "RoshanKilledEvents", "TreeEvents", }); + internal_static_CMsgBotWorldState_Vector_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(0); + internal_static_CMsgBotWorldState_Vector_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Vector_descriptor, + new java.lang.String[] { "X", "Y", "Z", }); + internal_static_CMsgBotWorldState_Player_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(1); + internal_static_CMsgBotWorldState_Player_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Player_descriptor, + new java.lang.String[] { "PlayerId", "HeroId", "IsAlive", "RespawnTime", "Kills", "Deaths", "Assists", "TeamId", }); + internal_static_CMsgBotWorldState_Ability_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(2); + internal_static_CMsgBotWorldState_Ability_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Ability_descriptor, + new java.lang.String[] { "Handle", "AbilityId", "Slot", "CasterHandle", "Level", "CastRange", "ChannelTime", "CooldownRemaining", "IsActivated", "IsToggled", "IsInAbilityPhase", "IsChanneling", "IsStolen", "IsFullyCastable", "Charges", "SecondaryCharges", "IsCombinedLocked", "PowerTreadsStat", }); + internal_static_CMsgBotWorldState_DroppedItem_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(3); + internal_static_CMsgBotWorldState_DroppedItem_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_DroppedItem_descriptor, + new java.lang.String[] { "ItemId", "Location", }); + internal_static_CMsgBotWorldState_RuneInfo_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(4); + internal_static_CMsgBotWorldState_RuneInfo_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_RuneInfo_descriptor, + new java.lang.String[] { "Type", "Location", "Status", "TimeSinceSeen", }); + internal_static_CMsgBotWorldState_TeleportInfo_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(5); + internal_static_CMsgBotWorldState_TeleportInfo_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_TeleportInfo_descriptor, + new java.lang.String[] { "PlayerId", "Location", "TimeRemaining", }); + internal_static_CMsgBotWorldState_Modifier_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(6); + internal_static_CMsgBotWorldState_Modifier_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Modifier_descriptor, + new java.lang.String[] { "Name", "StackCount", "AbilityHandle", "AbilityId", "RemainingDuration", "AuxiliaryUnitsHandles", }); + internal_static_CMsgBotWorldState_LinearProjectile_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(7); + internal_static_CMsgBotWorldState_LinearProjectile_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_LinearProjectile_descriptor, + new java.lang.String[] { "Handle", "CasterHandle", "CasterUnitType", "CasterPlayerId", "AbilityHandle", "AbilityId", "Location", "Velocity", "Radius", }); + internal_static_CMsgBotWorldState_TrackingProjectile_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(8); + internal_static_CMsgBotWorldState_TrackingProjectile_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_TrackingProjectile_descriptor, + new java.lang.String[] { "CasterHandle", "CasterUnitType", "CasterPlayerId", "AbilityHandle", "AbilityId", "Location", "Velocity", "IsDodgeable", "IsAttack", }); + internal_static_CMsgBotWorldState_AvoidanceZone_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(9); + internal_static_CMsgBotWorldState_AvoidanceZone_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_AvoidanceZone_descriptor, + new java.lang.String[] { "Location", "CasterHandle", "CasterUnitType", "CasterPlayerId", "AbilityHandle", "AbilityId", "Radius", }); + internal_static_CMsgBotWorldState_Courier_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(10); + internal_static_CMsgBotWorldState_Courier_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Courier_descriptor, + new java.lang.String[] { "Handle", "State", "PlayerId", }); + internal_static_CMsgBotWorldState_EventAbility_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(11); + internal_static_CMsgBotWorldState_EventAbility_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_EventAbility_descriptor, + new java.lang.String[] { "AbilityId", "PlayerId", "UnitHandle", "Location", "IsChannelStart", }); + internal_static_CMsgBotWorldState_EventDamage_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(12); + internal_static_CMsgBotWorldState_EventDamage_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_EventDamage_descriptor, + new java.lang.String[] { "Damage", "VictimPlayerId", "VictimUnitHandle", "AttackerPlayerId", "AttackerUnitHandle", "AbilityId", }); + internal_static_CMsgBotWorldState_EventCourierKilled_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(13); + internal_static_CMsgBotWorldState_EventCourierKilled_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_EventCourierKilled_descriptor, + new java.lang.String[] { "TeamId", "CourierUnitHandle", "KillerPlayerId", "KillerUnitHandle", }); + internal_static_CMsgBotWorldState_EventRoshanKilled_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(14); + internal_static_CMsgBotWorldState_EventRoshanKilled_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_EventRoshanKilled_descriptor, + new java.lang.String[] { "KillerPlayerId", "KillerUnitHandle", }); + internal_static_CMsgBotWorldState_EventTree_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(15); + internal_static_CMsgBotWorldState_EventTree_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_EventTree_descriptor, + new java.lang.String[] { "TreeId", "Destroyed", "Respawned", "Location", "Delayed", }); + internal_static_CMsgBotWorldState_Unit_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(16); + internal_static_CMsgBotWorldState_Unit_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Unit_descriptor, + new java.lang.String[] { "Handle", "UnitType", "Name", "TeamId", "Level", "Location", "IsAlive", "PlayerId", "BoundingRadius", "Facing", "GroundHeight", "VisionRangeDaytime", "VisionRangeNighttime", "Health", "HealthMax", "HealthRegen", "Mana", "ManaMax", "ManaRegen", "BaseMovementSpeed", "CurrentMovementSpeed", "AnimActivity", "AnimCycle", "BaseDamage", "BaseDamageVariance", "BonusDamage", "AttackDamage", "AttackRange", "AttackSpeed", "AttackAnimPoint", "AttackAcquisitionRange", "AttackProjectileSpeed", "AttackTargetHandle", "AttackTargetName", "AttacksPerSecond", "LastAttackTime", "BountyXp", "BountyGoldMin", "BountyGoldMax", "IsChanneling", "ActiveAbilityHandle", "IsAttackImmune", "IsBlind", "IsBlockDisabled", "IsDisarmed", "IsDominated", "IsEvadeDisabled", "IsHexed", "IsInvisible", "IsInvulnerable", "IsMagicImmune", "IsMuted", "IsNightmared", "IsRooted", "IsSilenced", "IsSpeciallyDeniable", "IsStunned", "IsUnableToMiss", "HasScepter", "Abilities", "Items", "Modifiers", "IncomingTrackingProjectiles", "ActionType", "AbilityTargetHandle", "AbilityTargetName", "IsUsingAbility", "PrimaryAttribute", "IsIllusion", "RespawnTime", "BuybackCost", "BuybackCooldown", "SpellAmplification", "Armor", "MagicResist", "Evasion", "XpNeededToLevel", "AbilityPoints", "ReliableGold", "UnreliableGold", "LastHits", "Denies", "NetWorth", "Strength", "Agility", "Intelligence", "RemainingLifespan", "FlyingCourier", "ShrineCooldown", "IsShrineHealing", }); + internal_static_CMsgBotWorldState_Actions_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(17); + internal_static_CMsgBotWorldState_Actions_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Actions_descriptor, + new java.lang.String[] { "DotaTime", "Actions", "ExtraData", "OceanAnnotation", "Header", }); + internal_static_CMsgBotWorldState_Actions_OceanAnnotation_descriptor = + internal_static_CMsgBotWorldState_Actions_descriptor.getNestedTypes().get(0); + internal_static_CMsgBotWorldState_Actions_OceanAnnotation_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Actions_OceanAnnotation_descriptor, + new java.lang.String[] { "Heroes", "AgentID", "Rewards", "RewardNames", }); + internal_static_CMsgBotWorldState_Actions_OceanAnnotation_Hero_descriptor = + internal_static_CMsgBotWorldState_Actions_OceanAnnotation_descriptor.getNestedTypes().get(0); + internal_static_CMsgBotWorldState_Actions_OceanAnnotation_Hero_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Actions_OceanAnnotation_Hero_descriptor, + new java.lang.String[] { "PlayerID", "ValueFunction", "ActionLogp", "Reward", "InternalAction", "ActionName", "DetailedStats", }); + internal_static_CMsgBotWorldState_Actions_Header_descriptor = + internal_static_CMsgBotWorldState_Actions_descriptor.getNestedTypes().get(1); + internal_static_CMsgBotWorldState_Actions_Header_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Actions_Header_descriptor, + new java.lang.String[] { "StartTime", "Name", }); + internal_static_CMsgBotWorldState_Action_descriptor = + internal_static_CMsgBotWorldState_descriptor.getNestedTypes().get(18); + internal_static_CMsgBotWorldState_Action_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_descriptor, + new java.lang.String[] { "ActionType", "Player", "ActionID", "ActionDelay", "MoveToLocation", "MoveToTarget", "AttackMove", "AttackTarget", "CastLocation", "CastTarget", "CastTree", "Cast", "CastToggle", "HoldLocation", "TrainAbility", "DropItem", "PickUpItem", "PickupRune", "PurchaseItem", "SellItem", "DisassembleItem", "SetCombineLockItem", "Stop", "Chat", "SwapItems", "UseShrine", "Courier", "GetActualIncomingDamage", "GetEstimatedDamageToTarget", "Glyph", "SoftReset", "Buyback", "ScriptingDebugDrawText", "ScriptingDebugDrawLine", "ScriptingDebugDrawScreenText", "ScriptingDebugDrawBox", "ScriptingDebugDrawCircle", "ScriptingDebugDrawClear", "ScriptingDebugScreenTextPretty", "MoveDirectly", "OceanWinGame", "OceanReplayCorrectTime", "ActionData", }); + internal_static_CMsgBotWorldState_Action_MoveToLocation_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(0); + internal_static_CMsgBotWorldState_Action_MoveToLocation_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_MoveToLocation_descriptor, + new java.lang.String[] { "Units", "Location", }); + internal_static_CMsgBotWorldState_Action_MoveToTarget_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(1); + internal_static_CMsgBotWorldState_Action_MoveToTarget_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_MoveToTarget_descriptor, + new java.lang.String[] { "Units", "Target", }); + internal_static_CMsgBotWorldState_Action_AttackMove_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(2); + internal_static_CMsgBotWorldState_Action_AttackMove_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_AttackMove_descriptor, + new java.lang.String[] { "Units", "Location", }); + internal_static_CMsgBotWorldState_Action_AttackTarget_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(3); + internal_static_CMsgBotWorldState_Action_AttackTarget_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_AttackTarget_descriptor, + new java.lang.String[] { "Units", "Target", "Once", }); + internal_static_CMsgBotWorldState_Action_HoldLocation_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(4); + internal_static_CMsgBotWorldState_Action_HoldLocation_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_HoldLocation_descriptor, + new java.lang.String[] { "Units", }); + internal_static_CMsgBotWorldState_Action_Stop_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(5); + internal_static_CMsgBotWorldState_Action_Stop_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_Stop_descriptor, + new java.lang.String[] { "Units", }); + internal_static_CMsgBotWorldState_Action_CastLocation_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(6); + internal_static_CMsgBotWorldState_Action_CastLocation_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_CastLocation_descriptor, + new java.lang.String[] { "Units", "AbilitySlot", "Location", }); + internal_static_CMsgBotWorldState_Action_CastTarget_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(7); + internal_static_CMsgBotWorldState_Action_CastTarget_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_CastTarget_descriptor, + new java.lang.String[] { "Units", "AbilitySlot", "Target", }); + internal_static_CMsgBotWorldState_Action_CastTree_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(8); + internal_static_CMsgBotWorldState_Action_CastTree_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_CastTree_descriptor, + new java.lang.String[] { "Units", "AbilitySlot", "Tree", }); + internal_static_CMsgBotWorldState_Action_Cast_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(9); + internal_static_CMsgBotWorldState_Action_Cast_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_Cast_descriptor, + new java.lang.String[] { "Units", "AbilitySlot", }); + internal_static_CMsgBotWorldState_Action_CastToggle_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(10); + internal_static_CMsgBotWorldState_Action_CastToggle_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_CastToggle_descriptor, + new java.lang.String[] { "Units", "AbilitySlot", }); + internal_static_CMsgBotWorldState_Action_TrainAbility_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(11); + internal_static_CMsgBotWorldState_Action_TrainAbility_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_TrainAbility_descriptor, + new java.lang.String[] { "Ability", "Level", "Unit", }); + internal_static_CMsgBotWorldState_Action_DropItem_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(12); + internal_static_CMsgBotWorldState_Action_DropItem_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_DropItem_descriptor, + new java.lang.String[] { "Unit", "Slot", "Location", }); + internal_static_CMsgBotWorldState_Action_PickUpItem_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(13); + internal_static_CMsgBotWorldState_Action_PickUpItem_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_PickUpItem_descriptor, + new java.lang.String[] { "Unit", "ItemId", }); + internal_static_CMsgBotWorldState_Action_PurchaseItem_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(14); + internal_static_CMsgBotWorldState_Action_PurchaseItem_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_PurchaseItem_descriptor, + new java.lang.String[] { "Item", "ItemName", "Unit", }); + internal_static_CMsgBotWorldState_Action_SellItem_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(15); + internal_static_CMsgBotWorldState_Action_SellItem_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_SellItem_descriptor, + new java.lang.String[] { "Item", "Slot", "Unit", }); + internal_static_CMsgBotWorldState_Action_SwapItems_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(16); + internal_static_CMsgBotWorldState_Action_SwapItems_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_SwapItems_descriptor, + new java.lang.String[] { "SlotA", "SlotB", "Unit", }); + internal_static_CMsgBotWorldState_Action_DisassembleItem_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(17); + internal_static_CMsgBotWorldState_Action_DisassembleItem_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_DisassembleItem_descriptor, + new java.lang.String[] { "Slot", }); + internal_static_CMsgBotWorldState_Action_SetCombineLockItem_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(18); + internal_static_CMsgBotWorldState_Action_SetCombineLockItem_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_SetCombineLockItem_descriptor, + new java.lang.String[] { "Slot", "Value", }); + internal_static_CMsgBotWorldState_Action_PickupRune_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(19); + internal_static_CMsgBotWorldState_Action_PickupRune_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_PickupRune_descriptor, + new java.lang.String[] { "Units", "Rune", }); + internal_static_CMsgBotWorldState_Action_Chat_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(20); + internal_static_CMsgBotWorldState_Action_Chat_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_Chat_descriptor, + new java.lang.String[] { "Message", "ToAllchat", }); + internal_static_CMsgBotWorldState_Action_UseShrine_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(21); + internal_static_CMsgBotWorldState_Action_UseShrine_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_UseShrine_descriptor, + new java.lang.String[] { "Units", "Shrine", }); + internal_static_CMsgBotWorldState_Action_Courier_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(22); + internal_static_CMsgBotWorldState_Action_Courier_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_Courier_descriptor, + new java.lang.String[] { "Unit", "Courier", "Action", }); + internal_static_CMsgBotWorldState_Action_GetActualIncomingDamage_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(23); + internal_static_CMsgBotWorldState_Action_GetActualIncomingDamage_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_GetActualIncomingDamage_descriptor, + new java.lang.String[] { "Unit", "NDamage", "NDamageType", }); + internal_static_CMsgBotWorldState_Action_GetEstimatedDamageToTarget_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(24); + internal_static_CMsgBotWorldState_Action_GetEstimatedDamageToTarget_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_GetEstimatedDamageToTarget_descriptor, + new java.lang.String[] { "Unit", "BCurrentlyAvailable", "HTarget", "FDuration", "NDamageTypes", }); + internal_static_CMsgBotWorldState_Action_Glyph_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(25); + internal_static_CMsgBotWorldState_Action_Glyph_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_Glyph_descriptor, + new java.lang.String[] { "Unit", }); + internal_static_CMsgBotWorldState_Action_SoftReset_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(26); + internal_static_CMsgBotWorldState_Action_SoftReset_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_SoftReset_descriptor, + new java.lang.String[] { "MinigameConfig", "SnapshotData", }); + internal_static_CMsgBotWorldState_Action_Buyback_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(27); + internal_static_CMsgBotWorldState_Action_Buyback_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_Buyback_descriptor, + new java.lang.String[] { "Unit", }); + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawText_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(28); + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawText_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawText_descriptor, + new java.lang.String[] { "Origin", "Text", "BViewCheck", "Duration", }); + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawLine_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(29); + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawLine_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawLine_descriptor, + new java.lang.String[] { "Origin", "Target", "R", "G", "B", "Ztest", "Duration", }); + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawScreenText_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(30); + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawScreenText_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawScreenText_descriptor, + new java.lang.String[] { "X", "Y", "LineOffset", "Text", "R", "G", "B", "A", "Duration", }); + internal_static_CMsgBotWorldState_Action_ScriptingDebugScreenTextPretty_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(31); + internal_static_CMsgBotWorldState_Action_ScriptingDebugScreenTextPretty_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_ScriptingDebugScreenTextPretty_descriptor, + new java.lang.String[] { "X", "Y", "LineOffset", "Text", "R", "G", "B", "A", "Duration", "Font", "Size", "BBold", }); + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawBox_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(32); + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawBox_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawBox_descriptor, + new java.lang.String[] { "Origin", "Minimum", "Maximum", "R", "G", "B", "A", "Duration", }); + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawCircle_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(33); + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawCircle_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawCircle_descriptor, + new java.lang.String[] { "Center", "VRgb", "A", "Rad", "Ztest", "Duration", }); + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawClear_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(34); + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawClear_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_ScriptingDebugDrawClear_descriptor, + new java.lang.String[] { }); + internal_static_CMsgBotWorldState_Action_OceanWinGame_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(35); + internal_static_CMsgBotWorldState_Action_OceanWinGame_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_OceanWinGame_descriptor, + new java.lang.String[] { "Team", "Reward", }); + internal_static_CMsgBotWorldState_Action_OceanReplayCorrectTime_descriptor = + internal_static_CMsgBotWorldState_Action_descriptor.getNestedTypes().get(36); + internal_static_CMsgBotWorldState_Action_OceanReplayCorrectTime_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_CMsgBotWorldState_Action_OceanReplayCorrectTime_descriptor, + new java.lang.String[] { "Delta", }); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/Interface/src/main/java/OKAGG/ClientCommunications.java b/Interface/src/main/java/OKAGG/ClientCommunications.java new file mode 100644 index 0000000000000000000000000000000000000000..7df617a5182ffb268086006990f969db8c83f066 --- /dev/null +++ b/Interface/src/main/java/OKAGG/ClientCommunications.java @@ -0,0 +1,25 @@ +package OKAGG; + +import io.grpc.Server; +import io.grpc.ServerBuilder; + +import java.io.IOException; + +public class ClientCommunications extends Thread { + public void run() { + try { + Server server = ServerBuilder.forPort(Globals.CLIENTPORT) + .addService(new ClientCommunicationsInstructionsService()) + .addService(new ClientCommunicationsValuesService()) + .addService(new ClientCommunicationsServerService()) + .build(); + + server.start(); + server.awaitTermination(); + + } catch (IOException | InterruptedException e) { + e.printStackTrace(); + } + + } +} diff --git a/Interface/src/main/java/OKAGG/ClientCommunicationsInstructionsService.java b/Interface/src/main/java/OKAGG/ClientCommunicationsInstructionsService.java new file mode 100644 index 0000000000000000000000000000000000000000..ef4fc5ca81997657ef9786adc6240433e04e67f6 --- /dev/null +++ b/Interface/src/main/java/OKAGG/ClientCommunicationsInstructionsService.java @@ -0,0 +1,65 @@ +package OKAGG; + +public class ClientCommunicationsInstructionsService extends GameInstructionsGrpc.GameInstructionsImplBase { + + @Override + public void handleInstructions(OKAGG.Command request, io.grpc.stub.StreamObserver<OKAGG.InstrucionReturnValue> responseObserver) { + + /* + if(request.getCommandId() == 1){ + System.out.println(request.getVectVal()); + responseObserver.onNext(ReturnValue.newBuilder() + .setBoolVal(true) + - .build()); + + }else{ + responseObserver.onNext(ReturnValue.newBuilder() + .setBoolVal(false) + .build()); + } + */ + + Globals.tmpNbRequestGrpcGlobal++; + Globals.tmpNbGrpcRequestBots[request.getBotId()]++; + + //TODO voir pour brider les commande a 30 par secondes max (ou plus en fonction dun eventuel host_scale) + + //TODO DEBUG TMP A DELETE APRES + //if (request.getCommandId() == -5) + // Globals.botsQueues[request.getBotId()].clear(); + //else { + + ////////////////////////////// + + + try { + if (Globals.botsQueues[request.getBotId()] != null) + Globals.botsQueues[request.getBotId()].put(request); + + //System.out.println("Action for bot : " + request.getBotId()); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + //} + + + responseObserver.onNext(InstrucionReturnValue.newBuilder() + .setBoolVal(true) + .setIaComm(GetInfo.GetOkaggIaMessage(request.getBotId())) + .build()); + + responseObserver.onCompleted(); + + } + /* + @Override + public void getGlobalValues(OKAGG.Command request, io.grpc.stub.StreamObserver<OKAGG.GlobalValues> responseObserver) { + responseObserver.onNext(GlobalValues.newBuilder() + .setGameState(0) + .build()); + + responseObserver.onCompleted(); + } + */ +} diff --git a/Interface/src/main/java/OKAGG/ClientCommunicationsServerService.java b/Interface/src/main/java/OKAGG/ClientCommunicationsServerService.java new file mode 100644 index 0000000000000000000000000000000000000000..3d768dbafb9c55b58655b2bb353a9f8a9349dea0 --- /dev/null +++ b/Interface/src/main/java/OKAGG/ClientCommunicationsServerService.java @@ -0,0 +1,18 @@ +package OKAGG; + +public class ClientCommunicationsServerService extends ServerManagmentGrpc.ServerManagmentImplBase { + + @Override + public void manageServer(OKAGG.Command request, io.grpc.stub.StreamObserver<OKAGG.Empty> responseObserver) { + + ServerFunctions.stopGameServer(); + + System.out.println("Stop server"); + + responseObserver.onNext(Empty.newBuilder() + .build()); + + responseObserver.onCompleted(); + + } +} diff --git a/Interface/src/main/java/OKAGG/ClientCommunicationsValuesService.java b/Interface/src/main/java/OKAGG/ClientCommunicationsValuesService.java new file mode 100644 index 0000000000000000000000000000000000000000..f3eaf175a1a8823048c436f870ce32200cc3e576 --- /dev/null +++ b/Interface/src/main/java/OKAGG/ClientCommunicationsValuesService.java @@ -0,0 +1,15 @@ +package OKAGG; + +public class ClientCommunicationsValuesService extends GameValuesGrpc.GameValuesImplBase { + + @Override + public void getGlobalValues(OKAGG.Empty request, io.grpc.stub.StreamObserver<OKAGG.GlobalValues> responseObserver) { + + responseObserver.onNext(GlobalValues.newBuilder() + .setGameState((Globals.unitsValues[Globals.DIRETEAMID] != null) ? Globals.unitsValues[Globals.DIRETEAMID].getGameState() : -1) + .build()); + + responseObserver.onCompleted(); + + } +} diff --git a/Interface/src/main/java/OKAGG/ClientSocketServer.java b/Interface/src/main/java/OKAGG/ClientSocketServer.java new file mode 100644 index 0000000000000000000000000000000000000000..c69b7c5f6d4d505af300b060a5484eca048999f4 --- /dev/null +++ b/Interface/src/main/java/OKAGG/ClientSocketServer.java @@ -0,0 +1,81 @@ +package OKAGG; + +import java.io.IOException; +import java.net.ServerSocket; +import java.util.concurrent.TimeUnit; + +public class ClientSocketServer extends Thread { + + private int socketPort; + private int teamId; + + public ClientSocketServer(int port, int team){ + this.socketPort = port; + this.teamId = team; + } + + @Override + public void run() { + ServerSocket listener = null; + + try { + listener = new ServerSocket(this.socketPort); + } catch (IOException e) { + System.out.println(e); + } + + while (true) { + try { + System.out.println("Server is waiting to accept user... port: " + this.socketPort); + + // Accept client connection request + Globals.clientRedirectSocket[teamId] = listener.accept(); + + + + System.out.println("Accept a client!"); + break; + + + + } catch (IOException e) { + e.printStackTrace(); + } + } + + + + + new Thread(() -> { + RedirectClientObject r; + while (true) { + try { + + //Loop used to get the correct frame to send (to correct the network latency). + long time = System.nanoTime(); + do { + r = (RedirectClientObject) Globals.clientRedirectQueue[teamId].poll(10000, TimeUnit.DAYS); + }while ( r.getTimeAdded() < time && Globals.clientRedirectQueue[teamId].size() > 0); + + + Globals.dataOutputStream[teamId].writeInt(r.getSize()); + Globals.dataOutputStream[teamId].write(r.getBuffer(), 0, r.getSize()); + + //TODO ajouter un write qui envoi un param pour permettre la "synchronisation" des frames coté client + + Globals.dataOutputStream[teamId].flush(); + + Globals.nbSocketRedirect[teamId]++; + + + } catch (InterruptedException | IOException e) { + e.printStackTrace(); + } + } + }).start(); + + + + } +} + diff --git a/Interface/src/main/java/OKAGG/DotaFunctions.java b/Interface/src/main/java/OKAGG/DotaFunctions.java new file mode 100644 index 0000000000000000000000000000000000000000..bbc363eaccbd2471d4bfc66227a80f85e62baca9 --- /dev/null +++ b/Interface/src/main/java/OKAGG/DotaFunctions.java @@ -0,0 +1,119 @@ +package OKAGG; + +import org.json.JSONObject; + +public class DotaFunctions { + + private JSONObject getJsonVector(Vector v){ + JSONObject return_vect = new JSONObject(); + return_vect.put("x", v.getX()); + return_vect.put("y", v.getY()); + return_vect.put("z", v.getZ()); + + return return_vect; + } + + private JSONObject test(Command c) { + JSONObject j = new JSONObject(); + j.put("action", "moveToLocation"); + j.put("params", getJsonVector(c.getVectVal())); + + return j; + + } + + private JSONObject Action_MoveDirectly(Command c) { + JSONObject j = new JSONObject(); + j.put("action", "moveToLocation"); + j.put("params", getJsonVector(c.getVectVal())); + + return j; + } + + private JSONObject Action_Relative_MoveDirectly(Command c) { + JSONObject j = new JSONObject(); + j.put("action", "relativeMoveToLocation"); + j.put("params", getJsonVector(c.getVectVal())); + + return j; + } + + private JSONObject Action_AttackMove(Command c) { + return null; + } + + interface GameAction { + JSONObject Action(Command c); + } + + private GameAction[] GameActions = new GameAction[]{ + this::test, + this::Action_MoveDirectly, + this::Action_AttackMove, + this::Action_Relative_MoveDirectly + }; + + JSONObject performActions(Command c) { + return GameActions[c.getCommandId()].Action(c); + } + + + + //TODO remplacer les params (x,y,z) par "Command" + /* + private JSONObject getJsonVector(float x, float y, float z){ + JSONObject v = new JSONObject(); + v.put("x", x); + v.put("y", y); + v.put("z", z); + + return v; + } + + private JSONObject test(float x, float y, float z) { + JSONObject j = new JSONObject(); + j.put("action", "moveToLocation"); + j.put("params", getJsonVector(x,y,z)); + + return j; + + } + + private JSONObject Action_MoveDirectly(float x, float y, float z) { + JSONObject j = new JSONObject(); + j.put("action", "moveToLocation"); + j.put("params", getJsonVector(x,y,z)); + + return j; + } + + private JSONObject Action_Relative_MoveDirectly(float x, float y, float z) { + JSONObject j = new JSONObject(); + j.put("action", "relativeMoveToLocation"); + j.put("params", getJsonVector(x,y,z)); + + return j; + } + + private JSONObject Action_AttackMove(float x, float y, float z) { + return null; + } + + interface GameAction { + JSONObject Action(float x, float y, float z); + } + + private GameAction[] GameActions = new GameAction[]{ + this::test, + this::Action_MoveDirectly, + this::Action_AttackMove, + this::Action_Relative_MoveDirectly + }; + + JSONObject performActions(int idx, float x, float y, float z) { + return GameActions[idx].Action(x, y, z); + } + */ + + +} diff --git a/Interface/src/main/java/OKAGG/GetInfo.java b/Interface/src/main/java/OKAGG/GetInfo.java new file mode 100644 index 0000000000000000000000000000000000000000..fa68d7adc154ddee3bccc6c6fdcb425453852d04 --- /dev/null +++ b/Interface/src/main/java/OKAGG/GetInfo.java @@ -0,0 +1,67 @@ +package OKAGG; + +import java.util.List; + +public class GetInfo { + + /** + * Return the location of a hero + * - Assume that's there's 10 heros (5 on each team) + * @param heroIdx => Index of the hero (int) + * @return => location of the hero (Vector) + */ + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState.Vector GetHeroLocation(int heroIdx) { + if (heroIdx < 0 || heroIdx > 9) + return null; + + if (heroIdx < 5) { + List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit> tmp = Globals.unitsValues[Globals.RADIANTTEAMID].getUnitsList(); + return tmp.get(tmp.size() - 5 + heroIdx).getLocation(); + } else { + List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit> tmp = Globals.unitsValues[Globals.DIRETEAMID].getUnitsList(); + return tmp.get(tmp.size() - 10 + heroIdx).getLocation(); + } + } + + public static OkaggIaCommMessage GetOkaggIaMessage(int heroIdx) { + if (heroIdx < 0 || heroIdx > 9) + return null; + + List<CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit> tmp; + CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit u; + + if (heroIdx < 5) { + tmp = Globals.unitsValues[Globals.RADIANTTEAMID].getUnitsList(); + u = tmp.get(tmp.size() - 5 + heroIdx); + + } else { + tmp = Globals.unitsValues[Globals.DIRETEAMID].getUnitsList(); + u = tmp.get(tmp.size() - 5 + heroIdx - 5); + } + + return OkaggIaCommMessage.newBuilder() + .setDeath(Globals.unitsValues[Globals.RADIANTTEAMID].getPlayers(heroIdx).getDeaths()) + .setGold(u.getUnreliableGold()) + .setHealth(u.getHealth()) + .setLoc(Vector.newBuilder().setX(u.getLocation().getX()).setY(u.getLocation().getY()).setZ(u.getLocation().getZ()).build()) //TODO voir pour merge sans devoir set chaque valeurs + .setGameState(Globals.unitsValues[Globals.RADIANTTEAMID].getGameState()) + .build(); + } + + + + + //Globals.unitsValues[0].getDotaTime() + //Globals.unitsValues[0].getGameTime() + //Globals.unitsValues[0].getGameState() + //Globals.unitsValues[0].getHeroPickState() + + + + + + + + + +} diff --git a/Interface/src/main/java/OKAGG/Globals.java b/Interface/src/main/java/OKAGG/Globals.java new file mode 100644 index 0000000000000000000000000000000000000000..d588fdb480f5adfc255c56f7573854ed49b1898f --- /dev/null +++ b/Interface/src/main/java/OKAGG/Globals.java @@ -0,0 +1,171 @@ +package OKAGG; + +import com.google.common.io.LittleEndianDataOutputStream; + +import java.awt.image.BufferedImage; +import java.net.Socket; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.LinkedBlockingDeque; + +public class Globals { + + + public static int CLIENTPORT = 6000; + + public static int DIRESOCKETPORT = 10002; + public static int RADIANTSOCKETPORT = 10001; + + + public static int DIREREDIRECTSOCKETPORT = 10012; + public static int RADIANTREDIRECTSOCKETPORT = 10011; + + public static Socket clientDireRedirectSocket = null; + public static Socket clientRadiantRedirectSocket = null; + + public static Socket[] clientRedirectSocket = {null, null}; + + + public static LittleEndianDataOutputStream[] dataOutputStream = {null, null}; + + + public static BlockingQueue[] clientRedirectQueue = {new LinkedBlockingDeque(200), new LinkedBlockingDeque(200)}; + + //public static CMsgBotWorldStateOuterClass.CMsgBotWorldState radiantUnitsValues = null; + //public static CMsgBotWorldStateOuterClass.CMsgBotWorldState direUnitsValues = null; + + + //TODO trouver un meilleur nom, c'est pas simplement les veleurs des units + public static CMsgBotWorldStateOuterClass.CMsgBotWorldState[] unitsValues = {null, null}; + + + public final static String[] GameState = { + "GAME_STATE_INIT", + "GAME_STATE_WAIT_FOR_PLAYERS_TO_LOAD", + "GAME_STATE_HERO_SELECTION", + "GAME_STATE_STRATEGY_TIME", + "GAME_STATE_PRE_GAME", + "GAME_STATE_GAME_IN_PROGRESS", + "GAME_STATE_POST_GAME", + "GAME_STATE_DISCONNECT", + "GAME_STATE_TEAM_SHOWCASE", + "GAME_STATE_CUSTOM_GAME_SETUP", + "GAME_STATE_WAIT_FOR_MAP_TO_LOAD", + "GAME_STATE_LAST" + }; + + + public static int DIRETEAMID = 1; + public static int RADIANTTEAMID = 0; + + public final static String[] Teams = { + "TEAM_RADIANT", + "TEAM_DIRE", + "TEAM_NEUTRAL", + "TEAM_NONE" + }; + + public final static String[] HeroPickStates = { + "HEROPICK_STATE_NONE", + "HEROPICK_STATE_AP_SELECT", + "HEROPICK_STATE_SD_SELECT", + "HEROPICK_STATE_CM_INTRO", + "HEROPICK_STATE_CM_CAPTAINPICK", + "HEROPICK_STATE_CM_BAN1", + "HEROPICK_STATE_CM_BAN2", + "HEROPICK_STATE_CM_BAN3", + "HEROPICK_STATE_CM_BAN4", + "HEROPICK_STATE_CM_BAN5", + "HEROPICK_STATE_CM_BAN6", + "HEROPICK_STATE_CM_BAN7", + "HEROPICK_STATE_CM_BAN8", + "HEROPICK_STATE_CM_BAN9", + "EROPICK_STATE_CM_BAN10", + "HEROPICK_STATE_CM_SELECT1", + "HEROPICK_STATE_CM_SELECT2", + "HEROPICK_STATE_CM_SELECT3", + "HEROPICK_STATE_CM_SELECT4", + "HEROPICK_STATE_CM_SELECT5", + "HEROPICK_STATE_CM_SELECT6", + "HEROPICK_STATE_CM_SELECT7", + "HEROPICK_STATE_CM_SELECT8", + "HEROPICK_STATE_CM_SELECT9", + "HEROPICK_STATE_CM_SELECT10", + "HEROPICK_STATE_CM_PICK", + "HEROPICK_STATE_AR_SELECT", + "HEROPICK_STATE_MO_SELECT", + "HEROPICK_STATE_FH_SELECT", + "HEROPICK_STATE_CD_INTRO", + "HEROPICK_STATE_CD_CAPTAINPICK", + "HEROPICK_STATE_CD_BAN1", + "HEROPICK_STATE_CD_BAN2", + "HEROPICK_STATE_CD_BAN3", + "HEROPICK_STATE_CD_BAN4", + "HEROPICK_STATE_CD_BAN5", + "HEROPICK_STATE_CD_BAN6", + "HEROPICK_STATE_CD_SELECT1", + "HEROPICK_STATE_CD_SELECT2", + "HEROPICK_STATE_CD_SELECT3", + "HEROPICK_STATE_CD_SELECT4", + "HEROPICK_STATE_CD_SELECT5", + "HEROPICK_STATE_CD_SELECT6", + "HEROPICK_STATE_CD_SELECT7", + "HEROPICK_STATE_CD_SELECT8", + "HEROPICK_STATE_CD_SELECT9", + "HEROPICK_STATE_CD_SELECT10", + "HEROPICK_STATE_CD_PICK", + "HEROPICK_STATE_BD_SELECT", + "HERO_PICK_STATE_ABILITY_DRAFT_SELECT", + "HERO_PICK_STATE_ARDM_SELECT", + "HEROPICK_STATE_ALL_DRAFT_SELECT", + "HERO_PICK_STATE_CUSTOMGAME_SELECT", + "HEROPICK_STATE_SELECT_PENALTY" + }; + + + // Creates a Blocking Queue with capacity 200 + // public static BlockingQueue clientCommandQueue = new LinkedBlockingDeque(200); + + public static BlockingQueue[] botsQueues = {null, null, null, null, null, null, null, null, null, null}; + + //DEBUG ////////////////////////////////////////////////////////////////////////// + public static long starttime = 0; + public static long stoptime = 0; + + + public static int[] tmpNbSocketDire = {0, 0}; + + public static int[] nbSocketRedirect = {0, 0}; + + public static int nbHttpRequestGlobal = 0; + public static int tmpNbHttpRequestGlobal = 0; + + public static int[] nbHttpRequestBots = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + public static int[] tmpNbHttpRequestBots = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + public static int nbRequestGrpcGlobal = 0; + public static int tmpNbRequestGrpcGlobal = 0; + + public static int[] nbGrpcRequestBots = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + public static int[] tmpNbGrpcRequestBots = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + + //public static ProcessBuilder pb = new ProcessBuilder("./dedicated.sh"); + //public static ProcessBuilder pb = new ProcessBuilder("./game/dota.sh -dedicated -dev +tv_enable 1 +tv_secret_code 0 +tv_name OKAGG +tv_delay 0 +map dota -fill_with_bots +sv_hibernate_when_empty 0 -botworldstatetosocket_radiant 10001 -botworldstatetosocket_dire 10002 +dota_auto_surrender_all_disconnected_timeout 600000"); + + + ////////////////////////////////////////////////////////////////////////////////// + + + public Globals() { + + + } + + public void initGlobals() { + clientDireRedirectSocket = null; + clientRadiantRedirectSocket = null; + + //radiantUnitsValues = null; + //direUnitsValues = null; + } + +} diff --git a/Interface/src/main/java/OKAGG/Main.java b/Interface/src/main/java/OKAGG/Main.java new file mode 100644 index 0000000000000000000000000000000000000000..9eaadf18c1b41291cfdc92beb0e82a64bd643185 --- /dev/null +++ b/Interface/src/main/java/OKAGG/Main.java @@ -0,0 +1,47 @@ +package OKAGG; + +import javax.swing.*; +import java.net.Socket; + +public class Main extends JPanel { + + public static MyFrame mf; + + + public static void main(String[] args) { + + //mf = new MyFrame(); + + workflow(); + + //ServerFunctions.startGameServer();s + + } + + + private static void workflow() { + + ClientCommunications clientCommunicationsThread = new ClientCommunications(); + clientCommunicationsThread.start(); + + Webserver webserverThread = new Webserver(); + webserverThread.start(); + + + WorldState wsDireThread = new WorldState(Globals.DIRETEAMID,Globals.DIRESOCKETPORT); + wsDireThread.start(); + + WorldState wsRadiantThread = new WorldState(Globals.RADIANTTEAMID, Globals.RADIANTSOCKETPORT); + wsRadiantThread.start(); + + + ClientSocketServer direSocketServer = new ClientSocketServer(Globals.DIREREDIRECTSOCKETPORT,0); + direSocketServer.start(); + + ClientSocketServer radiantSocketServer = new ClientSocketServer(Globals.RADIANTREDIRECTSOCKETPORT,1); + radiantSocketServer.start(); + + } + + +} diff --git a/Interface/src/main/java/OKAGG/MyFrame.java b/Interface/src/main/java/OKAGG/MyFrame.java new file mode 100644 index 0000000000000000000000000000000000000000..608f7e66d76c58da71814f1b4ae991677ebf49ef --- /dev/null +++ b/Interface/src/main/java/OKAGG/MyFrame.java @@ -0,0 +1,147 @@ +package OKAGG; + +import javax.imageio.ImageIO; +import javax.swing.*; +import java.awt.*; +import java.io.File; +import java.io.IOException; +import java.util.Timer; +import java.util.TimerTask; + +public class MyFrame extends JFrame { + + public MyCanvas mc; + + + public MyFrame() { + + mc = new MyCanvas(); + + JFrame window = new JFrame(); + window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + window.setBounds(0, 0, 1500, 1500); + window.getContentPane().add(mc); + window.setVisible(true); + + // mc.repaint(); + + + Timer t = new Timer(); + t.scheduleAtFixedRate(new TimerTask() { + + @Override + public void run() { + + mc.repaint(); + + Toolkit.getDefaultToolkit().sync(); //solve a problem with linux's graphics scheduling (it gets slower for some reason) + + } + }, 0, 1000 / 30); + + } +} + +class MyCanvas extends JComponent { + + public void paint(Graphics g) { + //g.drawImage(Globals.image, 0, 0,1500,1500, null); + try { + + g.drawString("Game state: " + Globals.GameState[Globals.unitsValues[Globals.RADIANTTEAMID].getGameState()], 10, 10); + g.drawString("Game time: " + Globals.unitsValues[Globals.RADIANTTEAMID].getGameTime(), 10, 20); + g.drawString("-----------------------------------------------------------------", 10, 30); + g.drawString("HTTP requests/Seconds (Global): " + Globals.nbHttpRequestGlobal, 10, 40); + + int drawY = 50; + for (int i = 0; i < 10; i++) { + g.drawString("HTTP requests/Seconds (Bot :" + i + "): " + Globals.nbHttpRequestBots[i], 10, drawY); + drawY += 10; + } + g.drawString("-----------------------------------------------------------------", 10, drawY); + drawY += 10; + g.drawString("GRPC requests/Seconds (Global): " + Globals.nbRequestGrpcGlobal, 10, drawY); + drawY += 10; + for (int i = 0; i < 10; i++) { + g.drawString("GRPC requests/Seconds (Bot :" + i + "): " + Globals.nbGrpcRequestBots[i], 10, drawY); + drawY += 10; + } + + + if (Globals.unitsValues[Globals.RADIANTTEAMID] != null) { + + for (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit un : Globals.unitsValues[Globals.RADIANTTEAMID].getUnitsList()) { + + + switch (un.getUnitType().getNumber()) { + case 1: + if (un.getTeamId() == 2) { + g.setColor(Color.BLUE); + } else { + g.setColor(Color.RED); + } + break; + + case 3: + if (un.getTeamId() == 2) { + g.setColor(Color.GREEN); + } else { + g.setColor(Color.MAGENTA); + } + break; + + default: + g.setColor(Color.black); + break; + } + + int x = (int) ((un.getLocation().getX() + 6000) / 12); + int y = (int) ((un.getLocation().getY() + 6000) / 12); + g.fillRect(x + 200, (1000 - y) + 100, 12, 12); + } + } + + if (Globals.unitsValues[Globals.DIRETEAMID] != null) { + for (CMsgBotWorldStateOuterClass.CMsgBotWorldState.Unit un : Globals.unitsValues[Globals.DIRETEAMID].getUnitsList()) { + + switch (un.getUnitType().getNumber()) { + case 1: + if (un.getTeamId() == 2) { + g.setColor(Color.BLUE); + } else { + g.setColor(Color.RED); + } + break; + + case 3: + if (un.getTeamId() == 2) { + g.setColor(Color.GREEN); + } else { + g.setColor(Color.MAGENTA); + } + break; + + default: + g.setColor(Color.black); + break; + } + + int x = (int) ((un.getLocation().getX() + 6000) / 12); + int y = (int) ((un.getLocation().getY() + 6000) / 12); + g.fillRect(x + 200, (1000 - y) + 100, 12, 12); + } + } + + + } catch (Exception e) { + //e.printStackTrace(); + try { + Thread.sleep(100); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + + //repaint(); + } +} diff --git a/Interface/src/main/java/OKAGG/RedirectClientObject.java b/Interface/src/main/java/OKAGG/RedirectClientObject.java new file mode 100644 index 0000000000000000000000000000000000000000..27904cca6abd2d5b9f39f06437917b5275bbd39a --- /dev/null +++ b/Interface/src/main/java/OKAGG/RedirectClientObject.java @@ -0,0 +1,25 @@ +package OKAGG; + +public class RedirectClientObject { + private int binsize; + private byte[] buffer; + private long timeAdded; + + public RedirectClientObject(int size, byte[] b, long t){ + this.binsize = size; + this.buffer = b; + this.timeAdded = t; + } + + public int getSize(){ + return this.binsize; + } + + public byte[] getBuffer(){ + return this.buffer; + } + + public long getTimeAdded(){ + return this.timeAdded; + } +} diff --git a/Interface/src/main/java/OKAGG/ServerFunctions.java b/Interface/src/main/java/OKAGG/ServerFunctions.java new file mode 100644 index 0000000000000000000000000000000000000000..2c4c74da6b72af31531b7b8f5dde78b8b9e9c69a --- /dev/null +++ b/Interface/src/main/java/OKAGG/ServerFunctions.java @@ -0,0 +1,53 @@ +package OKAGG; + +import java.io.IOException; + +public class ServerFunctions { + + //private static ProcessBuilder pb = new ProcessBuilder("./dedicated.sh"); + //private static Process gameServer; + + private static boolean symlinkSet = false; + + private static String[] startServerCmd = {"./game/dota.sh", "-dedicated", "-dev", "+tv_enable 1", "+tv_secret_code 0", "+tv_name OKAGG", "+tv_delay 0", "+map dota", "-fill_with_bots", "+sv_hibernate_when_empty 0", "-botworldstatetosocket_radiant 10001", "-botworldstatetosocket_dire 10002", "+dota_auto_surrender_all_disconnected_timeout 600000"}; + + public static void startGameServer() { + + if(!symlinkSet){ + try { + String symlinkCmd = "ln -s $(pwd)/.steam ~/.steam"; + Process pSymlink = Runtime.getRuntime().exec(symlinkCmd); + symlinkSet = true; + System.out.println("Symlink set"); + } catch (IOException e) { + e.printStackTrace(); + } + } + + + try { + Process pServer = Runtime.getRuntime().exec(startServerCmd); + System.out.println("Start game server"); + } catch (IOException e) { + e.printStackTrace(); + } + + } + + public static void stopGameServer() { + + //TODO edit to kill the Runtime created with java and not all the "dota2" process + try { + String cmd[] = {"pkill", "-9", "-f", "dota2"}; + Process p = Runtime.getRuntime().exec(cmd); + System.out.println("Stop game server"); + } catch (IOException e) { + e.printStackTrace(); + } + } + + public static void restartGameServer() { + stopGameServer(); + startGameServer(); + } +} diff --git a/Interface/src/main/java/OKAGG/Util.java b/Interface/src/main/java/OKAGG/Util.java new file mode 100644 index 0000000000000000000000000000000000000000..8a5962cf5e771bc67da66771ef269a696433ae03 --- /dev/null +++ b/Interface/src/main/java/OKAGG/Util.java @@ -0,0 +1,133 @@ +package OKAGG; + +import com.google.common.io.LittleEndianDataInputStream; +import com.google.common.io.LittleEndianDataOutputStream; +import sun.security.action.GetLongAction; + +import java.io.DataOutputStream; +import java.io.IOException; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.util.concurrent.Semaphore; + +public class Util { + + private static int[] frameSkip = {0, 0}; + private static int[] frameNumber = {0, 0}; + private static Socket[] s = {null, null}; + //private static DataOutputStream[] dataOutputStream = {null, null}; + + private static LittleEndianDataInputStream[] dataInputStream = {null, null}; + private static String gameServerAddress = "127.0.0.1"; + + + static void worldStateSocket(int port, int teamId) { + + + while (true) { + + gameSocketConnect(port, teamId); + + getGameSocketData(teamId); + + } + } + + + private static void getGameSocketData(int teamId) { + int binSize = 0; + byte[] buffer = null; + + + while (true) { + try { + binSize = dataInputStream[teamId].readInt(); + + + if (binSize != 0) { + + buffer = new byte[binSize]; + + dataInputStream[teamId].readFully(buffer, 0, binSize); //Read fully instead of read , readfully take the data in multiple tcp packet if necessary + + + //TODO voir pour mettre le redirect dans un autre thread pour pas impacter la vitesse + if (Globals.clientRedirectSocket[teamId] != null) { + redirectToClient(teamId, binSize, buffer); + } + + + Globals.unitsValues[teamId] = CMsgBotWorldStateOuterClass.CMsgBotWorldState.parseFrom(buffer); + + + Globals.tmpNbSocketDire[teamId]++; + + } + + } catch (IOException e) { + e.printStackTrace(); + break; + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + + private static void redirectToClient(int teamId, int binSize, byte[] buffer) throws IOException, InterruptedException { + if (Globals.clientRedirectSocket[teamId].isConnected()) { + + if (frameNumber[teamId] >= frameSkip[teamId]) { + if (Globals.dataOutputStream[teamId] == null) + Globals.dataOutputStream[teamId] = new LittleEndianDataOutputStream(Globals.clientRedirectSocket[teamId].getOutputStream()); + + + /* + Globals.dataOutputStream[teamId].writeInt(binSize); + Globals.dataOutputStream[teamId].write(buffer, 0, binSize); + Globals.dataOutputStream[teamId].flush(); + */ + + try { // TODO enlever le try catch, ya trop delement qui sajoute. Il faut voir pour sauter les frames qui pose probleme dans le thread qui redirige + Globals.clientRedirectQueue[teamId].add(new RedirectClientObject(binSize, buffer, System.nanoTime())); + }catch (Exception e){ + + } + + frameNumber[teamId] = 0; + + } else { + frameNumber[teamId]++; + } + + + } + } + + + private static void gameSocketConnect(int port, int teamId) { + boolean socketConnected = false; + + System.out.println("Wait for the socket"); + while (!socketConnected) { + try { + s[teamId] = new Socket(); + s[teamId].connect(new InetSocketAddress(gameServerAddress, port), 10000); + + dataInputStream[teamId] = new LittleEndianDataInputStream(s[teamId].getInputStream()); + + socketConnected = true; + System.out.println("Socket connected"); + + } catch (IOException e) { + //e.printStackTrace(); + try { + Thread.sleep(100); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + } + } + +} diff --git a/Interface/src/main/java/OKAGG/Webserver.java b/Interface/src/main/java/OKAGG/Webserver.java new file mode 100644 index 0000000000000000000000000000000000000000..4ed495ad44eff5d1f79583377fb3725e2fa08d5e --- /dev/null +++ b/Interface/src/main/java/OKAGG/Webserver.java @@ -0,0 +1,187 @@ +package OKAGG; + +import io.javalin.Javalin; +//import netscape.javascript.JSObject; +import org.json.JSONObject; + +import javax.xml.bind.annotation.XmlElementDecl; +import java.util.Timer; +import java.util.TimerTask; +import java.util.concurrent.LinkedBlockingDeque; + + +public class Webserver extends Thread { + + + JSONObject defaultJSON = new JSONObject("{\"action\":\"default\",\"params\":{}}"); + DotaFunctions gameAction = new DotaFunctions(); + public int tmp_nb_request = 0; + + //TMP/////////////////////////////////////////////////////////////// + public int heroRadiantSelectId = 0; + public String[] heroRadiant = {"npc_dota_hero_antimage", "npc_dota_hero_axe", "npc_dota_hero_bane", "npc_dota_hero_bloodseeker", "npc_dota_hero_crystal_maiden"}; + + public int heroDireSelectId = 0; + public String[] heroDire = {"npc_dota_hero_drow_ranger", "npc_dota_hero_earthshaker", "npc_dota_hero_juggernaut", "npc_dota_hero_mirana", "npc_dota_hero_nevermore"}; + /////////////////////////////////////////////////////////////////// + + + public void run() { + + Javalin app = Javalin.create().start(4001); + + //TODO a implementer avec le client + //TODO faire un seul truc pour les 2 equipes (c'est juste un id de 0 a 9) + app.post("/selection_radiant", ctx -> { + + JSONObject receivedJSON = new JSONObject(ctx.body()); //actual hero selection + + JSONObject j = new JSONObject(); + j.put("id", heroRadiantSelectId); + j.put("name", heroRadiant[heroRadiantSelectId]); + + ctx.json(j.toString()); + + //Create the queue for the assigned bot + if (Globals.botsQueues[heroDireSelectId] == null) { + Globals.botsQueues[heroDireSelectId] = new LinkedBlockingDeque(200); + } + + heroRadiantSelectId++; + if (heroRadiantSelectId > 4) + heroRadiantSelectId = 0; + + + }); + + app.post("/selection_dire", ctx -> { + JSONObject receivedJSON = new JSONObject(ctx.body()); //actual hero selection + + JSONObject j = new JSONObject(); + j.put("id", heroDireSelectId); + j.put("name", heroDire[heroDireSelectId]); + + ctx.json(j.toString()); + + //Create the queue for the assigned bot + if (Globals.botsQueues[heroDireSelectId + 5] == null) { + Globals.botsQueues[heroDireSelectId + 5] = new LinkedBlockingDeque(200); + } + + heroDireSelectId++; + if (heroDireSelectId > 4) + heroDireSelectId = 0; + + }); + + app.post("/:bot_id", ctx -> { + + int botId = Integer.parseInt(ctx.pathParam("bot_id")); + + Globals.tmpNbHttpRequestBots[botId]++; + Globals.tmpNbHttpRequestGlobal++; + + + if (!ctx.body().equals("")) { + JSONObject receivedJSON = new JSONObject(ctx.body()); + + //TODO handle the received JSON + } + + OKAGG.Command c = null; + + if (Globals.botsQueues[botId] != null) { //if there's a queue for the bot + //TODO ajouter une fonction pour clear la queue + c = (Command) Globals.botsQueues[botId].poll(); //Get the head of the queue, return null if empty + + } + + if (c != null) { + + //ctx.json(gameAction.performActions(c.getCommandId(), c.getVectVal().getX(), c.getVectVal().getY(), c.getVectVal().getZ()).put("botId", botId).toString()); //Respond with a json + ctx.json(gameAction.performActions(c).put("botId", botId).toString()); //Respond with a json + + + + + //System.out.println("Action bot: " + botId + " command: " + c.getCommandId() + " x: " + c.getVectVal().getX() + " y: " + c.getVectVal().getY() + " z: " + c.getVectVal().getZ()) ; + } else { + //System.out.println("Bot : " + botId + " null "); + ctx.status(500); + } + + }); + + + Timer t = new Timer(); + t.scheduleAtFixedRate(new TimerTask() { + + @Override + public void run() { + + System.out.print("\033[H\033[2J"); // 'H' means move to top of the screen -'2J' means "clear entire screen" + System.out.flush(); + + if (Globals.unitsValues[0] != null && Globals.unitsValues[Globals.DIRETEAMID] != null) { + System.out.println("Game state: " + Globals.GameState[Globals.unitsValues[Globals.DIRETEAMID].getGameState()]); + System.out.println("Game time: " + Globals.unitsValues[Globals.DIRETEAMID].getGameTime()); + System.out.println("-----------------------------------------------------------------"); + System.out.println("HTTP requests/Seconds (Global): " + Globals.nbHttpRequestGlobal); + + for (int i = 0; i < 10; i++) { + System.out.println("HTTP requests/Seconds (Bot :" + i + "): " + Globals.nbHttpRequestBots[i]); + } + System.out.println("-----------------------------------------------------------------"); + System.out.println("GRPC requests/Seconds (Global): " + Globals.nbRequestGrpcGlobal); + for (int i = 0; i < 10; i++) { + System.out.println("GRPC requests/Seconds (Bot :" + i + "): " + Globals.nbGrpcRequestBots[i]); + } + System.out.println("-----------------------------------------------------------------"); + System.out.println("Dire socket rate : " + Globals.tmpNbSocketDire[Globals.DIRETEAMID]); + System.out.println("Radiant socket rate : " + Globals.tmpNbSocketDire[Globals.RADIANTTEAMID]); + System.out.println("-----------------------------------------------------------------"); + System.out.println("Dire socket redirect rate : " + Globals.nbSocketRedirect[Globals.DIRETEAMID]); + System.out.println("Radiant socket redirect rate : " + Globals.nbSocketRedirect[Globals.RADIANTTEAMID]); + System.out.println("-----------------------------------------------------------------"); + //System.out.println("Dire redirect queue size : " + Globals.clientRedirectQueue[Globals.DIRETEAMID].size()); + //System.out.println("Radiant redirect queue size : " + Globals.clientRedirectQueue[Globals.RADIANTTEAMID].size()); + + } else { + System.out.println("Waiting for the server to start"); + } + + + Globals.nbRequestGrpcGlobal = Globals.tmpNbRequestGrpcGlobal; + Globals.tmpNbRequestGrpcGlobal = 0; + + Globals.nbHttpRequestGlobal = Globals.tmpNbHttpRequestGlobal; + Globals.tmpNbHttpRequestGlobal = 0; + + //Globals.tmpNbSocketRadiant = 0; + Globals.tmpNbSocketDire[0] = 0; + Globals.tmpNbSocketDire[1] = 0; + + //Globals.nbSocketRedirectRadiant = 0; + //Globals.nbSocketRedirectDire = 0; + + Globals.nbSocketRedirect[0] = 0; + Globals.nbSocketRedirect[1] = 0; + + for (int i = 0; i < 10; i++) { + Globals.nbHttpRequestBots[i] = Globals.tmpNbHttpRequestBots[i]; + Globals.tmpNbHttpRequestBots[i] = 0; + + Globals.nbGrpcRequestBots[i] = Globals.tmpNbGrpcRequestBots[i]; + Globals.tmpNbGrpcRequestBots[i] = 0; + } + + } + }, 0, 1000); + + //t.cancel(); + + System.out.println("Server run"); + + } + +} diff --git a/Interface/src/main/java/OKAGG/WorldState.java b/Interface/src/main/java/OKAGG/WorldState.java new file mode 100644 index 0000000000000000000000000000000000000000..dba6609007a265ac7131229e459efcb77ba2992d --- /dev/null +++ b/Interface/src/main/java/OKAGG/WorldState.java @@ -0,0 +1,16 @@ +package OKAGG; + +public class WorldState extends Thread { + + private int teamId; + private int port; + + public WorldState(int id, int port) { + this.teamId = id; + this.port = port; + } + + public void run() { + Util.worldStateSocket(this.port,this.teamId); + } +} diff --git a/Interface/src/main/proto/OutsideCommunication.proto b/Interface/src/main/proto/OutsideCommunication.proto new file mode 100644 index 0000000000000000000000000000000000000000..ee0ac5739e11d4d6fafd0cb307938b07fc24266a --- /dev/null +++ b/Interface/src/main/proto/OutsideCommunication.proto @@ -0,0 +1,69 @@ +syntax = "proto3"; + +package OKAGG; + +option java_multiple_files = true; + +message Vector { + float x = 1; + float y = 2; + float z = 3; +} + +message Command { + int32 CommandId = 1; + Vector vectVal = 2; + int32 BotId = 3; + +} + +message OkaggIaCommMessage{ + Vector loc = 1; + int32 health = 2; + int32 gold = 3; + int32 death = 4; + int32 gameState = 5; + +} + +//Should contains all the necessary to use all the APIŝ functions +message CommandV2{ + repeated int32 intVal = 1; + repeated Vector vectVal = 2; + repeated string strVal = 3; + repeated bool boolVal = 4; + int32 CommandId = 5; + int32 BotId = 6; +} + +message InstrucionReturnValue { + int32 intVal = 1; + float floatVal = 2; + Vector vectVal = 3; + bool boolVal = 4; + OkaggIaCommMessage iaComm = 5; +} + +message GlobalValues{ + int32 gameState = 1; +} + +message Empty{ + +} + +//Used to send action to the game +service GameInstructions { + rpc HandleInstructions (Command) returns (InstrucionReturnValue); +} + +//Used to retrieve infos for the server +service GameValues { + rpc GetGlobalValues (Empty) returns (GlobalValues); +} + +//Used to manage the server +service ServerManagment{ + rpc ManageServer (Command) returns (Empty); +} + diff --git a/Interface/src/main/sh_script/dedicated.sh b/Interface/src/main/sh_script/dedicated.sh new file mode 100755 index 0000000000000000000000000000000000000000..0cb4356c72da9d0978c30f262818cdf3a886d517 --- /dev/null +++ b/Interface/src/main/sh_script/dedicated.sh @@ -0,0 +1,2 @@ +ln -s $(pwd)/.steam ~/.steam +./game/dota.sh -dedicated -dev +tv_enable 1 +tv_secret_code 0 +tv_name OKAGG +tv_delay 0 +map dota -fill_with_bots +sv_hibernate_when_empty 0 -botworldstatetosocket_radiant 10001 -botworldstatetosocket_dire 10002 +dota_auto_surrender_all_disconnected_timeout 600000 diff --git a/Interface/target/GameInteraction-1.0-SNAPSHOT.jar b/Interface/target/GameInteraction-1.0-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..b2fcf093f7a10bf2678059378bf8696173bf2c5d Binary files /dev/null and b/Interface/target/GameInteraction-1.0-SNAPSHOT.jar differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$1.class new file mode 100644 index 0000000000000000000000000000000000000000..376c4d90febd35be0eaf99b6d002ea3b84bcc7bf Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$2.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$2.class new file mode 100644 index 0000000000000000000000000000000000000000..5d967e87af1e346cdab5aea6e46ac35a81e637af Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$2.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$1.class new file mode 100644 index 0000000000000000000000000000000000000000..fcf0cd02182335040205ee6470d8f464a00e6c3c Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Ability$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Ability$1.class new file mode 100644 index 0000000000000000000000000000000000000000..23059e48af562bba7d2e3d515c5a31feb1d3203b Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Ability$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Ability$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Ability$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..e88fc11d7aef0ccdc2b529a8adaaf42c3578a191 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Ability$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Ability.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Ability.class new file mode 100644 index 0000000000000000000000000000000000000000..bd8cf8700a570bb0b63fa921a2be81a1349b7a35 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Ability.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AbilityOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AbilityOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..b28c2a9661736caa0b197c141d6696c163bd9998 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AbilityOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$1.class new file mode 100644 index 0000000000000000000000000000000000000000..e53a308634a463823facb428c29ec80501ab2683 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ActionDataCase.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ActionDataCase.class new file mode 100644 index 0000000000000000000000000000000000000000..772073c9292825f445340e9a493a4e464352e657 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ActionDataCase.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackMove$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackMove$1.class new file mode 100644 index 0000000000000000000000000000000000000000..1d1e09c2b4757055c71a0f154f0e893c92322a3c Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackMove$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackMove$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackMove$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..817a3e40ec3a024ca39309ccc830d46c53d7c2b0 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackMove$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackMove.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackMove.class new file mode 100644 index 0000000000000000000000000000000000000000..973a854dbb07883a757f325fd7fb691d4bea8ab4 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackMove.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackMoveOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackMoveOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..01d105479e74177f7262696b268bad6dae25b06f Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackMoveOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackTarget$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackTarget$1.class new file mode 100644 index 0000000000000000000000000000000000000000..e6659c39cec2ce59710ba3c79d81606f6b79114e Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackTarget$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackTarget$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackTarget$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..fb7418adc3b252a6f908d7c72c6a97f18c6105d6 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackTarget$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackTarget.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackTarget.class new file mode 100644 index 0000000000000000000000000000000000000000..6129136a0b9a6e97a3c71ec807a5c05a60069aab Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackTarget.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackTargetOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackTargetOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..f694ec5664fa7a36309c53292f34b9458312ca63 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackTargetOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..d611596498a220943d9a0aab33ae24d7ce66cd58 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Buyback$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Buyback$1.class new file mode 100644 index 0000000000000000000000000000000000000000..f2564321d3e0b11d6c4252b70e3f55771fe8d24c Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Buyback$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Buyback$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Buyback$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..b6658a1dc41cad62bd0880b3ef67356bc9dbd28f Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Buyback$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Buyback.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Buyback.class new file mode 100644 index 0000000000000000000000000000000000000000..379dd16a94445053eb9a4ef3275f6e3b193f3228 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Buyback.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$BuybackOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$BuybackOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..a794d9e25ae05f9a9b7f24e3f8a3727a4ca3ea78 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$BuybackOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Cast$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Cast$1.class new file mode 100644 index 0000000000000000000000000000000000000000..89159117fd4d4f771d51928fa3ce53a7d126fdb2 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Cast$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Cast$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Cast$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..d547aee974d8a728a0957c0a392a152ef3c877f6 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Cast$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Cast.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Cast.class new file mode 100644 index 0000000000000000000000000000000000000000..965b465f154bfe1a72d30d247f33ba3ceff5c7b7 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Cast.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastLocation$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastLocation$1.class new file mode 100644 index 0000000000000000000000000000000000000000..6c5cb51ac9f466c4adff7c79040e1bd0f8a8a31c Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastLocation$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastLocation$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastLocation$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..504618e73225d4728fb622a18b68594c280be8dd Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastLocation$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastLocation.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastLocation.class new file mode 100644 index 0000000000000000000000000000000000000000..10fe655dc49b27c363fffb27647983925a286c27 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastLocation.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastLocationOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastLocationOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..1d99cc5c82576ff7ba6008f03b64ae607629770a Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastLocationOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..b7eb09dd9635b2644a56fa5c12e019dac6728582 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTarget$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTarget$1.class new file mode 100644 index 0000000000000000000000000000000000000000..8bc2149d7c47a79187208a028e3f80f0b631f1ed Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTarget$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTarget$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTarget$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..342144af0147847a7a03f654fa7cefffefb34829 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTarget$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTarget.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTarget.class new file mode 100644 index 0000000000000000000000000000000000000000..9f14574828bbeaf88d4f049fad849267ed3cc01d Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTarget.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTargetOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTargetOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..d5f6afa4ca2daf2b2ececc6416bb5efddb8b2d90 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTargetOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastToggle$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastToggle$1.class new file mode 100644 index 0000000000000000000000000000000000000000..fb4d97a4f17aeeb91447d3edada2bfe93981ac69 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastToggle$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastToggle$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastToggle$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..3c17e9ede3dd90d5ea8651e3948153266fc7d081 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastToggle$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastToggle.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastToggle.class new file mode 100644 index 0000000000000000000000000000000000000000..e36d5592bd7014db2695605c1cc4b3ebad69e746 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastToggle.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastToggleOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastToggleOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..96499fd08d9e0bebd0e39aac36b0fee76974d942 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastToggleOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTree$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTree$1.class new file mode 100644 index 0000000000000000000000000000000000000000..79fd2408e70bd653b6b275ad43005c33d51bc1b3 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTree$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTree$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTree$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..3fa2d117370395eca672cfefe538f3ad6332fc16 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTree$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTree.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTree.class new file mode 100644 index 0000000000000000000000000000000000000000..9fd5fde6dfe2385497bd3e6e2ae0b3a3426f524b Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTree.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTreeOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTreeOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..15973aee882f99f271bb4c802be3e2379b1a7354 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTreeOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Chat$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Chat$1.class new file mode 100644 index 0000000000000000000000000000000000000000..15d2736a5c3bd7755b7a312c3c6045b7e95e94d1 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Chat$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Chat$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Chat$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..f739fa231c18190ee422de105da7e08d9dc6a78a Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Chat$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Chat.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Chat.class new file mode 100644 index 0000000000000000000000000000000000000000..56e34450ff375e258d87e0e40257a851a88dd8d9 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Chat.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ChatOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ChatOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..183878d898ff94e3d3e2647447ea5fb95aeb9404 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ChatOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Courier$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Courier$1.class new file mode 100644 index 0000000000000000000000000000000000000000..7b8cde9860be8745c698c2509b18838f82d39f55 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Courier$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Courier$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Courier$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..0bac765e318d90dd1289aba0794c9896cd80d104 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Courier$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Courier.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Courier.class new file mode 100644 index 0000000000000000000000000000000000000000..ac20050a3c932ede3977240168182d6b9a317d05 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Courier.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CourierOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CourierOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..b626a5d606f38b4c22a88fc99838c65ccf6729f4 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CourierOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DisassembleItem$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DisassembleItem$1.class new file mode 100644 index 0000000000000000000000000000000000000000..3f2a4fb93a9b7202e0e8252f5c77b6072a32e1f6 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DisassembleItem$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DisassembleItem$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DisassembleItem$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..a6f9d87f3d6893aa97f8aa01be6bc2962f57d2d6 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DisassembleItem$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DisassembleItem.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DisassembleItem.class new file mode 100644 index 0000000000000000000000000000000000000000..970b3b135a3f3216b6bb414e55f2733513f118f0 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DisassembleItem.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DisassembleItemOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DisassembleItemOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..ec26bdb541a6f734c1b91471aeb39fe400de5776 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DisassembleItemOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DropItem$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DropItem$1.class new file mode 100644 index 0000000000000000000000000000000000000000..1e5bbd336a96aeece8fa61aca3f9d00d0dd620c5 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DropItem$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DropItem$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DropItem$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..f01002c7c90001b9f0bd6a8dace487a82525d03c Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DropItem$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DropItem.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DropItem.class new file mode 100644 index 0000000000000000000000000000000000000000..579f5e19eeb019dfe9737b2ea4b04acaee97a379 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DropItem.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DropItemOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DropItemOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..7076b0bd2f106fdf85c1e30b0f4f6ff62f8e7eb4 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DropItemOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetActualIncomingDamage$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetActualIncomingDamage$1.class new file mode 100644 index 0000000000000000000000000000000000000000..5a2d85602a2756acacb9e7ae29f6e8ea072771a5 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetActualIncomingDamage$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetActualIncomingDamage$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetActualIncomingDamage$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..599d38bd0cbfc9eec4f3b6bd1e1fbb2f1a136d57 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetActualIncomingDamage$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetActualIncomingDamage.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetActualIncomingDamage.class new file mode 100644 index 0000000000000000000000000000000000000000..3543bedbfc46da3486dd56d19ee795de149a9023 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetActualIncomingDamage.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetActualIncomingDamageOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetActualIncomingDamageOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..21e6c8da32b7488c8cd5ccb4c378173d54b2dc77 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetActualIncomingDamageOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetEstimatedDamageToTarget$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetEstimatedDamageToTarget$1.class new file mode 100644 index 0000000000000000000000000000000000000000..63e7fe29e5c2950d9d291e454fedb503e55ba22b Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetEstimatedDamageToTarget$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetEstimatedDamageToTarget$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetEstimatedDamageToTarget$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..d3820caca87b83cff19d8306603e2ec6eb5ff178 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetEstimatedDamageToTarget$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetEstimatedDamageToTarget.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetEstimatedDamageToTarget.class new file mode 100644 index 0000000000000000000000000000000000000000..07202ef58c79a749c5a698bb875ad1be5228b0ae Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetEstimatedDamageToTarget.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetEstimatedDamageToTargetOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetEstimatedDamageToTargetOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..4075dc853eac2e37eaa6d42ef1071c5b5801da47 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetEstimatedDamageToTargetOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Glyph$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Glyph$1.class new file mode 100644 index 0000000000000000000000000000000000000000..4b3500d9f392b5b505fe9ab473625b3963e43908 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Glyph$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Glyph$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Glyph$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..ddbc3e9e8f2e1e50854616005b7b695080cc1298 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Glyph$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Glyph.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Glyph.class new file mode 100644 index 0000000000000000000000000000000000000000..d3a153d309804213bf7653eec5975b2ff9310f48 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Glyph.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GlyphOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GlyphOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..e02ba86e92076e2d6330b14fcec0b905a3ed9348 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GlyphOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$HoldLocation$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$HoldLocation$1.class new file mode 100644 index 0000000000000000000000000000000000000000..c6db88464b70321f931f5f9d3d7b3a08a4e2a6ac Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$HoldLocation$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$HoldLocation$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$HoldLocation$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..daa94c26820bfbbc7362ec0f5cfe33b5776e2776 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$HoldLocation$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$HoldLocation.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$HoldLocation.class new file mode 100644 index 0000000000000000000000000000000000000000..b268f8dc075c93a1e44bf8460d334ee2eb127a07 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$HoldLocation.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$HoldLocationOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$HoldLocationOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..33df7210b52a21f2385b865f20262bbf6684bcbc Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$HoldLocationOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToLocation$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToLocation$1.class new file mode 100644 index 0000000000000000000000000000000000000000..6bb5478ddbd1fe2db42f6fcd907ee564abc501ac Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToLocation$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToLocation$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToLocation$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..4614e1484f7daf7c3c2cf41f95000ab8631971c7 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToLocation$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToLocation.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToLocation.class new file mode 100644 index 0000000000000000000000000000000000000000..2e461de26830272a5a55e2430136a757f1056909 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToLocation.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToLocationOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToLocationOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..8ae9bf46e8a444bf6cd08c60da97454a16c077f3 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToLocationOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToTarget$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToTarget$1.class new file mode 100644 index 0000000000000000000000000000000000000000..2ab745617a15ca0e888e2928d0a8f73f8f1e316b Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToTarget$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToTarget$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToTarget$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..74b36bfb32d607e082d5272b0680d4117203746c Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToTarget$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToTarget.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToTarget.class new file mode 100644 index 0000000000000000000000000000000000000000..f2a7e1aba75538671e63c1aa24c1e39b313af932 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToTarget.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToTargetOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToTargetOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..a95dbfe3f0b0fcf34d63dc4ae6822317316ff85a Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToTargetOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanReplayCorrectTime$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanReplayCorrectTime$1.class new file mode 100644 index 0000000000000000000000000000000000000000..913c0ef3cb5cb5e4ee18db25b73ba326f11b1d5f Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanReplayCorrectTime$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanReplayCorrectTime$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanReplayCorrectTime$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..939908d8b892a6fc5305f7fab6ac32f276dc034e Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanReplayCorrectTime$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanReplayCorrectTime.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanReplayCorrectTime.class new file mode 100644 index 0000000000000000000000000000000000000000..df58d598e9947e91d3f4bb3116c7ff535b94d000 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanReplayCorrectTime.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanReplayCorrectTimeOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanReplayCorrectTimeOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..7460831d7dd96413ded44c2069d2f8cf3aae2aae Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanReplayCorrectTimeOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanWinGame$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanWinGame$1.class new file mode 100644 index 0000000000000000000000000000000000000000..fb614a89fbdb6a4096332e0d0a9a557e11b4c674 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanWinGame$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanWinGame$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanWinGame$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..6f354b67244a10c9b1d150cfd6f91345d4615e40 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanWinGame$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanWinGame.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanWinGame.class new file mode 100644 index 0000000000000000000000000000000000000000..20d811f14121b1b997472a7df36e2b43eb352553 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanWinGame.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanWinGameOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanWinGameOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..c730d52768cbab413b65ac0b4f50a2366a9c419b Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanWinGameOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickUpItem$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickUpItem$1.class new file mode 100644 index 0000000000000000000000000000000000000000..1af03991698b01174ce92b92f661007301277c63 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickUpItem$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickUpItem$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickUpItem$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..0ed7cbaf8785030bec04b871346aa2c1a10feb4a Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickUpItem$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickUpItem.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickUpItem.class new file mode 100644 index 0000000000000000000000000000000000000000..a36a3ef58c15d03809f4a59cfadb6c830d05a447 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickUpItem.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickUpItemOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickUpItemOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..f607ccb3527f2b5c624a04638a50f3ba2eb446c5 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickUpItemOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickupRune$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickupRune$1.class new file mode 100644 index 0000000000000000000000000000000000000000..4ed7932cbb1376d3f2d80a1f29fa96cf194ad531 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickupRune$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickupRune$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickupRune$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..10d0b82b44b9b340123732f1a38b760a6c8c6ea5 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickupRune$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickupRune.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickupRune.class new file mode 100644 index 0000000000000000000000000000000000000000..8e74240b2050c4074673ff9e69931385a2bd3e71 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickupRune.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickupRuneOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickupRuneOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..d8dce7d5d30cbcaaaaaf8293c33c8b18546a0ddd Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickupRuneOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PurchaseItem$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PurchaseItem$1.class new file mode 100644 index 0000000000000000000000000000000000000000..7792f311dfbffc6a9d0ccc796656552f280e722f Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PurchaseItem$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PurchaseItem$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PurchaseItem$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..74660cf415e89912c486f571b6515897e72acacf Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PurchaseItem$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PurchaseItem.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PurchaseItem.class new file mode 100644 index 0000000000000000000000000000000000000000..65b7c0e39465291598a1b3e458138649c6f5311a Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PurchaseItem.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PurchaseItemOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PurchaseItemOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..5c141c0edabf4f3fea6ebcb729310f6fcf5dfdf0 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PurchaseItemOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawBox$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawBox$1.class new file mode 100644 index 0000000000000000000000000000000000000000..34be3c3ccd54e03fce9079b0c43779bba5831589 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawBox$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawBox$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawBox$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..1381da7a1dd63060b139c615d87a915b2c89a04f Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawBox$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawBox.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawBox.class new file mode 100644 index 0000000000000000000000000000000000000000..0292b0bbdcf9a2a2b85903be97130fde8a687ae9 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawBox.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawBoxOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawBoxOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..18d3bbe6b39551bde58f79bacd3baf83645471d4 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawBoxOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawCircle$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawCircle$1.class new file mode 100644 index 0000000000000000000000000000000000000000..42eaef6eda684d52e27094ad6a46cbb556be175c Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawCircle$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawCircle$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawCircle$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..f1e2ce89d9bb4d9bfc3fd957676354fba8ac1da6 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawCircle$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawCircle.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawCircle.class new file mode 100644 index 0000000000000000000000000000000000000000..a3d9068d4a4cefc90d41d43967f90d858d914464 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawCircle.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawCircleOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawCircleOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..07e189a55ebc8c542097bd44c31a220a22b946e2 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawCircleOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawClear$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawClear$1.class new file mode 100644 index 0000000000000000000000000000000000000000..0286ab953502f0ab699456e4b5ea4298524b2d16 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawClear$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawClear$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawClear$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..d166a005c29a355e2ab87676b963d4b9dc8c0b0d Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawClear$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawClear.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawClear.class new file mode 100644 index 0000000000000000000000000000000000000000..3633859a441d10b7f92b2a7be463d2fa7abd425b Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawClear.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawClearOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawClearOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..55c0d9b4c52b47775724484562ae91e7e1a57761 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawClearOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawLine$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawLine$1.class new file mode 100644 index 0000000000000000000000000000000000000000..a9053f0f6d3d1c860e5c356044adcb5da9d35a25 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawLine$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawLine$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawLine$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..45ef3d0871d63717e5f3beaa927e13a37c3f34c1 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawLine$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawLine.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawLine.class new file mode 100644 index 0000000000000000000000000000000000000000..53f66a8c2ae16789963fe8d5c000f3b6d9bc6792 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawLine.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawLineOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawLineOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..f7c04496593edc456886b61b2bf3b706db8733e2 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawLineOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawScreenText$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawScreenText$1.class new file mode 100644 index 0000000000000000000000000000000000000000..dcc72e20ccc4843cee88454645055113c726c7e3 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawScreenText$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawScreenText$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawScreenText$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..c230db408fce6bc77fe82cd58518938078784dae Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawScreenText$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawScreenText.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawScreenText.class new file mode 100644 index 0000000000000000000000000000000000000000..bf49b8bd28c3a24ce4bf2d943716a1f4b71f9660 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawScreenText.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawScreenTextOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawScreenTextOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..3471864c95f6762eb5d5f2bd2dce023ca2a7fce3 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawScreenTextOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawText$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawText$1.class new file mode 100644 index 0000000000000000000000000000000000000000..638d9f111684acb5d1c5116ea7e5dac216218adb Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawText$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawText$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawText$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..5d9a62d549046a911af54980c7573a85353d41d2 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawText$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawText.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawText.class new file mode 100644 index 0000000000000000000000000000000000000000..5d581e89b74b100492f7cc62378e32e0f7cb7cf8 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawText.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawTextOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawTextOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..ba868f8bfdc8f206623b39996477cac91f8a32ce Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawTextOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugScreenTextPretty$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugScreenTextPretty$1.class new file mode 100644 index 0000000000000000000000000000000000000000..ae653294b92a01ada5d15ded6a8ed761fffb051c Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugScreenTextPretty$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugScreenTextPretty$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugScreenTextPretty$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..64986ac1ae90867093ff9dfec273f8df7c85085b Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugScreenTextPretty$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugScreenTextPretty.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugScreenTextPretty.class new file mode 100644 index 0000000000000000000000000000000000000000..a091b345b6c07a41446694ba9532708f7794cce7 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugScreenTextPretty.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugScreenTextPrettyOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugScreenTextPrettyOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..474adeeb4dd72b7dbb848ae6da4f370593575e8e Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugScreenTextPrettyOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SellItem$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SellItem$1.class new file mode 100644 index 0000000000000000000000000000000000000000..e798ab80e9f98eb0da9200fb4d16d2d214bb980f Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SellItem$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SellItem$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SellItem$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..fb372ea0e83bc3fd9fb896c4d3e62da6e82cb121 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SellItem$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SellItem.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SellItem.class new file mode 100644 index 0000000000000000000000000000000000000000..59915de0a47244318b6a049b24c4708f53a4f005 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SellItem.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SellItemOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SellItemOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..474c103ba05e0f1f0848cba2c8371d57e57cb97a Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SellItemOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SetCombineLockItem$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SetCombineLockItem$1.class new file mode 100644 index 0000000000000000000000000000000000000000..fa07103ccc8ef457e42b88c7e23a0f6f520032e1 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SetCombineLockItem$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SetCombineLockItem$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SetCombineLockItem$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..15a15ce0a43821e88f4d49ed891c3b116f1acb7a Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SetCombineLockItem$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SetCombineLockItem.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SetCombineLockItem.class new file mode 100644 index 0000000000000000000000000000000000000000..b8658db9c70a7bb8ae96a83059e39abefbaf1243 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SetCombineLockItem.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SetCombineLockItemOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SetCombineLockItemOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..b77fd304dcc3caceb34bdcad6ca3fe4265979da4 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SetCombineLockItemOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SoftReset$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SoftReset$1.class new file mode 100644 index 0000000000000000000000000000000000000000..1c9e0473ebbfb703a4aae72284dd4b7e0112f31a Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SoftReset$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SoftReset$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SoftReset$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..5fe86579e86e5557f3ba5a6fdf5bdfbe6aeab470 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SoftReset$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SoftReset.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SoftReset.class new file mode 100644 index 0000000000000000000000000000000000000000..0e82383bd5bed28e432b89b80fbaddda4064b560 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SoftReset.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SoftResetOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SoftResetOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..0c33fad216ca03c3850b4d2eb2c2bafcd1dd89f1 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SoftResetOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Stop$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Stop$1.class new file mode 100644 index 0000000000000000000000000000000000000000..bcbb9c4e062cd7794a02b6a62328323fb27c4f27 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Stop$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Stop$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Stop$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..d667fedeb9ef855c8900287bd0813c106cc96157 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Stop$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Stop.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Stop.class new file mode 100644 index 0000000000000000000000000000000000000000..06af990d9d2f7bc783b3770b0cb2829914af4355 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Stop.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$StopOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$StopOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..b472326ca1d5482977cbdcd87b3e4cec4ec34e17 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$StopOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SwapItems$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SwapItems$1.class new file mode 100644 index 0000000000000000000000000000000000000000..7fd36c0deadbe66b174cbff3dfd40626323a20e0 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SwapItems$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SwapItems$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SwapItems$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..5c54fc6dfb33e8f71457117b2b64482298d6ee54 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SwapItems$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SwapItems.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SwapItems.class new file mode 100644 index 0000000000000000000000000000000000000000..f148d7d872c191e3d05d256d1edd2cc87d5c68e5 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SwapItems.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SwapItemsOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SwapItemsOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..1f5f10a03130dc25f94b710a27020a38cd3ebbdf Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SwapItemsOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$TrainAbility$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$TrainAbility$1.class new file mode 100644 index 0000000000000000000000000000000000000000..8cd479edef86d08a29fc870deba724c663234c60 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$TrainAbility$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$TrainAbility$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$TrainAbility$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..d2fb0b755bce2d1ce4ebb539f9bea571d25aed0e Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$TrainAbility$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$TrainAbility.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$TrainAbility.class new file mode 100644 index 0000000000000000000000000000000000000000..b0356e126ce7a0b85651f8ff7e5aad3b87b53d32 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$TrainAbility.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$TrainAbilityOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$TrainAbilityOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..3999c17399c89de694c4bf3b2ceb0860a0f11a51 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$TrainAbilityOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Type$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Type$1.class new file mode 100644 index 0000000000000000000000000000000000000000..6bd5f002af85abc8e33b79ac439d2f510ba55be1 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Type$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Type.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Type.class new file mode 100644 index 0000000000000000000000000000000000000000..b0973261093c1c47aa5df96460346bd2a5cbfd4c Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Type.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$UseShrine$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$UseShrine$1.class new file mode 100644 index 0000000000000000000000000000000000000000..9cf8c7a05ccaa2416c2e4c5f98ba6893e58334cc Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$UseShrine$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$UseShrine$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$UseShrine$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..f29be43d6d7ba0476714b14ef1a2e894022f3541 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$UseShrine$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$UseShrine.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$UseShrine.class new file mode 100644 index 0000000000000000000000000000000000000000..5e36d1bd24c9765c087875afdafbe340964d9f6e Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$UseShrine.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$UseShrineOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$UseShrineOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..e6ca0d860873951a14ae50fe8ea296c31edb1608 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$UseShrineOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action.class new file mode 100644 index 0000000000000000000000000000000000000000..6d5268d0ffef829d56d154c62de3249ef506a6e3 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$ActionOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$ActionOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..d23c161fbb63fa20e5c8ae2024fb134b6f71343b Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$ActionOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$1.class new file mode 100644 index 0000000000000000000000000000000000000000..d7460e9cf8e140a0181b64c5bb6c2e1029484088 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..6db67dfe110af82bbc7cef5dd9c016e35030f59e Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$Header$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$Header$1.class new file mode 100644 index 0000000000000000000000000000000000000000..88b3cf8b266ff6dbd9157c18dba6eb8d8e051b17 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$Header$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$Header$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$Header$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..949c8c59af1fc714d4c744809365b5593f7a77ca Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$Header$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$Header.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$Header.class new file mode 100644 index 0000000000000000000000000000000000000000..6bc85eef070ad4f328b6c695e27a46f84ff9288f Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$Header.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$HeaderOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$HeaderOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..640ff3f0acf90f0526de725fcb1abb6c0022a2db Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$HeaderOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$1.class new file mode 100644 index 0000000000000000000000000000000000000000..110494740be1468a24bf34fcfd0e2624aa8c1c8d Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..6b17acd6ffc28cd90590f5c226d522b56ae05a79 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$Hero$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$Hero$1.class new file mode 100644 index 0000000000000000000000000000000000000000..c7d023de5220a02995b51273fb83f5bc2cbe9f66 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$Hero$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$Hero$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$Hero$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..31723367e0c2339b992ca289d740d8f9cb9309f5 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$Hero$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$Hero.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$Hero.class new file mode 100644 index 0000000000000000000000000000000000000000..d466ee93b45845a6091e931f5d60ec8fc4413a51 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$Hero.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$HeroOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$HeroOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..cf4786b304d319b7b222d79e14434dde51f94019 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$HeroOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation.class new file mode 100644 index 0000000000000000000000000000000000000000..05264eaa2b24026b675ce1e8d862dd20a12ff09f Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotationOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotationOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..c8c01549cfbffa2ad80561eacaf2202b6fc33ab1 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotationOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions.class new file mode 100644 index 0000000000000000000000000000000000000000..467460e8894d75d80ac15d60ea334274c35549d6 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$ActionsOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$ActionsOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..d8c89fa92c663dcdebf2695419e4ef55eb9e40f7 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$ActionsOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AvoidanceZone$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AvoidanceZone$1.class new file mode 100644 index 0000000000000000000000000000000000000000..838917306ac0a88a7ab6872f638447af96dd8115 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AvoidanceZone$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AvoidanceZone$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AvoidanceZone$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..00021a71c6963ac87aa8d9d9027441346b7cd98b Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AvoidanceZone$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AvoidanceZone.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AvoidanceZone.class new file mode 100644 index 0000000000000000000000000000000000000000..2fa1c00c685c50acdd99d7f2ad07a34672725d11 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AvoidanceZone.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AvoidanceZoneOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AvoidanceZoneOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..03287576d32969c085b81304b62b25ccbd9290a0 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AvoidanceZoneOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..1d70fe0fd3f0c07ecbdfc0b13a50b52bcf54fdf1 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Courier$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Courier$1.class new file mode 100644 index 0000000000000000000000000000000000000000..2eba0ecf6aca1e72812cdac90be2d2992bf26be9 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Courier$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Courier$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Courier$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..bbcadbfcea150887eec337df8341f10f00f2d4b2 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Courier$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Courier.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Courier.class new file mode 100644 index 0000000000000000000000000000000000000000..24229acf0c4e6763389126fa54cc3b7433ffe159 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Courier.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$CourierOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$CourierOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..27afac916e8e7cfe3e0d132dc1b19650f09c5763 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$CourierOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$CourierState$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$CourierState$1.class new file mode 100644 index 0000000000000000000000000000000000000000..f3dd87ba7249a9a235964b4829a52880f2ee4719 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$CourierState$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$CourierState.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$CourierState.class new file mode 100644 index 0000000000000000000000000000000000000000..acc3db7ba3effd7703ac51667259bf2d4e4c9882 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$CourierState.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$DroppedItem$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$DroppedItem$1.class new file mode 100644 index 0000000000000000000000000000000000000000..3e5d995e924606afdf167cb16f0203856a2e1a71 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$DroppedItem$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$DroppedItem$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$DroppedItem$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..63be34b4620fa8f8463cb9a05805506bc1408678 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$DroppedItem$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$DroppedItem.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$DroppedItem.class new file mode 100644 index 0000000000000000000000000000000000000000..1de08538f3cabbe68d55e2bfb5d01922ef9fc84e Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$DroppedItem.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$DroppedItemOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$DroppedItemOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..c84e815e7117b7f6887cd47076971a70f00dd973 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$DroppedItemOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventAbility$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventAbility$1.class new file mode 100644 index 0000000000000000000000000000000000000000..5577c4173e1fe017833f73424810d4cd8fd482ab Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventAbility$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventAbility$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventAbility$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..08943d37c45ebec041c87a933bc3032789cb67c3 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventAbility$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventAbility.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventAbility.class new file mode 100644 index 0000000000000000000000000000000000000000..b2d9c192eaa2183f373d0cd2c07d81e3f939a2c8 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventAbility.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventAbilityOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventAbilityOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..1005dcaef687b0fa5df6a247d1ded4b0852b6394 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventAbilityOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventCourierKilled$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventCourierKilled$1.class new file mode 100644 index 0000000000000000000000000000000000000000..949d35aafda23a817fd6ba56a5e70669f60db7f1 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventCourierKilled$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventCourierKilled$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventCourierKilled$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..dba27532e1e23f5fc91c965370fe73b70e3cadc9 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventCourierKilled$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventCourierKilled.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventCourierKilled.class new file mode 100644 index 0000000000000000000000000000000000000000..5b133d8808f8ba82cd023638946dfdeaa4f45c0a Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventCourierKilled.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventCourierKilledOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventCourierKilledOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..23371b42d9215ca7fc135cda1841c76d60183dc4 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventCourierKilledOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventDamage$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventDamage$1.class new file mode 100644 index 0000000000000000000000000000000000000000..2e0e3177198751817c3cba86c06a489dddf15eee Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventDamage$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventDamage$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventDamage$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..e1b7f3abf9f2e0801f09f8ad6c68e9236f92ce83 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventDamage$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventDamage.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventDamage.class new file mode 100644 index 0000000000000000000000000000000000000000..7dd223a02eae6ca42ef7b7f8da34ff5298254878 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventDamage.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventDamageOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventDamageOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..2bbc49ae7bf9909d54b793f9651b90178a9026c2 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventDamageOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventRoshanKilled$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventRoshanKilled$1.class new file mode 100644 index 0000000000000000000000000000000000000000..965a6917c227270161d5b17edd51a03b24cb9e36 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventRoshanKilled$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventRoshanKilled$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventRoshanKilled$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..4acc5337a57cb895c52fc6352da1984cad2f2d5e Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventRoshanKilled$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventRoshanKilled.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventRoshanKilled.class new file mode 100644 index 0000000000000000000000000000000000000000..8cdf76da8ce2c4d37825021e6332d3a12245cdba Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventRoshanKilled.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventRoshanKilledOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventRoshanKilledOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..f27661437d4def35bd13dcbcca3592749ba0160f Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventRoshanKilledOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventTree$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventTree$1.class new file mode 100644 index 0000000000000000000000000000000000000000..37c6bc8cb03d0ee5c843183443fb81bbd71808a6 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventTree$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventTree$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventTree$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..855942703f7b4029f837438a45a5612a44755892 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventTree$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventTree.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventTree.class new file mode 100644 index 0000000000000000000000000000000000000000..293cbe819495a1654515fa801ad4913d8405440b Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventTree.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventTreeOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventTreeOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..2a560a1b7fcb5576077dfd5e86532f229fd2fbdd Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventTreeOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$LinearProjectile$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$LinearProjectile$1.class new file mode 100644 index 0000000000000000000000000000000000000000..b5795167507f9974f9db480efa5bfc9ed9ebf91b Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$LinearProjectile$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$LinearProjectile$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$LinearProjectile$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..7f4806a089edb1ff7ec9881722077ea4d33ee143 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$LinearProjectile$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$LinearProjectile.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$LinearProjectile.class new file mode 100644 index 0000000000000000000000000000000000000000..19ab8925e49424b027f69bdb3e02488b08805b95 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$LinearProjectile.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$LinearProjectileOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$LinearProjectileOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..30cedb248e9a8ce4938ea3f11f1fbec1ade98281 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$LinearProjectileOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Modifier$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Modifier$1.class new file mode 100644 index 0000000000000000000000000000000000000000..01f6fa38f93111e7c54e6ea95dfc670d06d18077 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Modifier$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Modifier$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Modifier$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..9c5a66aaced278cb942a4f5d7d3ca48d81ebd0e6 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Modifier$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Modifier.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Modifier.class new file mode 100644 index 0000000000000000000000000000000000000000..5bad629873d0abf15e61ac8f6bad851c16acba9b Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Modifier.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$ModifierOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$ModifierOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..4b0a1d1ad3c55ef2c5e5ba5163d904c34e99771f Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$ModifierOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Player$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Player$1.class new file mode 100644 index 0000000000000000000000000000000000000000..8bf1c6b3e5f94d48c17410bb88ded7f6dc0b45af Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Player$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Player$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Player$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..54ee0787c846c34a2200d9f8d1a6e869d8928bdb Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Player$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Player.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Player.class new file mode 100644 index 0000000000000000000000000000000000000000..657c24c5f8446dc679e59c019c4244f1fa8384a5 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Player.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$PlayerOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$PlayerOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..f30c074e0e3b814e0a223186b204a03d28b83bc0 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$PlayerOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$RuneInfo$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$RuneInfo$1.class new file mode 100644 index 0000000000000000000000000000000000000000..5112ee18b4dfd2cfdfcba1c7657cda21cc4acc19 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$RuneInfo$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$RuneInfo$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$RuneInfo$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..6985214e701dc14e1a38ec66cdd9b668b86c08a2 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$RuneInfo$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$RuneInfo.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$RuneInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..469b462c910988ae2ddc52d598c99ee804fdb413 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$RuneInfo.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$RuneInfoOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$RuneInfoOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..bc55c6f39be0a6de40c7301212de0f6dc7ad7273 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$RuneInfoOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TeleportInfo$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TeleportInfo$1.class new file mode 100644 index 0000000000000000000000000000000000000000..551f8e15923a782bd0c8988fd93dd984ab00c5ad Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TeleportInfo$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TeleportInfo$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TeleportInfo$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..2d817d92a19bcd2531b887e6e88fed6ecb363f46 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TeleportInfo$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TeleportInfo.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TeleportInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..ec03eeed85fc13fc22e437d078ceba8c9f4e3e46 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TeleportInfo.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TeleportInfoOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TeleportInfoOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..82bb426eca0c85e91e002fa463e25cc9dba1dbff Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TeleportInfoOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TrackingProjectile$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TrackingProjectile$1.class new file mode 100644 index 0000000000000000000000000000000000000000..2fd47754ad4f4516a7fb8c574c76e85b178cedb2 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TrackingProjectile$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TrackingProjectile$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TrackingProjectile$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..bfe211ad4ea6a7c6d3571e05d4557d44ac75b497 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TrackingProjectile$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TrackingProjectile.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TrackingProjectile.class new file mode 100644 index 0000000000000000000000000000000000000000..ae802afcb99a45657cfcbd68b7169be49362b300 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TrackingProjectile.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TrackingProjectileOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TrackingProjectileOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..c95099148721e27625c88dacb6c01f62643a219a Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TrackingProjectileOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Unit$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Unit$1.class new file mode 100644 index 0000000000000000000000000000000000000000..6220ae1125e33ff2a9d95dffe61e4cb4665e5ae0 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Unit$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Unit$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Unit$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..9fbc700ca3c37bfd9441a0d57314f99d5c647344 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Unit$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Unit.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Unit.class new file mode 100644 index 0000000000000000000000000000000000000000..0459dd6e413e81847636794968aafcdffc91aeb2 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Unit.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$UnitOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$UnitOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..33cf94bc7bba0d9bbe08ca2ccf9101a7ebf4dcaa Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$UnitOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$UnitType$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$UnitType$1.class new file mode 100644 index 0000000000000000000000000000000000000000..0f62f200cbb1910f3ca8d6916901365408e64c48 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$UnitType$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$UnitType.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$UnitType.class new file mode 100644 index 0000000000000000000000000000000000000000..b81f888e355fe9d26eef977ee6904e3c12493e8d Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$UnitType.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Vector$1.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Vector$1.class new file mode 100644 index 0000000000000000000000000000000000000000..fe02cc1b5a5f8d82c4bc29769a61947aa1a23e72 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Vector$1.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Vector$Builder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Vector$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..b7629daf2deb0eb9a5ab9b50bcbcbf416ea2b5aa Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Vector$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Vector.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Vector.class new file mode 100644 index 0000000000000000000000000000000000000000..fdd41438d63d333712d1b126f400938da033d8d0 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Vector.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$VectorOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$VectorOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..e1077b08324c58f2ca1d7e9fc59e82b5573d868f Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$VectorOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState.class new file mode 100644 index 0000000000000000000000000000000000000000..b0d0987bc51308b9b44ce8d8aa009679a473398b Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldStateOrBuilder.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldStateOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..16f0cf823c515a7d073a2709b22a27f88b64e7e6 Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldStateOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass.class b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass.class new file mode 100644 index 0000000000000000000000000000000000000000..e782770d64f5e8b27634ae7d8683451830eb41cb Binary files /dev/null and b/Interface/target/classes/OKAGG/CMsgBotWorldStateOuterClass.class differ diff --git a/Interface/target/classes/OKAGG/ClientCommunications.class b/Interface/target/classes/OKAGG/ClientCommunications.class new file mode 100644 index 0000000000000000000000000000000000000000..05dd1709b831fb77904daf0086a2576e56555108 Binary files /dev/null and b/Interface/target/classes/OKAGG/ClientCommunications.class differ diff --git a/Interface/target/classes/OKAGG/ClientCommunicationsInstructionsService.class b/Interface/target/classes/OKAGG/ClientCommunicationsInstructionsService.class new file mode 100644 index 0000000000000000000000000000000000000000..3ebb4e231aed4ff7253ff670ebc3f6f2bef36aa5 Binary files /dev/null and b/Interface/target/classes/OKAGG/ClientCommunicationsInstructionsService.class differ diff --git a/Interface/target/classes/OKAGG/ClientCommunicationsServerService.class b/Interface/target/classes/OKAGG/ClientCommunicationsServerService.class new file mode 100644 index 0000000000000000000000000000000000000000..75e502ee4d945fd28dca8e3dec0bed8ba02a2b01 Binary files /dev/null and b/Interface/target/classes/OKAGG/ClientCommunicationsServerService.class differ diff --git a/Interface/target/classes/OKAGG/ClientCommunicationsValuesService.class b/Interface/target/classes/OKAGG/ClientCommunicationsValuesService.class new file mode 100644 index 0000000000000000000000000000000000000000..477a024db3d7f2b45606d1c51b09a1147b4926a8 Binary files /dev/null and b/Interface/target/classes/OKAGG/ClientCommunicationsValuesService.class differ diff --git a/Interface/target/classes/OKAGG/ClientSocketServer.class b/Interface/target/classes/OKAGG/ClientSocketServer.class new file mode 100644 index 0000000000000000000000000000000000000000..e5ef4e206f99abf642f14f8b1cb9cf3be43b333c Binary files /dev/null and b/Interface/target/classes/OKAGG/ClientSocketServer.class differ diff --git a/Interface/target/classes/OKAGG/Command$1.class b/Interface/target/classes/OKAGG/Command$1.class new file mode 100644 index 0000000000000000000000000000000000000000..0e2df8f248e9d31b59217e3fe5f38a5be9bbe320 Binary files /dev/null and b/Interface/target/classes/OKAGG/Command$1.class differ diff --git a/Interface/target/classes/OKAGG/Command$Builder.class b/Interface/target/classes/OKAGG/Command$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..7dd69fe4018fe3f9adddf9524372e79cf712cf6b Binary files /dev/null and b/Interface/target/classes/OKAGG/Command$Builder.class differ diff --git a/Interface/target/classes/OKAGG/Command.class b/Interface/target/classes/OKAGG/Command.class new file mode 100644 index 0000000000000000000000000000000000000000..a14f9eb6eef796fff8c36d1d95783dd1c4a5e2f1 Binary files /dev/null and b/Interface/target/classes/OKAGG/Command.class differ diff --git a/Interface/target/classes/OKAGG/CommandOrBuilder.class b/Interface/target/classes/OKAGG/CommandOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..d31d3866634e099c2f5295bed5c7b9be0b447607 Binary files /dev/null and b/Interface/target/classes/OKAGG/CommandOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/CommandV2$1.class b/Interface/target/classes/OKAGG/CommandV2$1.class new file mode 100644 index 0000000000000000000000000000000000000000..0eb790a0971b5ba7564aee1a62693c04cc61434a Binary files /dev/null and b/Interface/target/classes/OKAGG/CommandV2$1.class differ diff --git a/Interface/target/classes/OKAGG/CommandV2$Builder.class b/Interface/target/classes/OKAGG/CommandV2$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..fec383d5aca11ea8a39f0ae95155afe2cb07e6d3 Binary files /dev/null and b/Interface/target/classes/OKAGG/CommandV2$Builder.class differ diff --git a/Interface/target/classes/OKAGG/CommandV2.class b/Interface/target/classes/OKAGG/CommandV2.class new file mode 100644 index 0000000000000000000000000000000000000000..2b58cbc85c879751fbdaa8170b3519007ad40b73 Binary files /dev/null and b/Interface/target/classes/OKAGG/CommandV2.class differ diff --git a/Interface/target/classes/OKAGG/CommandV2OrBuilder.class b/Interface/target/classes/OKAGG/CommandV2OrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..62c276105450e9e304c278378e8bfc18d5922b9d Binary files /dev/null and b/Interface/target/classes/OKAGG/CommandV2OrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/DotaFunctions$GameAction.class b/Interface/target/classes/OKAGG/DotaFunctions$GameAction.class new file mode 100644 index 0000000000000000000000000000000000000000..9f5407331e05ea1f08eb9592a28b9ee7eb64f95a Binary files /dev/null and b/Interface/target/classes/OKAGG/DotaFunctions$GameAction.class differ diff --git a/Interface/target/classes/OKAGG/DotaFunctions.class b/Interface/target/classes/OKAGG/DotaFunctions.class new file mode 100644 index 0000000000000000000000000000000000000000..846b3532dc44d4c7b0a3a6ade78b4c12513ea6fa Binary files /dev/null and b/Interface/target/classes/OKAGG/DotaFunctions.class differ diff --git a/Interface/target/classes/OKAGG/Empty$1.class b/Interface/target/classes/OKAGG/Empty$1.class new file mode 100644 index 0000000000000000000000000000000000000000..e09f0a7348e5479b9ae7d4a7a71dee980443fc99 Binary files /dev/null and b/Interface/target/classes/OKAGG/Empty$1.class differ diff --git a/Interface/target/classes/OKAGG/Empty$Builder.class b/Interface/target/classes/OKAGG/Empty$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..b0c2544c6d0bcf52c76dce211c05351a524db778 Binary files /dev/null and b/Interface/target/classes/OKAGG/Empty$Builder.class differ diff --git a/Interface/target/classes/OKAGG/Empty.class b/Interface/target/classes/OKAGG/Empty.class new file mode 100644 index 0000000000000000000000000000000000000000..51ec5c5137663e6dd1edd02b957ace4245c02c4c Binary files /dev/null and b/Interface/target/classes/OKAGG/Empty.class differ diff --git a/Interface/target/classes/OKAGG/EmptyOrBuilder.class b/Interface/target/classes/OKAGG/EmptyOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..e1b9b707501e20ac5b4b901fdb73fb8861ca62d9 Binary files /dev/null and b/Interface/target/classes/OKAGG/EmptyOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/GameInstructionsGrpc$1.class b/Interface/target/classes/OKAGG/GameInstructionsGrpc$1.class new file mode 100644 index 0000000000000000000000000000000000000000..a066cb2c1443bd3755f61879d79874d0e752640f Binary files /dev/null and b/Interface/target/classes/OKAGG/GameInstructionsGrpc$1.class differ diff --git a/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsBaseDescriptorSupplier.class b/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsBaseDescriptorSupplier.class new file mode 100644 index 0000000000000000000000000000000000000000..16301ceaae81911193259cedc52bd5f9eccf78bb Binary files /dev/null and b/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsBaseDescriptorSupplier.class differ diff --git a/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsBlockingStub.class b/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsBlockingStub.class new file mode 100644 index 0000000000000000000000000000000000000000..f6622d871b847712d575d5c305406c93e50b663c Binary files /dev/null and b/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsBlockingStub.class differ diff --git a/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsFileDescriptorSupplier.class b/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsFileDescriptorSupplier.class new file mode 100644 index 0000000000000000000000000000000000000000..4967f08f6f8000102016052eaace737109a72e78 Binary files /dev/null and b/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsFileDescriptorSupplier.class differ diff --git a/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsFutureStub.class b/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsFutureStub.class new file mode 100644 index 0000000000000000000000000000000000000000..bb6bb4bf9fc2ba1defc1e725b4ffbd1c8441a236 Binary files /dev/null and b/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsFutureStub.class differ diff --git a/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsImplBase.class b/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsImplBase.class new file mode 100644 index 0000000000000000000000000000000000000000..f449aa48bcc7db59fe11204a3cf7b996469db237 Binary files /dev/null and b/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsImplBase.class differ diff --git a/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsMethodDescriptorSupplier.class b/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsMethodDescriptorSupplier.class new file mode 100644 index 0000000000000000000000000000000000000000..6a36bee8e90a45437841eba28936b7dc05459934 Binary files /dev/null and b/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsMethodDescriptorSupplier.class differ diff --git a/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsStub.class b/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsStub.class new file mode 100644 index 0000000000000000000000000000000000000000..599674846b9331c29561875bad1a410801f6a688 Binary files /dev/null and b/Interface/target/classes/OKAGG/GameInstructionsGrpc$GameInstructionsStub.class differ diff --git a/Interface/target/classes/OKAGG/GameInstructionsGrpc$MethodHandlers.class b/Interface/target/classes/OKAGG/GameInstructionsGrpc$MethodHandlers.class new file mode 100644 index 0000000000000000000000000000000000000000..c07416a368d5a86bd946955ce9d22d92bc1c9ac6 Binary files /dev/null and b/Interface/target/classes/OKAGG/GameInstructionsGrpc$MethodHandlers.class differ diff --git a/Interface/target/classes/OKAGG/GameInstructionsGrpc.class b/Interface/target/classes/OKAGG/GameInstructionsGrpc.class new file mode 100644 index 0000000000000000000000000000000000000000..019b157eb5ca08b824499fccfc227e139aae64e9 Binary files /dev/null and b/Interface/target/classes/OKAGG/GameInstructionsGrpc.class differ diff --git a/Interface/target/classes/OKAGG/GameValuesGrpc$1.class b/Interface/target/classes/OKAGG/GameValuesGrpc$1.class new file mode 100644 index 0000000000000000000000000000000000000000..4fc87b6132713124dce3fd8baadfdb046130b972 Binary files /dev/null and b/Interface/target/classes/OKAGG/GameValuesGrpc$1.class differ diff --git a/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesBaseDescriptorSupplier.class b/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesBaseDescriptorSupplier.class new file mode 100644 index 0000000000000000000000000000000000000000..0c85a4240ff718bfeafe764697007de4e674d869 Binary files /dev/null and b/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesBaseDescriptorSupplier.class differ diff --git a/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesBlockingStub.class b/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesBlockingStub.class new file mode 100644 index 0000000000000000000000000000000000000000..f7acd60264643c532478f74722048d4bb6fda3fe Binary files /dev/null and b/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesBlockingStub.class differ diff --git a/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesFileDescriptorSupplier.class b/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesFileDescriptorSupplier.class new file mode 100644 index 0000000000000000000000000000000000000000..9e7a4f1c0ae37391eea857aca22bdda80bef8e1f Binary files /dev/null and b/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesFileDescriptorSupplier.class differ diff --git a/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesFutureStub.class b/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesFutureStub.class new file mode 100644 index 0000000000000000000000000000000000000000..80e9e52d07879b8ca07d3729991f2a647f7e69e7 Binary files /dev/null and b/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesFutureStub.class differ diff --git a/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesImplBase.class b/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesImplBase.class new file mode 100644 index 0000000000000000000000000000000000000000..3475d04d4ede9464020533f61d6cfd3f81187738 Binary files /dev/null and b/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesImplBase.class differ diff --git a/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesMethodDescriptorSupplier.class b/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesMethodDescriptorSupplier.class new file mode 100644 index 0000000000000000000000000000000000000000..ac1ea2f959bde04735d131d0c1fc620c87299a08 Binary files /dev/null and b/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesMethodDescriptorSupplier.class differ diff --git a/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesStub.class b/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesStub.class new file mode 100644 index 0000000000000000000000000000000000000000..87c744597a002dd0ed64b86dee46fe2368d8aec7 Binary files /dev/null and b/Interface/target/classes/OKAGG/GameValuesGrpc$GameValuesStub.class differ diff --git a/Interface/target/classes/OKAGG/GameValuesGrpc$MethodHandlers.class b/Interface/target/classes/OKAGG/GameValuesGrpc$MethodHandlers.class new file mode 100644 index 0000000000000000000000000000000000000000..899c7f40cda21fccf3154ecfd3b5029815cca45b Binary files /dev/null and b/Interface/target/classes/OKAGG/GameValuesGrpc$MethodHandlers.class differ diff --git a/Interface/target/classes/OKAGG/GameValuesGrpc.class b/Interface/target/classes/OKAGG/GameValuesGrpc.class new file mode 100644 index 0000000000000000000000000000000000000000..e80c5157b2af9b4e84bd9d50302e90a0e01ea358 Binary files /dev/null and b/Interface/target/classes/OKAGG/GameValuesGrpc.class differ diff --git a/Interface/target/classes/OKAGG/GetInfo.class b/Interface/target/classes/OKAGG/GetInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..818fdb961a695942c9833e3374f43de48a76f5c0 Binary files /dev/null and b/Interface/target/classes/OKAGG/GetInfo.class differ diff --git a/Interface/target/classes/OKAGG/GlobalValues$1.class b/Interface/target/classes/OKAGG/GlobalValues$1.class new file mode 100644 index 0000000000000000000000000000000000000000..d6eb0828b7a8e51de3ed9fe20ad443bca2b4677e Binary files /dev/null and b/Interface/target/classes/OKAGG/GlobalValues$1.class differ diff --git a/Interface/target/classes/OKAGG/GlobalValues$Builder.class b/Interface/target/classes/OKAGG/GlobalValues$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..20c5635694b6d2deb97843e6c6a1c237ce61f84b Binary files /dev/null and b/Interface/target/classes/OKAGG/GlobalValues$Builder.class differ diff --git a/Interface/target/classes/OKAGG/GlobalValues.class b/Interface/target/classes/OKAGG/GlobalValues.class new file mode 100644 index 0000000000000000000000000000000000000000..9c988bea792b515101f2c86035b52f1987f4b0b5 Binary files /dev/null and b/Interface/target/classes/OKAGG/GlobalValues.class differ diff --git a/Interface/target/classes/OKAGG/GlobalValuesOrBuilder.class b/Interface/target/classes/OKAGG/GlobalValuesOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..52e3cd2c1f8800d0cac26e65b9f282e93ddd1ed2 Binary files /dev/null and b/Interface/target/classes/OKAGG/GlobalValuesOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/Globals.class b/Interface/target/classes/OKAGG/Globals.class new file mode 100644 index 0000000000000000000000000000000000000000..570510ae6205d905e7e4db03f7be55e33881e192 Binary files /dev/null and b/Interface/target/classes/OKAGG/Globals.class differ diff --git a/Interface/target/classes/OKAGG/InstrucionReturnValue$1.class b/Interface/target/classes/OKAGG/InstrucionReturnValue$1.class new file mode 100644 index 0000000000000000000000000000000000000000..e4704522df77424148ce4536061379d85fa59152 Binary files /dev/null and b/Interface/target/classes/OKAGG/InstrucionReturnValue$1.class differ diff --git a/Interface/target/classes/OKAGG/InstrucionReturnValue$Builder.class b/Interface/target/classes/OKAGG/InstrucionReturnValue$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..39b16e3769d3728a5af07a40ed344cfe591710f7 Binary files /dev/null and b/Interface/target/classes/OKAGG/InstrucionReturnValue$Builder.class differ diff --git a/Interface/target/classes/OKAGG/InstrucionReturnValue.class b/Interface/target/classes/OKAGG/InstrucionReturnValue.class new file mode 100644 index 0000000000000000000000000000000000000000..ae9eb82ab161f05a350be23225d380c03baeeedb Binary files /dev/null and b/Interface/target/classes/OKAGG/InstrucionReturnValue.class differ diff --git a/Interface/target/classes/OKAGG/InstrucionReturnValueOrBuilder.class b/Interface/target/classes/OKAGG/InstrucionReturnValueOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..97cae1f2e7bbc365996916f630ff897c7849114a Binary files /dev/null and b/Interface/target/classes/OKAGG/InstrucionReturnValueOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/Main.class b/Interface/target/classes/OKAGG/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..d7b1a68c76de8d38193621291c0e3d0c3dddd80d Binary files /dev/null and b/Interface/target/classes/OKAGG/Main.class differ diff --git a/Interface/target/classes/OKAGG/MyCanvas.class b/Interface/target/classes/OKAGG/MyCanvas.class new file mode 100644 index 0000000000000000000000000000000000000000..171e0ada0c5f7a7f57028e5aa3901849f4f1e2f7 Binary files /dev/null and b/Interface/target/classes/OKAGG/MyCanvas.class differ diff --git a/Interface/target/classes/OKAGG/MyFrame$1.class b/Interface/target/classes/OKAGG/MyFrame$1.class new file mode 100644 index 0000000000000000000000000000000000000000..9d8a256cd6b9148dadf92e6bda92fba73adb7736 Binary files /dev/null and b/Interface/target/classes/OKAGG/MyFrame$1.class differ diff --git a/Interface/target/classes/OKAGG/MyFrame.class b/Interface/target/classes/OKAGG/MyFrame.class new file mode 100644 index 0000000000000000000000000000000000000000..cb5111ed1ed0787feb510e15068d49b9821c5221 Binary files /dev/null and b/Interface/target/classes/OKAGG/MyFrame.class differ diff --git a/Interface/target/classes/OKAGG/OkaggIaCommMessage$1.class b/Interface/target/classes/OKAGG/OkaggIaCommMessage$1.class new file mode 100644 index 0000000000000000000000000000000000000000..3ccdd144b63f7844467937563748827b7a884fda Binary files /dev/null and b/Interface/target/classes/OKAGG/OkaggIaCommMessage$1.class differ diff --git a/Interface/target/classes/OKAGG/OkaggIaCommMessage$Builder.class b/Interface/target/classes/OKAGG/OkaggIaCommMessage$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..eee48c5812f9b0bc7285af13762e75c23086179a Binary files /dev/null and b/Interface/target/classes/OKAGG/OkaggIaCommMessage$Builder.class differ diff --git a/Interface/target/classes/OKAGG/OkaggIaCommMessage.class b/Interface/target/classes/OKAGG/OkaggIaCommMessage.class new file mode 100644 index 0000000000000000000000000000000000000000..65944eb585e0a42030cabb8593755909d9543f55 Binary files /dev/null and b/Interface/target/classes/OKAGG/OkaggIaCommMessage.class differ diff --git a/Interface/target/classes/OKAGG/OkaggIaCommMessageOrBuilder.class b/Interface/target/classes/OKAGG/OkaggIaCommMessageOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..d535c417f2ee19c31d9f81edbf93001f289195fb Binary files /dev/null and b/Interface/target/classes/OKAGG/OkaggIaCommMessageOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/OutsideCommunication$1.class b/Interface/target/classes/OKAGG/OutsideCommunication$1.class new file mode 100644 index 0000000000000000000000000000000000000000..8ea528f0558d46610f9bf4abb6c28b386d22a600 Binary files /dev/null and b/Interface/target/classes/OKAGG/OutsideCommunication$1.class differ diff --git a/Interface/target/classes/OKAGG/OutsideCommunication.class b/Interface/target/classes/OKAGG/OutsideCommunication.class new file mode 100644 index 0000000000000000000000000000000000000000..49dba222a1b997c44c591543d4c48d28d1206484 Binary files /dev/null and b/Interface/target/classes/OKAGG/OutsideCommunication.class differ diff --git a/Interface/target/classes/OKAGG/RedirectClientObject.class b/Interface/target/classes/OKAGG/RedirectClientObject.class new file mode 100644 index 0000000000000000000000000000000000000000..15f1cf1f9353c309d5f8b19382c1ad0f72ec8085 Binary files /dev/null and b/Interface/target/classes/OKAGG/RedirectClientObject.class differ diff --git a/Interface/target/classes/OKAGG/ServerFunctions.class b/Interface/target/classes/OKAGG/ServerFunctions.class new file mode 100644 index 0000000000000000000000000000000000000000..d2c978e8ad8e098bc77ce638ab4a9c7dbb1fd9a1 Binary files /dev/null and b/Interface/target/classes/OKAGG/ServerFunctions.class differ diff --git a/Interface/target/classes/OKAGG/ServerManagmentGrpc$1.class b/Interface/target/classes/OKAGG/ServerManagmentGrpc$1.class new file mode 100644 index 0000000000000000000000000000000000000000..ee3aedb209592b56b4a929f3375875701f051195 Binary files /dev/null and b/Interface/target/classes/OKAGG/ServerManagmentGrpc$1.class differ diff --git a/Interface/target/classes/OKAGG/ServerManagmentGrpc$MethodHandlers.class b/Interface/target/classes/OKAGG/ServerManagmentGrpc$MethodHandlers.class new file mode 100644 index 0000000000000000000000000000000000000000..af9d410c47cbf6ab4299ec3dd9ded6a4d74b65f6 Binary files /dev/null and b/Interface/target/classes/OKAGG/ServerManagmentGrpc$MethodHandlers.class differ diff --git a/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentBaseDescriptorSupplier.class b/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentBaseDescriptorSupplier.class new file mode 100644 index 0000000000000000000000000000000000000000..8f250ba2af1958842a4bcf408650fca0aebf5aef Binary files /dev/null and b/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentBaseDescriptorSupplier.class differ diff --git a/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentBlockingStub.class b/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentBlockingStub.class new file mode 100644 index 0000000000000000000000000000000000000000..20e9b7861a09e9f50f9167d616c4f69b45c9f363 Binary files /dev/null and b/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentBlockingStub.class differ diff --git a/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentFileDescriptorSupplier.class b/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentFileDescriptorSupplier.class new file mode 100644 index 0000000000000000000000000000000000000000..1ed84a99e0537045bf4dae53cb2f8f577880168e Binary files /dev/null and b/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentFileDescriptorSupplier.class differ diff --git a/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentFutureStub.class b/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentFutureStub.class new file mode 100644 index 0000000000000000000000000000000000000000..db66dcfe3cfbe2b27dafd8add1302221f564d1f4 Binary files /dev/null and b/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentFutureStub.class differ diff --git a/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentImplBase.class b/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentImplBase.class new file mode 100644 index 0000000000000000000000000000000000000000..9bd61fe826de3b17d6f3c2f43ffd773c2aa29fca Binary files /dev/null and b/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentImplBase.class differ diff --git a/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentMethodDescriptorSupplier.class b/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentMethodDescriptorSupplier.class new file mode 100644 index 0000000000000000000000000000000000000000..d9d80218ae1768e89dc8582e7ccba61b25a45f40 Binary files /dev/null and b/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentMethodDescriptorSupplier.class differ diff --git a/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentStub.class b/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentStub.class new file mode 100644 index 0000000000000000000000000000000000000000..2a114882f15c76a564397ae7bdac6fd9c938483c Binary files /dev/null and b/Interface/target/classes/OKAGG/ServerManagmentGrpc$ServerManagmentStub.class differ diff --git a/Interface/target/classes/OKAGG/ServerManagmentGrpc.class b/Interface/target/classes/OKAGG/ServerManagmentGrpc.class new file mode 100644 index 0000000000000000000000000000000000000000..e11eeba8204d99390279c49e789fae94b1778457 Binary files /dev/null and b/Interface/target/classes/OKAGG/ServerManagmentGrpc.class differ diff --git a/Interface/target/classes/OKAGG/Util.class b/Interface/target/classes/OKAGG/Util.class new file mode 100644 index 0000000000000000000000000000000000000000..f43414d6640e1b1a49b330ae3656208583e0ebed Binary files /dev/null and b/Interface/target/classes/OKAGG/Util.class differ diff --git a/Interface/target/classes/OKAGG/Vector$1.class b/Interface/target/classes/OKAGG/Vector$1.class new file mode 100644 index 0000000000000000000000000000000000000000..767f53ed069ce6e8df04042b04381b0f75adac2d Binary files /dev/null and b/Interface/target/classes/OKAGG/Vector$1.class differ diff --git a/Interface/target/classes/OKAGG/Vector$Builder.class b/Interface/target/classes/OKAGG/Vector$Builder.class new file mode 100644 index 0000000000000000000000000000000000000000..84e8574863bfd93ef419ecc9f82c4dbda3f93931 Binary files /dev/null and b/Interface/target/classes/OKAGG/Vector$Builder.class differ diff --git a/Interface/target/classes/OKAGG/Vector.class b/Interface/target/classes/OKAGG/Vector.class new file mode 100644 index 0000000000000000000000000000000000000000..3c3b1dfb818578e28dd7676ccef8b4ebd56cb989 Binary files /dev/null and b/Interface/target/classes/OKAGG/Vector.class differ diff --git a/Interface/target/classes/OKAGG/VectorOrBuilder.class b/Interface/target/classes/OKAGG/VectorOrBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..7c750fe1fbc53b723081a2a7ab1f7ff44c5aee08 Binary files /dev/null and b/Interface/target/classes/OKAGG/VectorOrBuilder.class differ diff --git a/Interface/target/classes/OKAGG/Webserver$1.class b/Interface/target/classes/OKAGG/Webserver$1.class new file mode 100644 index 0000000000000000000000000000000000000000..44e3b152760a20b22408c06bd02b49ac910cb31d Binary files /dev/null and b/Interface/target/classes/OKAGG/Webserver$1.class differ diff --git a/Interface/target/classes/OKAGG/Webserver.class b/Interface/target/classes/OKAGG/Webserver.class new file mode 100644 index 0000000000000000000000000000000000000000..acba2d7e83d15d463bb34e2aa13471f44aae8fb8 Binary files /dev/null and b/Interface/target/classes/OKAGG/Webserver.class differ diff --git a/Interface/target/classes/OKAGG/WorldState.class b/Interface/target/classes/OKAGG/WorldState.class new file mode 100644 index 0000000000000000000000000000000000000000..2b223e219984ce88ea858201c79a7c76690b62c8 Binary files /dev/null and b/Interface/target/classes/OKAGG/WorldState.class differ diff --git a/Interface/target/classes/OutsideCommunication.proto b/Interface/target/classes/OutsideCommunication.proto new file mode 100644 index 0000000000000000000000000000000000000000..7f32d3a790f48bf4ed9c32b1cb2d860d011c7a93 --- /dev/null +++ b/Interface/target/classes/OutsideCommunication.proto @@ -0,0 +1,71 @@ +syntax = "proto3"; + +package OKAGG; + +option java_multiple_files = true; + +message Vector { + float x = 1; + float y = 2; + float z = 3; +} + +message Command { + int32 CommandId = 1; + Vector vectVal = 2; + int32 BotId = 3; + +} + +message OkaggIaCommMessage{ + Vector loc = 1; + int32 health = 2; + int32 gold = 3; + int32 death = 4; + int32 gameState = 5; + +} + +//Should contains all the necessary to use all the APIŝ functions +message CommandV2{ + repeated int32 intVal = 1; + repeated Vector vectVal = 2; + repeated string strVal = 3; + repeated bool boolVal = 4; + int32 CommandId = 5; + int32 BotId = 6; + + +} + +message InstrucionReturnValue { + int32 intVal = 1; + float floatVal = 2; + Vector vectVal = 3; + bool boolVal = 4; + OkaggIaCommMessage iaComm = 5; +} + +message GlobalValues{ + int32 gameState = 1; +} + +message Empty{ + +} + +//Used to send action to the game +service GameInstructions { + rpc HandleInstructions (Command) returns (InstrucionReturnValue); +} + +//Used to retrieve infos for the server +service GameValues { + rpc GetGlobalValues (Empty) returns (GlobalValues); +} + +//Used to manage the server +service ServerManagment{ + rpc ManageServer (Command) returns (Empty); +} + diff --git a/Interface/target/generated-sources/protobuf/grpc-java/OKAGG/GameInstructionsGrpc.java b/Interface/target/generated-sources/protobuf/grpc-java/OKAGG/GameInstructionsGrpc.java new file mode 100644 index 0000000000000000000000000000000000000000..a8923506d3c5d201b1369f87baa16bd79ec7783a --- /dev/null +++ b/Interface/target/generated-sources/protobuf/grpc-java/OKAGG/GameInstructionsGrpc.java @@ -0,0 +1,295 @@ +package OKAGG; + +import static io.grpc.MethodDescriptor.generateFullMethodName; +import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall; +import static io.grpc.stub.ClientCalls.asyncClientStreamingCall; +import static io.grpc.stub.ClientCalls.asyncServerStreamingCall; +import static io.grpc.stub.ClientCalls.asyncUnaryCall; +import static io.grpc.stub.ClientCalls.blockingServerStreamingCall; +import static io.grpc.stub.ClientCalls.blockingUnaryCall; +import static io.grpc.stub.ClientCalls.futureUnaryCall; +import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall; +import static io.grpc.stub.ServerCalls.asyncClientStreamingCall; +import static io.grpc.stub.ServerCalls.asyncServerStreamingCall; +import static io.grpc.stub.ServerCalls.asyncUnaryCall; +import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall; +import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall; + +/** + * <pre> + *Used to send action to the game + * </pre> + */ +@javax.annotation.Generated( + value = "by gRPC proto compiler (version 1.20.0)", + comments = "Source: OutsideCommunication.proto") +public final class GameInstructionsGrpc { + + private GameInstructionsGrpc() {} + + public static final String SERVICE_NAME = "OKAGG.GameInstructions"; + + // Static method descriptors that strictly reflect the proto. + private static volatile io.grpc.MethodDescriptor<OKAGG.Command, + OKAGG.InstrucionReturnValue> getHandleInstructionsMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "HandleInstructions", + requestType = OKAGG.Command.class, + responseType = OKAGG.InstrucionReturnValue.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor<OKAGG.Command, + OKAGG.InstrucionReturnValue> getHandleInstructionsMethod() { + io.grpc.MethodDescriptor<OKAGG.Command, OKAGG.InstrucionReturnValue> getHandleInstructionsMethod; + if ((getHandleInstructionsMethod = GameInstructionsGrpc.getHandleInstructionsMethod) == null) { + synchronized (GameInstructionsGrpc.class) { + if ((getHandleInstructionsMethod = GameInstructionsGrpc.getHandleInstructionsMethod) == null) { + GameInstructionsGrpc.getHandleInstructionsMethod = getHandleInstructionsMethod = + io.grpc.MethodDescriptor.<OKAGG.Command, OKAGG.InstrucionReturnValue>newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName( + "OKAGG.GameInstructions", "HandleInstructions")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + OKAGG.Command.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + OKAGG.InstrucionReturnValue.getDefaultInstance())) + .setSchemaDescriptor(new GameInstructionsMethodDescriptorSupplier("HandleInstructions")) + .build(); + } + } + } + return getHandleInstructionsMethod; + } + + /** + * Creates a new async stub that supports all call types for the service + */ + public static GameInstructionsStub newStub(io.grpc.Channel channel) { + return new GameInstructionsStub(channel); + } + + /** + * Creates a new blocking-style stub that supports unary and streaming output calls on the service + */ + public static GameInstructionsBlockingStub newBlockingStub( + io.grpc.Channel channel) { + return new GameInstructionsBlockingStub(channel); + } + + /** + * Creates a new ListenableFuture-style stub that supports unary calls on the service + */ + public static GameInstructionsFutureStub newFutureStub( + io.grpc.Channel channel) { + return new GameInstructionsFutureStub(channel); + } + + /** + * <pre> + *Used to send action to the game + * </pre> + */ + public static abstract class GameInstructionsImplBase implements io.grpc.BindableService { + + /** + */ + public void handleInstructions(OKAGG.Command request, + io.grpc.stub.StreamObserver<OKAGG.InstrucionReturnValue> responseObserver) { + asyncUnimplementedUnaryCall(getHandleInstructionsMethod(), responseObserver); + } + + @java.lang.Override public final io.grpc.ServerServiceDefinition bindService() { + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()) + .addMethod( + getHandleInstructionsMethod(), + asyncUnaryCall( + new MethodHandlers< + OKAGG.Command, + OKAGG.InstrucionReturnValue>( + this, METHODID_HANDLE_INSTRUCTIONS))) + .build(); + } + } + + /** + * <pre> + *Used to send action to the game + * </pre> + */ + public static final class GameInstructionsStub extends io.grpc.stub.AbstractStub<GameInstructionsStub> { + private GameInstructionsStub(io.grpc.Channel channel) { + super(channel); + } + + private GameInstructionsStub(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected GameInstructionsStub build(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + return new GameInstructionsStub(channel, callOptions); + } + + /** + */ + public void handleInstructions(OKAGG.Command request, + io.grpc.stub.StreamObserver<OKAGG.InstrucionReturnValue> responseObserver) { + asyncUnaryCall( + getChannel().newCall(getHandleInstructionsMethod(), getCallOptions()), request, responseObserver); + } + } + + /** + * <pre> + *Used to send action to the game + * </pre> + */ + public static final class GameInstructionsBlockingStub extends io.grpc.stub.AbstractStub<GameInstructionsBlockingStub> { + private GameInstructionsBlockingStub(io.grpc.Channel channel) { + super(channel); + } + + private GameInstructionsBlockingStub(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected GameInstructionsBlockingStub build(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + return new GameInstructionsBlockingStub(channel, callOptions); + } + + /** + */ + public OKAGG.InstrucionReturnValue handleInstructions(OKAGG.Command request) { + return blockingUnaryCall( + getChannel(), getHandleInstructionsMethod(), getCallOptions(), request); + } + } + + /** + * <pre> + *Used to send action to the game + * </pre> + */ + public static final class GameInstructionsFutureStub extends io.grpc.stub.AbstractStub<GameInstructionsFutureStub> { + private GameInstructionsFutureStub(io.grpc.Channel channel) { + super(channel); + } + + private GameInstructionsFutureStub(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected GameInstructionsFutureStub build(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + return new GameInstructionsFutureStub(channel, callOptions); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture<OKAGG.InstrucionReturnValue> handleInstructions( + OKAGG.Command request) { + return futureUnaryCall( + getChannel().newCall(getHandleInstructionsMethod(), getCallOptions()), request); + } + } + + private static final int METHODID_HANDLE_INSTRUCTIONS = 0; + + private static final class MethodHandlers<Req, Resp> implements + io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>, + io.grpc.stub.ServerCalls.ServerStreamingMethod<Req, Resp>, + io.grpc.stub.ServerCalls.ClientStreamingMethod<Req, Resp>, + io.grpc.stub.ServerCalls.BidiStreamingMethod<Req, Resp> { + private final GameInstructionsImplBase serviceImpl; + private final int methodId; + + MethodHandlers(GameInstructionsImplBase serviceImpl, int methodId) { + this.serviceImpl = serviceImpl; + this.methodId = methodId; + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) { + switch (methodId) { + case METHODID_HANDLE_INSTRUCTIONS: + serviceImpl.handleInstructions((OKAGG.Command) request, + (io.grpc.stub.StreamObserver<OKAGG.InstrucionReturnValue>) responseObserver); + break; + default: + throw new AssertionError(); + } + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public io.grpc.stub.StreamObserver<Req> invoke( + io.grpc.stub.StreamObserver<Resp> responseObserver) { + switch (methodId) { + default: + throw new AssertionError(); + } + } + } + + private static abstract class GameInstructionsBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier { + GameInstructionsBaseDescriptorSupplier() {} + + @java.lang.Override + public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() { + return OKAGG.OutsideCommunication.getDescriptor(); + } + + @java.lang.Override + public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() { + return getFileDescriptor().findServiceByName("GameInstructions"); + } + } + + private static final class GameInstructionsFileDescriptorSupplier + extends GameInstructionsBaseDescriptorSupplier { + GameInstructionsFileDescriptorSupplier() {} + } + + private static final class GameInstructionsMethodDescriptorSupplier + extends GameInstructionsBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoMethodDescriptorSupplier { + private final String methodName; + + GameInstructionsMethodDescriptorSupplier(String methodName) { + this.methodName = methodName; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() { + return getServiceDescriptor().findMethodByName(methodName); + } + } + + private static volatile io.grpc.ServiceDescriptor serviceDescriptor; + + public static io.grpc.ServiceDescriptor getServiceDescriptor() { + io.grpc.ServiceDescriptor result = serviceDescriptor; + if (result == null) { + synchronized (GameInstructionsGrpc.class) { + result = serviceDescriptor; + if (result == null) { + serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME) + .setSchemaDescriptor(new GameInstructionsFileDescriptorSupplier()) + .addMethod(getHandleInstructionsMethod()) + .build(); + } + } + } + return result; + } +} diff --git a/Interface/target/generated-sources/protobuf/grpc-java/OKAGG/GameValuesGrpc.java b/Interface/target/generated-sources/protobuf/grpc-java/OKAGG/GameValuesGrpc.java new file mode 100644 index 0000000000000000000000000000000000000000..a49efdf5084ad3d6b09f65807f7444598d1b1889 --- /dev/null +++ b/Interface/target/generated-sources/protobuf/grpc-java/OKAGG/GameValuesGrpc.java @@ -0,0 +1,295 @@ +package OKAGG; + +import static io.grpc.MethodDescriptor.generateFullMethodName; +import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall; +import static io.grpc.stub.ClientCalls.asyncClientStreamingCall; +import static io.grpc.stub.ClientCalls.asyncServerStreamingCall; +import static io.grpc.stub.ClientCalls.asyncUnaryCall; +import static io.grpc.stub.ClientCalls.blockingServerStreamingCall; +import static io.grpc.stub.ClientCalls.blockingUnaryCall; +import static io.grpc.stub.ClientCalls.futureUnaryCall; +import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall; +import static io.grpc.stub.ServerCalls.asyncClientStreamingCall; +import static io.grpc.stub.ServerCalls.asyncServerStreamingCall; +import static io.grpc.stub.ServerCalls.asyncUnaryCall; +import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall; +import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall; + +/** + * <pre> + *Used to retrieve infos for the server + * </pre> + */ +@javax.annotation.Generated( + value = "by gRPC proto compiler (version 1.20.0)", + comments = "Source: OutsideCommunication.proto") +public final class GameValuesGrpc { + + private GameValuesGrpc() {} + + public static final String SERVICE_NAME = "OKAGG.GameValues"; + + // Static method descriptors that strictly reflect the proto. + private static volatile io.grpc.MethodDescriptor<OKAGG.Empty, + OKAGG.GlobalValues> getGetGlobalValuesMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetGlobalValues", + requestType = OKAGG.Empty.class, + responseType = OKAGG.GlobalValues.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor<OKAGG.Empty, + OKAGG.GlobalValues> getGetGlobalValuesMethod() { + io.grpc.MethodDescriptor<OKAGG.Empty, OKAGG.GlobalValues> getGetGlobalValuesMethod; + if ((getGetGlobalValuesMethod = GameValuesGrpc.getGetGlobalValuesMethod) == null) { + synchronized (GameValuesGrpc.class) { + if ((getGetGlobalValuesMethod = GameValuesGrpc.getGetGlobalValuesMethod) == null) { + GameValuesGrpc.getGetGlobalValuesMethod = getGetGlobalValuesMethod = + io.grpc.MethodDescriptor.<OKAGG.Empty, OKAGG.GlobalValues>newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName( + "OKAGG.GameValues", "GetGlobalValues")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + OKAGG.Empty.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + OKAGG.GlobalValues.getDefaultInstance())) + .setSchemaDescriptor(new GameValuesMethodDescriptorSupplier("GetGlobalValues")) + .build(); + } + } + } + return getGetGlobalValuesMethod; + } + + /** + * Creates a new async stub that supports all call types for the service + */ + public static GameValuesStub newStub(io.grpc.Channel channel) { + return new GameValuesStub(channel); + } + + /** + * Creates a new blocking-style stub that supports unary and streaming output calls on the service + */ + public static GameValuesBlockingStub newBlockingStub( + io.grpc.Channel channel) { + return new GameValuesBlockingStub(channel); + } + + /** + * Creates a new ListenableFuture-style stub that supports unary calls on the service + */ + public static GameValuesFutureStub newFutureStub( + io.grpc.Channel channel) { + return new GameValuesFutureStub(channel); + } + + /** + * <pre> + *Used to retrieve infos for the server + * </pre> + */ + public static abstract class GameValuesImplBase implements io.grpc.BindableService { + + /** + */ + public void getGlobalValues(OKAGG.Empty request, + io.grpc.stub.StreamObserver<OKAGG.GlobalValues> responseObserver) { + asyncUnimplementedUnaryCall(getGetGlobalValuesMethod(), responseObserver); + } + + @java.lang.Override public final io.grpc.ServerServiceDefinition bindService() { + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()) + .addMethod( + getGetGlobalValuesMethod(), + asyncUnaryCall( + new MethodHandlers< + OKAGG.Empty, + OKAGG.GlobalValues>( + this, METHODID_GET_GLOBAL_VALUES))) + .build(); + } + } + + /** + * <pre> + *Used to retrieve infos for the server + * </pre> + */ + public static final class GameValuesStub extends io.grpc.stub.AbstractStub<GameValuesStub> { + private GameValuesStub(io.grpc.Channel channel) { + super(channel); + } + + private GameValuesStub(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected GameValuesStub build(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + return new GameValuesStub(channel, callOptions); + } + + /** + */ + public void getGlobalValues(OKAGG.Empty request, + io.grpc.stub.StreamObserver<OKAGG.GlobalValues> responseObserver) { + asyncUnaryCall( + getChannel().newCall(getGetGlobalValuesMethod(), getCallOptions()), request, responseObserver); + } + } + + /** + * <pre> + *Used to retrieve infos for the server + * </pre> + */ + public static final class GameValuesBlockingStub extends io.grpc.stub.AbstractStub<GameValuesBlockingStub> { + private GameValuesBlockingStub(io.grpc.Channel channel) { + super(channel); + } + + private GameValuesBlockingStub(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected GameValuesBlockingStub build(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + return new GameValuesBlockingStub(channel, callOptions); + } + + /** + */ + public OKAGG.GlobalValues getGlobalValues(OKAGG.Empty request) { + return blockingUnaryCall( + getChannel(), getGetGlobalValuesMethod(), getCallOptions(), request); + } + } + + /** + * <pre> + *Used to retrieve infos for the server + * </pre> + */ + public static final class GameValuesFutureStub extends io.grpc.stub.AbstractStub<GameValuesFutureStub> { + private GameValuesFutureStub(io.grpc.Channel channel) { + super(channel); + } + + private GameValuesFutureStub(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected GameValuesFutureStub build(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + return new GameValuesFutureStub(channel, callOptions); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture<OKAGG.GlobalValues> getGlobalValues( + OKAGG.Empty request) { + return futureUnaryCall( + getChannel().newCall(getGetGlobalValuesMethod(), getCallOptions()), request); + } + } + + private static final int METHODID_GET_GLOBAL_VALUES = 0; + + private static final class MethodHandlers<Req, Resp> implements + io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>, + io.grpc.stub.ServerCalls.ServerStreamingMethod<Req, Resp>, + io.grpc.stub.ServerCalls.ClientStreamingMethod<Req, Resp>, + io.grpc.stub.ServerCalls.BidiStreamingMethod<Req, Resp> { + private final GameValuesImplBase serviceImpl; + private final int methodId; + + MethodHandlers(GameValuesImplBase serviceImpl, int methodId) { + this.serviceImpl = serviceImpl; + this.methodId = methodId; + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) { + switch (methodId) { + case METHODID_GET_GLOBAL_VALUES: + serviceImpl.getGlobalValues((OKAGG.Empty) request, + (io.grpc.stub.StreamObserver<OKAGG.GlobalValues>) responseObserver); + break; + default: + throw new AssertionError(); + } + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public io.grpc.stub.StreamObserver<Req> invoke( + io.grpc.stub.StreamObserver<Resp> responseObserver) { + switch (methodId) { + default: + throw new AssertionError(); + } + } + } + + private static abstract class GameValuesBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier { + GameValuesBaseDescriptorSupplier() {} + + @java.lang.Override + public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() { + return OKAGG.OutsideCommunication.getDescriptor(); + } + + @java.lang.Override + public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() { + return getFileDescriptor().findServiceByName("GameValues"); + } + } + + private static final class GameValuesFileDescriptorSupplier + extends GameValuesBaseDescriptorSupplier { + GameValuesFileDescriptorSupplier() {} + } + + private static final class GameValuesMethodDescriptorSupplier + extends GameValuesBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoMethodDescriptorSupplier { + private final String methodName; + + GameValuesMethodDescriptorSupplier(String methodName) { + this.methodName = methodName; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() { + return getServiceDescriptor().findMethodByName(methodName); + } + } + + private static volatile io.grpc.ServiceDescriptor serviceDescriptor; + + public static io.grpc.ServiceDescriptor getServiceDescriptor() { + io.grpc.ServiceDescriptor result = serviceDescriptor; + if (result == null) { + synchronized (GameValuesGrpc.class) { + result = serviceDescriptor; + if (result == null) { + serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME) + .setSchemaDescriptor(new GameValuesFileDescriptorSupplier()) + .addMethod(getGetGlobalValuesMethod()) + .build(); + } + } + } + return result; + } +} diff --git a/Interface/target/generated-sources/protobuf/grpc-java/OKAGG/ServerManagmentGrpc.java b/Interface/target/generated-sources/protobuf/grpc-java/OKAGG/ServerManagmentGrpc.java new file mode 100644 index 0000000000000000000000000000000000000000..4cd6933c2941fe9f558faa978c9b1525eac6704b --- /dev/null +++ b/Interface/target/generated-sources/protobuf/grpc-java/OKAGG/ServerManagmentGrpc.java @@ -0,0 +1,295 @@ +package OKAGG; + +import static io.grpc.MethodDescriptor.generateFullMethodName; +import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall; +import static io.grpc.stub.ClientCalls.asyncClientStreamingCall; +import static io.grpc.stub.ClientCalls.asyncServerStreamingCall; +import static io.grpc.stub.ClientCalls.asyncUnaryCall; +import static io.grpc.stub.ClientCalls.blockingServerStreamingCall; +import static io.grpc.stub.ClientCalls.blockingUnaryCall; +import static io.grpc.stub.ClientCalls.futureUnaryCall; +import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall; +import static io.grpc.stub.ServerCalls.asyncClientStreamingCall; +import static io.grpc.stub.ServerCalls.asyncServerStreamingCall; +import static io.grpc.stub.ServerCalls.asyncUnaryCall; +import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall; +import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall; + +/** + * <pre> + *Used to manage the server + * </pre> + */ +@javax.annotation.Generated( + value = "by gRPC proto compiler (version 1.20.0)", + comments = "Source: OutsideCommunication.proto") +public final class ServerManagmentGrpc { + + private ServerManagmentGrpc() {} + + public static final String SERVICE_NAME = "OKAGG.ServerManagment"; + + // Static method descriptors that strictly reflect the proto. + private static volatile io.grpc.MethodDescriptor<OKAGG.Command, + OKAGG.Empty> getManageServerMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ManageServer", + requestType = OKAGG.Command.class, + responseType = OKAGG.Empty.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor<OKAGG.Command, + OKAGG.Empty> getManageServerMethod() { + io.grpc.MethodDescriptor<OKAGG.Command, OKAGG.Empty> getManageServerMethod; + if ((getManageServerMethod = ServerManagmentGrpc.getManageServerMethod) == null) { + synchronized (ServerManagmentGrpc.class) { + if ((getManageServerMethod = ServerManagmentGrpc.getManageServerMethod) == null) { + ServerManagmentGrpc.getManageServerMethod = getManageServerMethod = + io.grpc.MethodDescriptor.<OKAGG.Command, OKAGG.Empty>newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName( + "OKAGG.ServerManagment", "ManageServer")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + OKAGG.Command.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + OKAGG.Empty.getDefaultInstance())) + .setSchemaDescriptor(new ServerManagmentMethodDescriptorSupplier("ManageServer")) + .build(); + } + } + } + return getManageServerMethod; + } + + /** + * Creates a new async stub that supports all call types for the service + */ + public static ServerManagmentStub newStub(io.grpc.Channel channel) { + return new ServerManagmentStub(channel); + } + + /** + * Creates a new blocking-style stub that supports unary and streaming output calls on the service + */ + public static ServerManagmentBlockingStub newBlockingStub( + io.grpc.Channel channel) { + return new ServerManagmentBlockingStub(channel); + } + + /** + * Creates a new ListenableFuture-style stub that supports unary calls on the service + */ + public static ServerManagmentFutureStub newFutureStub( + io.grpc.Channel channel) { + return new ServerManagmentFutureStub(channel); + } + + /** + * <pre> + *Used to manage the server + * </pre> + */ + public static abstract class ServerManagmentImplBase implements io.grpc.BindableService { + + /** + */ + public void manageServer(OKAGG.Command request, + io.grpc.stub.StreamObserver<OKAGG.Empty> responseObserver) { + asyncUnimplementedUnaryCall(getManageServerMethod(), responseObserver); + } + + @java.lang.Override public final io.grpc.ServerServiceDefinition bindService() { + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()) + .addMethod( + getManageServerMethod(), + asyncUnaryCall( + new MethodHandlers< + OKAGG.Command, + OKAGG.Empty>( + this, METHODID_MANAGE_SERVER))) + .build(); + } + } + + /** + * <pre> + *Used to manage the server + * </pre> + */ + public static final class ServerManagmentStub extends io.grpc.stub.AbstractStub<ServerManagmentStub> { + private ServerManagmentStub(io.grpc.Channel channel) { + super(channel); + } + + private ServerManagmentStub(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected ServerManagmentStub build(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + return new ServerManagmentStub(channel, callOptions); + } + + /** + */ + public void manageServer(OKAGG.Command request, + io.grpc.stub.StreamObserver<OKAGG.Empty> responseObserver) { + asyncUnaryCall( + getChannel().newCall(getManageServerMethod(), getCallOptions()), request, responseObserver); + } + } + + /** + * <pre> + *Used to manage the server + * </pre> + */ + public static final class ServerManagmentBlockingStub extends io.grpc.stub.AbstractStub<ServerManagmentBlockingStub> { + private ServerManagmentBlockingStub(io.grpc.Channel channel) { + super(channel); + } + + private ServerManagmentBlockingStub(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected ServerManagmentBlockingStub build(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + return new ServerManagmentBlockingStub(channel, callOptions); + } + + /** + */ + public OKAGG.Empty manageServer(OKAGG.Command request) { + return blockingUnaryCall( + getChannel(), getManageServerMethod(), getCallOptions(), request); + } + } + + /** + * <pre> + *Used to manage the server + * </pre> + */ + public static final class ServerManagmentFutureStub extends io.grpc.stub.AbstractStub<ServerManagmentFutureStub> { + private ServerManagmentFutureStub(io.grpc.Channel channel) { + super(channel); + } + + private ServerManagmentFutureStub(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected ServerManagmentFutureStub build(io.grpc.Channel channel, + io.grpc.CallOptions callOptions) { + return new ServerManagmentFutureStub(channel, callOptions); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture<OKAGG.Empty> manageServer( + OKAGG.Command request) { + return futureUnaryCall( + getChannel().newCall(getManageServerMethod(), getCallOptions()), request); + } + } + + private static final int METHODID_MANAGE_SERVER = 0; + + private static final class MethodHandlers<Req, Resp> implements + io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>, + io.grpc.stub.ServerCalls.ServerStreamingMethod<Req, Resp>, + io.grpc.stub.ServerCalls.ClientStreamingMethod<Req, Resp>, + io.grpc.stub.ServerCalls.BidiStreamingMethod<Req, Resp> { + private final ServerManagmentImplBase serviceImpl; + private final int methodId; + + MethodHandlers(ServerManagmentImplBase serviceImpl, int methodId) { + this.serviceImpl = serviceImpl; + this.methodId = methodId; + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) { + switch (methodId) { + case METHODID_MANAGE_SERVER: + serviceImpl.manageServer((OKAGG.Command) request, + (io.grpc.stub.StreamObserver<OKAGG.Empty>) responseObserver); + break; + default: + throw new AssertionError(); + } + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public io.grpc.stub.StreamObserver<Req> invoke( + io.grpc.stub.StreamObserver<Resp> responseObserver) { + switch (methodId) { + default: + throw new AssertionError(); + } + } + } + + private static abstract class ServerManagmentBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier { + ServerManagmentBaseDescriptorSupplier() {} + + @java.lang.Override + public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() { + return OKAGG.OutsideCommunication.getDescriptor(); + } + + @java.lang.Override + public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() { + return getFileDescriptor().findServiceByName("ServerManagment"); + } + } + + private static final class ServerManagmentFileDescriptorSupplier + extends ServerManagmentBaseDescriptorSupplier { + ServerManagmentFileDescriptorSupplier() {} + } + + private static final class ServerManagmentMethodDescriptorSupplier + extends ServerManagmentBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoMethodDescriptorSupplier { + private final String methodName; + + ServerManagmentMethodDescriptorSupplier(String methodName) { + this.methodName = methodName; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() { + return getServiceDescriptor().findMethodByName(methodName); + } + } + + private static volatile io.grpc.ServiceDescriptor serviceDescriptor; + + public static io.grpc.ServiceDescriptor getServiceDescriptor() { + io.grpc.ServiceDescriptor result = serviceDescriptor; + if (result == null) { + synchronized (ServerManagmentGrpc.class) { + result = serviceDescriptor; + if (result == null) { + serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME) + .setSchemaDescriptor(new ServerManagmentFileDescriptorSupplier()) + .addMethod(getManageServerMethod()) + .build(); + } + } + } + return result; + } +} diff --git a/Interface/target/generated-sources/protobuf/java/OKAGG/Command.java b/Interface/target/generated-sources/protobuf/java/OKAGG/Command.java new file mode 100644 index 0000000000000000000000000000000000000000..df769527a48ddd26b2cd18110d5f2a08b031e520 --- /dev/null +++ b/Interface/target/generated-sources/protobuf/java/OKAGG/Command.java @@ -0,0 +1,708 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: OutsideCommunication.proto + +package OKAGG; + +/** + * Protobuf type {@code OKAGG.Command} + */ +public final class Command extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:OKAGG.Command) + CommandOrBuilder { +private static final long serialVersionUID = 0L; + // Use Command.newBuilder() to construct. + private Command(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Command() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Command( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + + commandId_ = input.readInt32(); + break; + } + case 18: { + OKAGG.Vector.Builder subBuilder = null; + if (vectVal_ != null) { + subBuilder = vectVal_.toBuilder(); + } + vectVal_ = input.readMessage(OKAGG.Vector.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(vectVal_); + vectVal_ = subBuilder.buildPartial(); + } + + break; + } + case 24: { + + botId_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_Command_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_Command_fieldAccessorTable + .ensureFieldAccessorsInitialized( + OKAGG.Command.class, OKAGG.Command.Builder.class); + } + + public static final int COMMANDID_FIELD_NUMBER = 1; + private int commandId_; + /** + * <code>int32 CommandId = 1;</code> + */ + public int getCommandId() { + return commandId_; + } + + public static final int VECTVAL_FIELD_NUMBER = 2; + private OKAGG.Vector vectVal_; + /** + * <code>.OKAGG.Vector vectVal = 2;</code> + */ + public boolean hasVectVal() { + return vectVal_ != null; + } + /** + * <code>.OKAGG.Vector vectVal = 2;</code> + */ + public OKAGG.Vector getVectVal() { + return vectVal_ == null ? OKAGG.Vector.getDefaultInstance() : vectVal_; + } + /** + * <code>.OKAGG.Vector vectVal = 2;</code> + */ + public OKAGG.VectorOrBuilder getVectValOrBuilder() { + return getVectVal(); + } + + public static final int BOTID_FIELD_NUMBER = 3; + private int botId_; + /** + * <code>int32 BotId = 3;</code> + */ + public int getBotId() { + return botId_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (commandId_ != 0) { + output.writeInt32(1, commandId_); + } + if (vectVal_ != null) { + output.writeMessage(2, getVectVal()); + } + if (botId_ != 0) { + output.writeInt32(3, botId_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (commandId_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, commandId_); + } + if (vectVal_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getVectVal()); + } + if (botId_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, botId_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof OKAGG.Command)) { + return super.equals(obj); + } + OKAGG.Command other = (OKAGG.Command) obj; + + if (getCommandId() + != other.getCommandId()) return false; + if (hasVectVal() != other.hasVectVal()) return false; + if (hasVectVal()) { + if (!getVectVal() + .equals(other.getVectVal())) return false; + } + if (getBotId() + != other.getBotId()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + COMMANDID_FIELD_NUMBER; + hash = (53 * hash) + getCommandId(); + if (hasVectVal()) { + hash = (37 * hash) + VECTVAL_FIELD_NUMBER; + hash = (53 * hash) + getVectVal().hashCode(); + } + hash = (37 * hash) + BOTID_FIELD_NUMBER; + hash = (53 * hash) + getBotId(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static OKAGG.Command parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.Command parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.Command parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.Command parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.Command parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.Command parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.Command parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static OKAGG.Command parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static OKAGG.Command parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static OKAGG.Command parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static OKAGG.Command parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static OKAGG.Command parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(OKAGG.Command prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code OKAGG.Command} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:OKAGG.Command) + OKAGG.CommandOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_Command_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_Command_fieldAccessorTable + .ensureFieldAccessorsInitialized( + OKAGG.Command.class, OKAGG.Command.Builder.class); + } + + // Construct using OKAGG.Command.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + commandId_ = 0; + + if (vectValBuilder_ == null) { + vectVal_ = null; + } else { + vectVal_ = null; + vectValBuilder_ = null; + } + botId_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_Command_descriptor; + } + + @java.lang.Override + public OKAGG.Command getDefaultInstanceForType() { + return OKAGG.Command.getDefaultInstance(); + } + + @java.lang.Override + public OKAGG.Command build() { + OKAGG.Command result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public OKAGG.Command buildPartial() { + OKAGG.Command result = new OKAGG.Command(this); + result.commandId_ = commandId_; + if (vectValBuilder_ == null) { + result.vectVal_ = vectVal_; + } else { + result.vectVal_ = vectValBuilder_.build(); + } + result.botId_ = botId_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof OKAGG.Command) { + return mergeFrom((OKAGG.Command)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(OKAGG.Command other) { + if (other == OKAGG.Command.getDefaultInstance()) return this; + if (other.getCommandId() != 0) { + setCommandId(other.getCommandId()); + } + if (other.hasVectVal()) { + mergeVectVal(other.getVectVal()); + } + if (other.getBotId() != 0) { + setBotId(other.getBotId()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + OKAGG.Command parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (OKAGG.Command) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int commandId_ ; + /** + * <code>int32 CommandId = 1;</code> + */ + public int getCommandId() { + return commandId_; + } + /** + * <code>int32 CommandId = 1;</code> + */ + public Builder setCommandId(int value) { + + commandId_ = value; + onChanged(); + return this; + } + /** + * <code>int32 CommandId = 1;</code> + */ + public Builder clearCommandId() { + + commandId_ = 0; + onChanged(); + return this; + } + + private OKAGG.Vector vectVal_; + private com.google.protobuf.SingleFieldBuilderV3< + OKAGG.Vector, OKAGG.Vector.Builder, OKAGG.VectorOrBuilder> vectValBuilder_; + /** + * <code>.OKAGG.Vector vectVal = 2;</code> + */ + public boolean hasVectVal() { + return vectValBuilder_ != null || vectVal_ != null; + } + /** + * <code>.OKAGG.Vector vectVal = 2;</code> + */ + public OKAGG.Vector getVectVal() { + if (vectValBuilder_ == null) { + return vectVal_ == null ? OKAGG.Vector.getDefaultInstance() : vectVal_; + } else { + return vectValBuilder_.getMessage(); + } + } + /** + * <code>.OKAGG.Vector vectVal = 2;</code> + */ + public Builder setVectVal(OKAGG.Vector value) { + if (vectValBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + vectVal_ = value; + onChanged(); + } else { + vectValBuilder_.setMessage(value); + } + + return this; + } + /** + * <code>.OKAGG.Vector vectVal = 2;</code> + */ + public Builder setVectVal( + OKAGG.Vector.Builder builderForValue) { + if (vectValBuilder_ == null) { + vectVal_ = builderForValue.build(); + onChanged(); + } else { + vectValBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * <code>.OKAGG.Vector vectVal = 2;</code> + */ + public Builder mergeVectVal(OKAGG.Vector value) { + if (vectValBuilder_ == null) { + if (vectVal_ != null) { + vectVal_ = + OKAGG.Vector.newBuilder(vectVal_).mergeFrom(value).buildPartial(); + } else { + vectVal_ = value; + } + onChanged(); + } else { + vectValBuilder_.mergeFrom(value); + } + + return this; + } + /** + * <code>.OKAGG.Vector vectVal = 2;</code> + */ + public Builder clearVectVal() { + if (vectValBuilder_ == null) { + vectVal_ = null; + onChanged(); + } else { + vectVal_ = null; + vectValBuilder_ = null; + } + + return this; + } + /** + * <code>.OKAGG.Vector vectVal = 2;</code> + */ + public OKAGG.Vector.Builder getVectValBuilder() { + + onChanged(); + return getVectValFieldBuilder().getBuilder(); + } + /** + * <code>.OKAGG.Vector vectVal = 2;</code> + */ + public OKAGG.VectorOrBuilder getVectValOrBuilder() { + if (vectValBuilder_ != null) { + return vectValBuilder_.getMessageOrBuilder(); + } else { + return vectVal_ == null ? + OKAGG.Vector.getDefaultInstance() : vectVal_; + } + } + /** + * <code>.OKAGG.Vector vectVal = 2;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + OKAGG.Vector, OKAGG.Vector.Builder, OKAGG.VectorOrBuilder> + getVectValFieldBuilder() { + if (vectValBuilder_ == null) { + vectValBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + OKAGG.Vector, OKAGG.Vector.Builder, OKAGG.VectorOrBuilder>( + getVectVal(), + getParentForChildren(), + isClean()); + vectVal_ = null; + } + return vectValBuilder_; + } + + private int botId_ ; + /** + * <code>int32 BotId = 3;</code> + */ + public int getBotId() { + return botId_; + } + /** + * <code>int32 BotId = 3;</code> + */ + public Builder setBotId(int value) { + + botId_ = value; + onChanged(); + return this; + } + /** + * <code>int32 BotId = 3;</code> + */ + public Builder clearBotId() { + + botId_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:OKAGG.Command) + } + + // @@protoc_insertion_point(class_scope:OKAGG.Command) + private static final OKAGG.Command DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new OKAGG.Command(); + } + + public static OKAGG.Command getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser<Command> + PARSER = new com.google.protobuf.AbstractParser<Command>() { + @java.lang.Override + public Command parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Command(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Command> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Command> getParserForType() { + return PARSER; + } + + @java.lang.Override + public OKAGG.Command getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/Interface/target/generated-sources/protobuf/java/OKAGG/CommandOrBuilder.java b/Interface/target/generated-sources/protobuf/java/OKAGG/CommandOrBuilder.java new file mode 100644 index 0000000000000000000000000000000000000000..b1b84bfaebd318ec815103fe93fb7282786a93d4 --- /dev/null +++ b/Interface/target/generated-sources/protobuf/java/OKAGG/CommandOrBuilder.java @@ -0,0 +1,32 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: OutsideCommunication.proto + +package OKAGG; + +public interface CommandOrBuilder extends + // @@protoc_insertion_point(interface_extends:OKAGG.Command) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>int32 CommandId = 1;</code> + */ + int getCommandId(); + + /** + * <code>.OKAGG.Vector vectVal = 2;</code> + */ + boolean hasVectVal(); + /** + * <code>.OKAGG.Vector vectVal = 2;</code> + */ + OKAGG.Vector getVectVal(); + /** + * <code>.OKAGG.Vector vectVal = 2;</code> + */ + OKAGG.VectorOrBuilder getVectValOrBuilder(); + + /** + * <code>int32 BotId = 3;</code> + */ + int getBotId(); +} diff --git a/Interface/target/generated-sources/protobuf/java/OKAGG/CommandV2.java b/Interface/target/generated-sources/protobuf/java/OKAGG/CommandV2.java new file mode 100644 index 0000000000000000000000000000000000000000..94cce2be88ae558c2851d507c7765b6c1c6086c2 --- /dev/null +++ b/Interface/target/generated-sources/protobuf/java/OKAGG/CommandV2.java @@ -0,0 +1,1369 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: OutsideCommunication.proto + +package OKAGG; + +/** + * <pre> + *Should contains all the necessary to use all the APIŝ functions + * </pre> + * + * Protobuf type {@code OKAGG.CommandV2} + */ +public final class CommandV2 extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:OKAGG.CommandV2) + CommandV2OrBuilder { +private static final long serialVersionUID = 0L; + // Use CommandV2.newBuilder() to construct. + private CommandV2(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private CommandV2() { + intVal_ = emptyIntList(); + vectVal_ = java.util.Collections.emptyList(); + strVal_ = com.google.protobuf.LazyStringArrayList.EMPTY; + boolVal_ = emptyBooleanList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private CommandV2( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + intVal_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + intVal_.addInt(input.readInt32()); + break; + } + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { + intVal_ = newIntList(); + mutable_bitField0_ |= 0x00000001; + } + while (input.getBytesUntilLimit() > 0) { + intVal_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + case 18: { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + vectVal_ = new java.util.ArrayList<OKAGG.Vector>(); + mutable_bitField0_ |= 0x00000002; + } + vectVal_.add( + input.readMessage(OKAGG.Vector.parser(), extensionRegistry)); + break; + } + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000004) != 0)) { + strVal_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000004; + } + strVal_.add(s); + break; + } + case 32: { + if (!((mutable_bitField0_ & 0x00000008) != 0)) { + boolVal_ = newBooleanList(); + mutable_bitField0_ |= 0x00000008; + } + boolVal_.addBoolean(input.readBool()); + break; + } + case 34: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if (!((mutable_bitField0_ & 0x00000008) != 0) && input.getBytesUntilLimit() > 0) { + boolVal_ = newBooleanList(); + mutable_bitField0_ |= 0x00000008; + } + while (input.getBytesUntilLimit() > 0) { + boolVal_.addBoolean(input.readBool()); + } + input.popLimit(limit); + break; + } + case 40: { + + commandId_ = input.readInt32(); + break; + } + case 48: { + + botId_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + intVal_.makeImmutable(); // C + } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + vectVal_ = java.util.Collections.unmodifiableList(vectVal_); + } + if (((mutable_bitField0_ & 0x00000004) != 0)) { + strVal_ = strVal_.getUnmodifiableView(); + } + if (((mutable_bitField0_ & 0x00000008) != 0)) { + boolVal_.makeImmutable(); // C + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_CommandV2_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_CommandV2_fieldAccessorTable + .ensureFieldAccessorsInitialized( + OKAGG.CommandV2.class, OKAGG.CommandV2.Builder.class); + } + + private int bitField0_; + public static final int INTVAL_FIELD_NUMBER = 1; + private com.google.protobuf.Internal.IntList intVal_; + /** + * <code>repeated int32 intVal = 1;</code> + */ + public java.util.List<java.lang.Integer> + getIntValList() { + return intVal_; + } + /** + * <code>repeated int32 intVal = 1;</code> + */ + public int getIntValCount() { + return intVal_.size(); + } + /** + * <code>repeated int32 intVal = 1;</code> + */ + public int getIntVal(int index) { + return intVal_.getInt(index); + } + private int intValMemoizedSerializedSize = -1; + + public static final int VECTVAL_FIELD_NUMBER = 2; + private java.util.List<OKAGG.Vector> vectVal_; + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public java.util.List<OKAGG.Vector> getVectValList() { + return vectVal_; + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public java.util.List<? extends OKAGG.VectorOrBuilder> + getVectValOrBuilderList() { + return vectVal_; + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public int getVectValCount() { + return vectVal_.size(); + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public OKAGG.Vector getVectVal(int index) { + return vectVal_.get(index); + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public OKAGG.VectorOrBuilder getVectValOrBuilder( + int index) { + return vectVal_.get(index); + } + + public static final int STRVAL_FIELD_NUMBER = 3; + private com.google.protobuf.LazyStringList strVal_; + /** + * <code>repeated string strVal = 3;</code> + */ + public com.google.protobuf.ProtocolStringList + getStrValList() { + return strVal_; + } + /** + * <code>repeated string strVal = 3;</code> + */ + public int getStrValCount() { + return strVal_.size(); + } + /** + * <code>repeated string strVal = 3;</code> + */ + public java.lang.String getStrVal(int index) { + return strVal_.get(index); + } + /** + * <code>repeated string strVal = 3;</code> + */ + public com.google.protobuf.ByteString + getStrValBytes(int index) { + return strVal_.getByteString(index); + } + + public static final int BOOLVAL_FIELD_NUMBER = 4; + private com.google.protobuf.Internal.BooleanList boolVal_; + /** + * <code>repeated bool boolVal = 4;</code> + */ + public java.util.List<java.lang.Boolean> + getBoolValList() { + return boolVal_; + } + /** + * <code>repeated bool boolVal = 4;</code> + */ + public int getBoolValCount() { + return boolVal_.size(); + } + /** + * <code>repeated bool boolVal = 4;</code> + */ + public boolean getBoolVal(int index) { + return boolVal_.getBoolean(index); + } + private int boolValMemoizedSerializedSize = -1; + + public static final int COMMANDID_FIELD_NUMBER = 5; + private int commandId_; + /** + * <code>int32 CommandId = 5;</code> + */ + public int getCommandId() { + return commandId_; + } + + public static final int BOTID_FIELD_NUMBER = 6; + private int botId_; + /** + * <code>int32 BotId = 6;</code> + */ + public int getBotId() { + return botId_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (getIntValList().size() > 0) { + output.writeUInt32NoTag(10); + output.writeUInt32NoTag(intValMemoizedSerializedSize); + } + for (int i = 0; i < intVal_.size(); i++) { + output.writeInt32NoTag(intVal_.getInt(i)); + } + for (int i = 0; i < vectVal_.size(); i++) { + output.writeMessage(2, vectVal_.get(i)); + } + for (int i = 0; i < strVal_.size(); i++) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, strVal_.getRaw(i)); + } + if (getBoolValList().size() > 0) { + output.writeUInt32NoTag(34); + output.writeUInt32NoTag(boolValMemoizedSerializedSize); + } + for (int i = 0; i < boolVal_.size(); i++) { + output.writeBoolNoTag(boolVal_.getBoolean(i)); + } + if (commandId_ != 0) { + output.writeInt32(5, commandId_); + } + if (botId_ != 0) { + output.writeInt32(6, botId_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + { + int dataSize = 0; + for (int i = 0; i < intVal_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(intVal_.getInt(i)); + } + size += dataSize; + if (!getIntValList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + intValMemoizedSerializedSize = dataSize; + } + for (int i = 0; i < vectVal_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, vectVal_.get(i)); + } + { + int dataSize = 0; + for (int i = 0; i < strVal_.size(); i++) { + dataSize += computeStringSizeNoTag(strVal_.getRaw(i)); + } + size += dataSize; + size += 1 * getStrValList().size(); + } + { + int dataSize = 0; + dataSize = 1 * getBoolValList().size(); + size += dataSize; + if (!getBoolValList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + boolValMemoizedSerializedSize = dataSize; + } + if (commandId_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(5, commandId_); + } + if (botId_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(6, botId_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof OKAGG.CommandV2)) { + return super.equals(obj); + } + OKAGG.CommandV2 other = (OKAGG.CommandV2) obj; + + if (!getIntValList() + .equals(other.getIntValList())) return false; + if (!getVectValList() + .equals(other.getVectValList())) return false; + if (!getStrValList() + .equals(other.getStrValList())) return false; + if (!getBoolValList() + .equals(other.getBoolValList())) return false; + if (getCommandId() + != other.getCommandId()) return false; + if (getBotId() + != other.getBotId()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getIntValCount() > 0) { + hash = (37 * hash) + INTVAL_FIELD_NUMBER; + hash = (53 * hash) + getIntValList().hashCode(); + } + if (getVectValCount() > 0) { + hash = (37 * hash) + VECTVAL_FIELD_NUMBER; + hash = (53 * hash) + getVectValList().hashCode(); + } + if (getStrValCount() > 0) { + hash = (37 * hash) + STRVAL_FIELD_NUMBER; + hash = (53 * hash) + getStrValList().hashCode(); + } + if (getBoolValCount() > 0) { + hash = (37 * hash) + BOOLVAL_FIELD_NUMBER; + hash = (53 * hash) + getBoolValList().hashCode(); + } + hash = (37 * hash) + COMMANDID_FIELD_NUMBER; + hash = (53 * hash) + getCommandId(); + hash = (37 * hash) + BOTID_FIELD_NUMBER; + hash = (53 * hash) + getBotId(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static OKAGG.CommandV2 parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.CommandV2 parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.CommandV2 parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.CommandV2 parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.CommandV2 parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.CommandV2 parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.CommandV2 parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static OKAGG.CommandV2 parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static OKAGG.CommandV2 parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static OKAGG.CommandV2 parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static OKAGG.CommandV2 parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static OKAGG.CommandV2 parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(OKAGG.CommandV2 prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * <pre> + *Should contains all the necessary to use all the APIŝ functions + * </pre> + * + * Protobuf type {@code OKAGG.CommandV2} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:OKAGG.CommandV2) + OKAGG.CommandV2OrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_CommandV2_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_CommandV2_fieldAccessorTable + .ensureFieldAccessorsInitialized( + OKAGG.CommandV2.class, OKAGG.CommandV2.Builder.class); + } + + // Construct using OKAGG.CommandV2.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getVectValFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + intVal_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + if (vectValBuilder_ == null) { + vectVal_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + } else { + vectValBuilder_.clear(); + } + strVal_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000004); + boolVal_ = emptyBooleanList(); + bitField0_ = (bitField0_ & ~0x00000008); + commandId_ = 0; + + botId_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_CommandV2_descriptor; + } + + @java.lang.Override + public OKAGG.CommandV2 getDefaultInstanceForType() { + return OKAGG.CommandV2.getDefaultInstance(); + } + + @java.lang.Override + public OKAGG.CommandV2 build() { + OKAGG.CommandV2 result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public OKAGG.CommandV2 buildPartial() { + OKAGG.CommandV2 result = new OKAGG.CommandV2(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((bitField0_ & 0x00000001) != 0)) { + intVal_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.intVal_ = intVal_; + if (vectValBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + vectVal_ = java.util.Collections.unmodifiableList(vectVal_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.vectVal_ = vectVal_; + } else { + result.vectVal_ = vectValBuilder_.build(); + } + if (((bitField0_ & 0x00000004) != 0)) { + strVal_ = strVal_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.strVal_ = strVal_; + if (((bitField0_ & 0x00000008) != 0)) { + boolVal_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000008); + } + result.boolVal_ = boolVal_; + result.commandId_ = commandId_; + result.botId_ = botId_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof OKAGG.CommandV2) { + return mergeFrom((OKAGG.CommandV2)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(OKAGG.CommandV2 other) { + if (other == OKAGG.CommandV2.getDefaultInstance()) return this; + if (!other.intVal_.isEmpty()) { + if (intVal_.isEmpty()) { + intVal_ = other.intVal_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureIntValIsMutable(); + intVal_.addAll(other.intVal_); + } + onChanged(); + } + if (vectValBuilder_ == null) { + if (!other.vectVal_.isEmpty()) { + if (vectVal_.isEmpty()) { + vectVal_ = other.vectVal_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureVectValIsMutable(); + vectVal_.addAll(other.vectVal_); + } + onChanged(); + } + } else { + if (!other.vectVal_.isEmpty()) { + if (vectValBuilder_.isEmpty()) { + vectValBuilder_.dispose(); + vectValBuilder_ = null; + vectVal_ = other.vectVal_; + bitField0_ = (bitField0_ & ~0x00000002); + vectValBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getVectValFieldBuilder() : null; + } else { + vectValBuilder_.addAllMessages(other.vectVal_); + } + } + } + if (!other.strVal_.isEmpty()) { + if (strVal_.isEmpty()) { + strVal_ = other.strVal_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureStrValIsMutable(); + strVal_.addAll(other.strVal_); + } + onChanged(); + } + if (!other.boolVal_.isEmpty()) { + if (boolVal_.isEmpty()) { + boolVal_ = other.boolVal_; + bitField0_ = (bitField0_ & ~0x00000008); + } else { + ensureBoolValIsMutable(); + boolVal_.addAll(other.boolVal_); + } + onChanged(); + } + if (other.getCommandId() != 0) { + setCommandId(other.getCommandId()); + } + if (other.getBotId() != 0) { + setBotId(other.getBotId()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + OKAGG.CommandV2 parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (OKAGG.CommandV2) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private com.google.protobuf.Internal.IntList intVal_ = emptyIntList(); + private void ensureIntValIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + intVal_ = mutableCopy(intVal_); + bitField0_ |= 0x00000001; + } + } + /** + * <code>repeated int32 intVal = 1;</code> + */ + public java.util.List<java.lang.Integer> + getIntValList() { + return ((bitField0_ & 0x00000001) != 0) ? + java.util.Collections.unmodifiableList(intVal_) : intVal_; + } + /** + * <code>repeated int32 intVal = 1;</code> + */ + public int getIntValCount() { + return intVal_.size(); + } + /** + * <code>repeated int32 intVal = 1;</code> + */ + public int getIntVal(int index) { + return intVal_.getInt(index); + } + /** + * <code>repeated int32 intVal = 1;</code> + */ + public Builder setIntVal( + int index, int value) { + ensureIntValIsMutable(); + intVal_.setInt(index, value); + onChanged(); + return this; + } + /** + * <code>repeated int32 intVal = 1;</code> + */ + public Builder addIntVal(int value) { + ensureIntValIsMutable(); + intVal_.addInt(value); + onChanged(); + return this; + } + /** + * <code>repeated int32 intVal = 1;</code> + */ + public Builder addAllIntVal( + java.lang.Iterable<? extends java.lang.Integer> values) { + ensureIntValIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, intVal_); + onChanged(); + return this; + } + /** + * <code>repeated int32 intVal = 1;</code> + */ + public Builder clearIntVal() { + intVal_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + private java.util.List<OKAGG.Vector> vectVal_ = + java.util.Collections.emptyList(); + private void ensureVectValIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + vectVal_ = new java.util.ArrayList<OKAGG.Vector>(vectVal_); + bitField0_ |= 0x00000002; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + OKAGG.Vector, OKAGG.Vector.Builder, OKAGG.VectorOrBuilder> vectValBuilder_; + + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public java.util.List<OKAGG.Vector> getVectValList() { + if (vectValBuilder_ == null) { + return java.util.Collections.unmodifiableList(vectVal_); + } else { + return vectValBuilder_.getMessageList(); + } + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public int getVectValCount() { + if (vectValBuilder_ == null) { + return vectVal_.size(); + } else { + return vectValBuilder_.getCount(); + } + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public OKAGG.Vector getVectVal(int index) { + if (vectValBuilder_ == null) { + return vectVal_.get(index); + } else { + return vectValBuilder_.getMessage(index); + } + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public Builder setVectVal( + int index, OKAGG.Vector value) { + if (vectValBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureVectValIsMutable(); + vectVal_.set(index, value); + onChanged(); + } else { + vectValBuilder_.setMessage(index, value); + } + return this; + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public Builder setVectVal( + int index, OKAGG.Vector.Builder builderForValue) { + if (vectValBuilder_ == null) { + ensureVectValIsMutable(); + vectVal_.set(index, builderForValue.build()); + onChanged(); + } else { + vectValBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public Builder addVectVal(OKAGG.Vector value) { + if (vectValBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureVectValIsMutable(); + vectVal_.add(value); + onChanged(); + } else { + vectValBuilder_.addMessage(value); + } + return this; + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public Builder addVectVal( + int index, OKAGG.Vector value) { + if (vectValBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureVectValIsMutable(); + vectVal_.add(index, value); + onChanged(); + } else { + vectValBuilder_.addMessage(index, value); + } + return this; + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public Builder addVectVal( + OKAGG.Vector.Builder builderForValue) { + if (vectValBuilder_ == null) { + ensureVectValIsMutable(); + vectVal_.add(builderForValue.build()); + onChanged(); + } else { + vectValBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public Builder addVectVal( + int index, OKAGG.Vector.Builder builderForValue) { + if (vectValBuilder_ == null) { + ensureVectValIsMutable(); + vectVal_.add(index, builderForValue.build()); + onChanged(); + } else { + vectValBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public Builder addAllVectVal( + java.lang.Iterable<? extends OKAGG.Vector> values) { + if (vectValBuilder_ == null) { + ensureVectValIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, vectVal_); + onChanged(); + } else { + vectValBuilder_.addAllMessages(values); + } + return this; + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public Builder clearVectVal() { + if (vectValBuilder_ == null) { + vectVal_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + vectValBuilder_.clear(); + } + return this; + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public Builder removeVectVal(int index) { + if (vectValBuilder_ == null) { + ensureVectValIsMutable(); + vectVal_.remove(index); + onChanged(); + } else { + vectValBuilder_.remove(index); + } + return this; + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public OKAGG.Vector.Builder getVectValBuilder( + int index) { + return getVectValFieldBuilder().getBuilder(index); + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public OKAGG.VectorOrBuilder getVectValOrBuilder( + int index) { + if (vectValBuilder_ == null) { + return vectVal_.get(index); } else { + return vectValBuilder_.getMessageOrBuilder(index); + } + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public java.util.List<? extends OKAGG.VectorOrBuilder> + getVectValOrBuilderList() { + if (vectValBuilder_ != null) { + return vectValBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(vectVal_); + } + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public OKAGG.Vector.Builder addVectValBuilder() { + return getVectValFieldBuilder().addBuilder( + OKAGG.Vector.getDefaultInstance()); + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public OKAGG.Vector.Builder addVectValBuilder( + int index) { + return getVectValFieldBuilder().addBuilder( + index, OKAGG.Vector.getDefaultInstance()); + } + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + public java.util.List<OKAGG.Vector.Builder> + getVectValBuilderList() { + return getVectValFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + OKAGG.Vector, OKAGG.Vector.Builder, OKAGG.VectorOrBuilder> + getVectValFieldBuilder() { + if (vectValBuilder_ == null) { + vectValBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + OKAGG.Vector, OKAGG.Vector.Builder, OKAGG.VectorOrBuilder>( + vectVal_, + ((bitField0_ & 0x00000002) != 0), + getParentForChildren(), + isClean()); + vectVal_ = null; + } + return vectValBuilder_; + } + + private com.google.protobuf.LazyStringList strVal_ = com.google.protobuf.LazyStringArrayList.EMPTY; + private void ensureStrValIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + strVal_ = new com.google.protobuf.LazyStringArrayList(strVal_); + bitField0_ |= 0x00000004; + } + } + /** + * <code>repeated string strVal = 3;</code> + */ + public com.google.protobuf.ProtocolStringList + getStrValList() { + return strVal_.getUnmodifiableView(); + } + /** + * <code>repeated string strVal = 3;</code> + */ + public int getStrValCount() { + return strVal_.size(); + } + /** + * <code>repeated string strVal = 3;</code> + */ + public java.lang.String getStrVal(int index) { + return strVal_.get(index); + } + /** + * <code>repeated string strVal = 3;</code> + */ + public com.google.protobuf.ByteString + getStrValBytes(int index) { + return strVal_.getByteString(index); + } + /** + * <code>repeated string strVal = 3;</code> + */ + public Builder setStrVal( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureStrValIsMutable(); + strVal_.set(index, value); + onChanged(); + return this; + } + /** + * <code>repeated string strVal = 3;</code> + */ + public Builder addStrVal( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureStrValIsMutable(); + strVal_.add(value); + onChanged(); + return this; + } + /** + * <code>repeated string strVal = 3;</code> + */ + public Builder addAllStrVal( + java.lang.Iterable<java.lang.String> values) { + ensureStrValIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, strVal_); + onChanged(); + return this; + } + /** + * <code>repeated string strVal = 3;</code> + */ + public Builder clearStrVal() { + strVal_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + * <code>repeated string strVal = 3;</code> + */ + public Builder addStrValBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureStrValIsMutable(); + strVal_.add(value); + onChanged(); + return this; + } + + private com.google.protobuf.Internal.BooleanList boolVal_ = emptyBooleanList(); + private void ensureBoolValIsMutable() { + if (!((bitField0_ & 0x00000008) != 0)) { + boolVal_ = mutableCopy(boolVal_); + bitField0_ |= 0x00000008; + } + } + /** + * <code>repeated bool boolVal = 4;</code> + */ + public java.util.List<java.lang.Boolean> + getBoolValList() { + return ((bitField0_ & 0x00000008) != 0) ? + java.util.Collections.unmodifiableList(boolVal_) : boolVal_; + } + /** + * <code>repeated bool boolVal = 4;</code> + */ + public int getBoolValCount() { + return boolVal_.size(); + } + /** + * <code>repeated bool boolVal = 4;</code> + */ + public boolean getBoolVal(int index) { + return boolVal_.getBoolean(index); + } + /** + * <code>repeated bool boolVal = 4;</code> + */ + public Builder setBoolVal( + int index, boolean value) { + ensureBoolValIsMutable(); + boolVal_.setBoolean(index, value); + onChanged(); + return this; + } + /** + * <code>repeated bool boolVal = 4;</code> + */ + public Builder addBoolVal(boolean value) { + ensureBoolValIsMutable(); + boolVal_.addBoolean(value); + onChanged(); + return this; + } + /** + * <code>repeated bool boolVal = 4;</code> + */ + public Builder addAllBoolVal( + java.lang.Iterable<? extends java.lang.Boolean> values) { + ensureBoolValIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, boolVal_); + onChanged(); + return this; + } + /** + * <code>repeated bool boolVal = 4;</code> + */ + public Builder clearBoolVal() { + boolVal_ = emptyBooleanList(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + private int commandId_ ; + /** + * <code>int32 CommandId = 5;</code> + */ + public int getCommandId() { + return commandId_; + } + /** + * <code>int32 CommandId = 5;</code> + */ + public Builder setCommandId(int value) { + + commandId_ = value; + onChanged(); + return this; + } + /** + * <code>int32 CommandId = 5;</code> + */ + public Builder clearCommandId() { + + commandId_ = 0; + onChanged(); + return this; + } + + private int botId_ ; + /** + * <code>int32 BotId = 6;</code> + */ + public int getBotId() { + return botId_; + } + /** + * <code>int32 BotId = 6;</code> + */ + public Builder setBotId(int value) { + + botId_ = value; + onChanged(); + return this; + } + /** + * <code>int32 BotId = 6;</code> + */ + public Builder clearBotId() { + + botId_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:OKAGG.CommandV2) + } + + // @@protoc_insertion_point(class_scope:OKAGG.CommandV2) + private static final OKAGG.CommandV2 DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new OKAGG.CommandV2(); + } + + public static OKAGG.CommandV2 getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser<CommandV2> + PARSER = new com.google.protobuf.AbstractParser<CommandV2>() { + @java.lang.Override + public CommandV2 parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new CommandV2(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<CommandV2> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<CommandV2> getParserForType() { + return PARSER; + } + + @java.lang.Override + public OKAGG.CommandV2 getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/Interface/target/generated-sources/protobuf/java/OKAGG/CommandV2OrBuilder.java b/Interface/target/generated-sources/protobuf/java/OKAGG/CommandV2OrBuilder.java new file mode 100644 index 0000000000000000000000000000000000000000..e5311b479400e6b89a3dddf462249201ae3c8942 --- /dev/null +++ b/Interface/target/generated-sources/protobuf/java/OKAGG/CommandV2OrBuilder.java @@ -0,0 +1,88 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: OutsideCommunication.proto + +package OKAGG; + +public interface CommandV2OrBuilder extends + // @@protoc_insertion_point(interface_extends:OKAGG.CommandV2) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>repeated int32 intVal = 1;</code> + */ + java.util.List<java.lang.Integer> getIntValList(); + /** + * <code>repeated int32 intVal = 1;</code> + */ + int getIntValCount(); + /** + * <code>repeated int32 intVal = 1;</code> + */ + int getIntVal(int index); + + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + java.util.List<OKAGG.Vector> + getVectValList(); + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + OKAGG.Vector getVectVal(int index); + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + int getVectValCount(); + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + java.util.List<? extends OKAGG.VectorOrBuilder> + getVectValOrBuilderList(); + /** + * <code>repeated .OKAGG.Vector vectVal = 2;</code> + */ + OKAGG.VectorOrBuilder getVectValOrBuilder( + int index); + + /** + * <code>repeated string strVal = 3;</code> + */ + java.util.List<java.lang.String> + getStrValList(); + /** + * <code>repeated string strVal = 3;</code> + */ + int getStrValCount(); + /** + * <code>repeated string strVal = 3;</code> + */ + java.lang.String getStrVal(int index); + /** + * <code>repeated string strVal = 3;</code> + */ + com.google.protobuf.ByteString + getStrValBytes(int index); + + /** + * <code>repeated bool boolVal = 4;</code> + */ + java.util.List<java.lang.Boolean> getBoolValList(); + /** + * <code>repeated bool boolVal = 4;</code> + */ + int getBoolValCount(); + /** + * <code>repeated bool boolVal = 4;</code> + */ + boolean getBoolVal(int index); + + /** + * <code>int32 CommandId = 5;</code> + */ + int getCommandId(); + + /** + * <code>int32 BotId = 6;</code> + */ + int getBotId(); +} diff --git a/Interface/target/generated-sources/protobuf/java/OKAGG/Empty.java b/Interface/target/generated-sources/protobuf/java/OKAGG/Empty.java new file mode 100644 index 0000000000000000000000000000000000000000..4c5e805cf606515c86cd2c23eb33d35fb5ce46e3 --- /dev/null +++ b/Interface/target/generated-sources/protobuf/java/OKAGG/Empty.java @@ -0,0 +1,412 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: OutsideCommunication.proto + +package OKAGG; + +/** + * Protobuf type {@code OKAGG.Empty} + */ +public final class Empty extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:OKAGG.Empty) + EmptyOrBuilder { +private static final long serialVersionUID = 0L; + // Use Empty.newBuilder() to construct. + private Empty(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Empty() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Empty( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_Empty_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_Empty_fieldAccessorTable + .ensureFieldAccessorsInitialized( + OKAGG.Empty.class, OKAGG.Empty.Builder.class); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof OKAGG.Empty)) { + return super.equals(obj); + } + OKAGG.Empty other = (OKAGG.Empty) obj; + + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static OKAGG.Empty parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.Empty parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.Empty parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.Empty parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.Empty parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.Empty parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.Empty parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static OKAGG.Empty parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static OKAGG.Empty parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static OKAGG.Empty parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static OKAGG.Empty parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static OKAGG.Empty parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(OKAGG.Empty prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code OKAGG.Empty} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:OKAGG.Empty) + OKAGG.EmptyOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_Empty_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_Empty_fieldAccessorTable + .ensureFieldAccessorsInitialized( + OKAGG.Empty.class, OKAGG.Empty.Builder.class); + } + + // Construct using OKAGG.Empty.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_Empty_descriptor; + } + + @java.lang.Override + public OKAGG.Empty getDefaultInstanceForType() { + return OKAGG.Empty.getDefaultInstance(); + } + + @java.lang.Override + public OKAGG.Empty build() { + OKAGG.Empty result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public OKAGG.Empty buildPartial() { + OKAGG.Empty result = new OKAGG.Empty(this); + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof OKAGG.Empty) { + return mergeFrom((OKAGG.Empty)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(OKAGG.Empty other) { + if (other == OKAGG.Empty.getDefaultInstance()) return this; + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + OKAGG.Empty parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (OKAGG.Empty) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:OKAGG.Empty) + } + + // @@protoc_insertion_point(class_scope:OKAGG.Empty) + private static final OKAGG.Empty DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new OKAGG.Empty(); + } + + public static OKAGG.Empty getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser<Empty> + PARSER = new com.google.protobuf.AbstractParser<Empty>() { + @java.lang.Override + public Empty parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Empty(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Empty> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Empty> getParserForType() { + return PARSER; + } + + @java.lang.Override + public OKAGG.Empty getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/Interface/target/generated-sources/protobuf/java/OKAGG/EmptyOrBuilder.java b/Interface/target/generated-sources/protobuf/java/OKAGG/EmptyOrBuilder.java new file mode 100644 index 0000000000000000000000000000000000000000..8cc481745b7cf5e1878202a78f1744bd10409f9e --- /dev/null +++ b/Interface/target/generated-sources/protobuf/java/OKAGG/EmptyOrBuilder.java @@ -0,0 +1,9 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: OutsideCommunication.proto + +package OKAGG; + +public interface EmptyOrBuilder extends + // @@protoc_insertion_point(interface_extends:OKAGG.Empty) + com.google.protobuf.MessageOrBuilder { +} diff --git a/Interface/target/generated-sources/protobuf/java/OKAGG/GlobalValues.java b/Interface/target/generated-sources/protobuf/java/OKAGG/GlobalValues.java new file mode 100644 index 0000000000000000000000000000000000000000..7facddfd22bd53838ae7511dec0d47929856a901 --- /dev/null +++ b/Interface/target/generated-sources/protobuf/java/OKAGG/GlobalValues.java @@ -0,0 +1,470 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: OutsideCommunication.proto + +package OKAGG; + +/** + * Protobuf type {@code OKAGG.GlobalValues} + */ +public final class GlobalValues extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:OKAGG.GlobalValues) + GlobalValuesOrBuilder { +private static final long serialVersionUID = 0L; + // Use GlobalValues.newBuilder() to construct. + private GlobalValues(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private GlobalValues() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private GlobalValues( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + + gameState_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_GlobalValues_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_GlobalValues_fieldAccessorTable + .ensureFieldAccessorsInitialized( + OKAGG.GlobalValues.class, OKAGG.GlobalValues.Builder.class); + } + + public static final int GAMESTATE_FIELD_NUMBER = 1; + private int gameState_; + /** + * <code>int32 gameState = 1;</code> + */ + public int getGameState() { + return gameState_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (gameState_ != 0) { + output.writeInt32(1, gameState_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (gameState_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, gameState_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof OKAGG.GlobalValues)) { + return super.equals(obj); + } + OKAGG.GlobalValues other = (OKAGG.GlobalValues) obj; + + if (getGameState() + != other.getGameState()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + GAMESTATE_FIELD_NUMBER; + hash = (53 * hash) + getGameState(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static OKAGG.GlobalValues parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.GlobalValues parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.GlobalValues parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.GlobalValues parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.GlobalValues parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.GlobalValues parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.GlobalValues parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static OKAGG.GlobalValues parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static OKAGG.GlobalValues parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static OKAGG.GlobalValues parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static OKAGG.GlobalValues parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static OKAGG.GlobalValues parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(OKAGG.GlobalValues prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code OKAGG.GlobalValues} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:OKAGG.GlobalValues) + OKAGG.GlobalValuesOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_GlobalValues_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_GlobalValues_fieldAccessorTable + .ensureFieldAccessorsInitialized( + OKAGG.GlobalValues.class, OKAGG.GlobalValues.Builder.class); + } + + // Construct using OKAGG.GlobalValues.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + gameState_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_GlobalValues_descriptor; + } + + @java.lang.Override + public OKAGG.GlobalValues getDefaultInstanceForType() { + return OKAGG.GlobalValues.getDefaultInstance(); + } + + @java.lang.Override + public OKAGG.GlobalValues build() { + OKAGG.GlobalValues result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public OKAGG.GlobalValues buildPartial() { + OKAGG.GlobalValues result = new OKAGG.GlobalValues(this); + result.gameState_ = gameState_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof OKAGG.GlobalValues) { + return mergeFrom((OKAGG.GlobalValues)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(OKAGG.GlobalValues other) { + if (other == OKAGG.GlobalValues.getDefaultInstance()) return this; + if (other.getGameState() != 0) { + setGameState(other.getGameState()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + OKAGG.GlobalValues parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (OKAGG.GlobalValues) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int gameState_ ; + /** + * <code>int32 gameState = 1;</code> + */ + public int getGameState() { + return gameState_; + } + /** + * <code>int32 gameState = 1;</code> + */ + public Builder setGameState(int value) { + + gameState_ = value; + onChanged(); + return this; + } + /** + * <code>int32 gameState = 1;</code> + */ + public Builder clearGameState() { + + gameState_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:OKAGG.GlobalValues) + } + + // @@protoc_insertion_point(class_scope:OKAGG.GlobalValues) + private static final OKAGG.GlobalValues DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new OKAGG.GlobalValues(); + } + + public static OKAGG.GlobalValues getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser<GlobalValues> + PARSER = new com.google.protobuf.AbstractParser<GlobalValues>() { + @java.lang.Override + public GlobalValues parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new GlobalValues(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<GlobalValues> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<GlobalValues> getParserForType() { + return PARSER; + } + + @java.lang.Override + public OKAGG.GlobalValues getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/Interface/target/generated-sources/protobuf/java/OKAGG/GlobalValuesOrBuilder.java b/Interface/target/generated-sources/protobuf/java/OKAGG/GlobalValuesOrBuilder.java new file mode 100644 index 0000000000000000000000000000000000000000..6f65a62171a5b9b34d6f792474722ec7c4f7c54c --- /dev/null +++ b/Interface/target/generated-sources/protobuf/java/OKAGG/GlobalValuesOrBuilder.java @@ -0,0 +1,14 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: OutsideCommunication.proto + +package OKAGG; + +public interface GlobalValuesOrBuilder extends + // @@protoc_insertion_point(interface_extends:OKAGG.GlobalValues) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>int32 gameState = 1;</code> + */ + int getGameState(); +} diff --git a/Interface/target/generated-sources/protobuf/java/OKAGG/InstrucionReturnValue.java b/Interface/target/generated-sources/protobuf/java/OKAGG/InstrucionReturnValue.java new file mode 100644 index 0000000000000000000000000000000000000000..f81a519674238cb6b3c6f6360f4516af99c10552 --- /dev/null +++ b/Interface/target/generated-sources/protobuf/java/OKAGG/InstrucionReturnValue.java @@ -0,0 +1,949 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: OutsideCommunication.proto + +package OKAGG; + +/** + * Protobuf type {@code OKAGG.InstrucionReturnValue} + */ +public final class InstrucionReturnValue extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:OKAGG.InstrucionReturnValue) + InstrucionReturnValueOrBuilder { +private static final long serialVersionUID = 0L; + // Use InstrucionReturnValue.newBuilder() to construct. + private InstrucionReturnValue(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private InstrucionReturnValue() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private InstrucionReturnValue( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + + intVal_ = input.readInt32(); + break; + } + case 21: { + + floatVal_ = input.readFloat(); + break; + } + case 26: { + OKAGG.Vector.Builder subBuilder = null; + if (vectVal_ != null) { + subBuilder = vectVal_.toBuilder(); + } + vectVal_ = input.readMessage(OKAGG.Vector.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(vectVal_); + vectVal_ = subBuilder.buildPartial(); + } + + break; + } + case 32: { + + boolVal_ = input.readBool(); + break; + } + case 42: { + OKAGG.OkaggIaCommMessage.Builder subBuilder = null; + if (iaComm_ != null) { + subBuilder = iaComm_.toBuilder(); + } + iaComm_ = input.readMessage(OKAGG.OkaggIaCommMessage.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(iaComm_); + iaComm_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_InstrucionReturnValue_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_InstrucionReturnValue_fieldAccessorTable + .ensureFieldAccessorsInitialized( + OKAGG.InstrucionReturnValue.class, OKAGG.InstrucionReturnValue.Builder.class); + } + + public static final int INTVAL_FIELD_NUMBER = 1; + private int intVal_; + /** + * <code>int32 intVal = 1;</code> + */ + public int getIntVal() { + return intVal_; + } + + public static final int FLOATVAL_FIELD_NUMBER = 2; + private float floatVal_; + /** + * <code>float floatVal = 2;</code> + */ + public float getFloatVal() { + return floatVal_; + } + + public static final int VECTVAL_FIELD_NUMBER = 3; + private OKAGG.Vector vectVal_; + /** + * <code>.OKAGG.Vector vectVal = 3;</code> + */ + public boolean hasVectVal() { + return vectVal_ != null; + } + /** + * <code>.OKAGG.Vector vectVal = 3;</code> + */ + public OKAGG.Vector getVectVal() { + return vectVal_ == null ? OKAGG.Vector.getDefaultInstance() : vectVal_; + } + /** + * <code>.OKAGG.Vector vectVal = 3;</code> + */ + public OKAGG.VectorOrBuilder getVectValOrBuilder() { + return getVectVal(); + } + + public static final int BOOLVAL_FIELD_NUMBER = 4; + private boolean boolVal_; + /** + * <code>bool boolVal = 4;</code> + */ + public boolean getBoolVal() { + return boolVal_; + } + + public static final int IACOMM_FIELD_NUMBER = 5; + private OKAGG.OkaggIaCommMessage iaComm_; + /** + * <code>.OKAGG.OkaggIaCommMessage iaComm = 5;</code> + */ + public boolean hasIaComm() { + return iaComm_ != null; + } + /** + * <code>.OKAGG.OkaggIaCommMessage iaComm = 5;</code> + */ + public OKAGG.OkaggIaCommMessage getIaComm() { + return iaComm_ == null ? OKAGG.OkaggIaCommMessage.getDefaultInstance() : iaComm_; + } + /** + * <code>.OKAGG.OkaggIaCommMessage iaComm = 5;</code> + */ + public OKAGG.OkaggIaCommMessageOrBuilder getIaCommOrBuilder() { + return getIaComm(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (intVal_ != 0) { + output.writeInt32(1, intVal_); + } + if (floatVal_ != 0F) { + output.writeFloat(2, floatVal_); + } + if (vectVal_ != null) { + output.writeMessage(3, getVectVal()); + } + if (boolVal_ != false) { + output.writeBool(4, boolVal_); + } + if (iaComm_ != null) { + output.writeMessage(5, getIaComm()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (intVal_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, intVal_); + } + if (floatVal_ != 0F) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(2, floatVal_); + } + if (vectVal_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getVectVal()); + } + if (boolVal_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(4, boolVal_); + } + if (iaComm_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getIaComm()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof OKAGG.InstrucionReturnValue)) { + return super.equals(obj); + } + OKAGG.InstrucionReturnValue other = (OKAGG.InstrucionReturnValue) obj; + + if (getIntVal() + != other.getIntVal()) return false; + if (java.lang.Float.floatToIntBits(getFloatVal()) + != java.lang.Float.floatToIntBits( + other.getFloatVal())) return false; + if (hasVectVal() != other.hasVectVal()) return false; + if (hasVectVal()) { + if (!getVectVal() + .equals(other.getVectVal())) return false; + } + if (getBoolVal() + != other.getBoolVal()) return false; + if (hasIaComm() != other.hasIaComm()) return false; + if (hasIaComm()) { + if (!getIaComm() + .equals(other.getIaComm())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + INTVAL_FIELD_NUMBER; + hash = (53 * hash) + getIntVal(); + hash = (37 * hash) + FLOATVAL_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getFloatVal()); + if (hasVectVal()) { + hash = (37 * hash) + VECTVAL_FIELD_NUMBER; + hash = (53 * hash) + getVectVal().hashCode(); + } + hash = (37 * hash) + BOOLVAL_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getBoolVal()); + if (hasIaComm()) { + hash = (37 * hash) + IACOMM_FIELD_NUMBER; + hash = (53 * hash) + getIaComm().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static OKAGG.InstrucionReturnValue parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.InstrucionReturnValue parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.InstrucionReturnValue parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.InstrucionReturnValue parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.InstrucionReturnValue parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.InstrucionReturnValue parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.InstrucionReturnValue parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static OKAGG.InstrucionReturnValue parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static OKAGG.InstrucionReturnValue parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static OKAGG.InstrucionReturnValue parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static OKAGG.InstrucionReturnValue parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static OKAGG.InstrucionReturnValue parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(OKAGG.InstrucionReturnValue prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code OKAGG.InstrucionReturnValue} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:OKAGG.InstrucionReturnValue) + OKAGG.InstrucionReturnValueOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_InstrucionReturnValue_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_InstrucionReturnValue_fieldAccessorTable + .ensureFieldAccessorsInitialized( + OKAGG.InstrucionReturnValue.class, OKAGG.InstrucionReturnValue.Builder.class); + } + + // Construct using OKAGG.InstrucionReturnValue.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + intVal_ = 0; + + floatVal_ = 0F; + + if (vectValBuilder_ == null) { + vectVal_ = null; + } else { + vectVal_ = null; + vectValBuilder_ = null; + } + boolVal_ = false; + + if (iaCommBuilder_ == null) { + iaComm_ = null; + } else { + iaComm_ = null; + iaCommBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_InstrucionReturnValue_descriptor; + } + + @java.lang.Override + public OKAGG.InstrucionReturnValue getDefaultInstanceForType() { + return OKAGG.InstrucionReturnValue.getDefaultInstance(); + } + + @java.lang.Override + public OKAGG.InstrucionReturnValue build() { + OKAGG.InstrucionReturnValue result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public OKAGG.InstrucionReturnValue buildPartial() { + OKAGG.InstrucionReturnValue result = new OKAGG.InstrucionReturnValue(this); + result.intVal_ = intVal_; + result.floatVal_ = floatVal_; + if (vectValBuilder_ == null) { + result.vectVal_ = vectVal_; + } else { + result.vectVal_ = vectValBuilder_.build(); + } + result.boolVal_ = boolVal_; + if (iaCommBuilder_ == null) { + result.iaComm_ = iaComm_; + } else { + result.iaComm_ = iaCommBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof OKAGG.InstrucionReturnValue) { + return mergeFrom((OKAGG.InstrucionReturnValue)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(OKAGG.InstrucionReturnValue other) { + if (other == OKAGG.InstrucionReturnValue.getDefaultInstance()) return this; + if (other.getIntVal() != 0) { + setIntVal(other.getIntVal()); + } + if (other.getFloatVal() != 0F) { + setFloatVal(other.getFloatVal()); + } + if (other.hasVectVal()) { + mergeVectVal(other.getVectVal()); + } + if (other.getBoolVal() != false) { + setBoolVal(other.getBoolVal()); + } + if (other.hasIaComm()) { + mergeIaComm(other.getIaComm()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + OKAGG.InstrucionReturnValue parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (OKAGG.InstrucionReturnValue) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int intVal_ ; + /** + * <code>int32 intVal = 1;</code> + */ + public int getIntVal() { + return intVal_; + } + /** + * <code>int32 intVal = 1;</code> + */ + public Builder setIntVal(int value) { + + intVal_ = value; + onChanged(); + return this; + } + /** + * <code>int32 intVal = 1;</code> + */ + public Builder clearIntVal() { + + intVal_ = 0; + onChanged(); + return this; + } + + private float floatVal_ ; + /** + * <code>float floatVal = 2;</code> + */ + public float getFloatVal() { + return floatVal_; + } + /** + * <code>float floatVal = 2;</code> + */ + public Builder setFloatVal(float value) { + + floatVal_ = value; + onChanged(); + return this; + } + /** + * <code>float floatVal = 2;</code> + */ + public Builder clearFloatVal() { + + floatVal_ = 0F; + onChanged(); + return this; + } + + private OKAGG.Vector vectVal_; + private com.google.protobuf.SingleFieldBuilderV3< + OKAGG.Vector, OKAGG.Vector.Builder, OKAGG.VectorOrBuilder> vectValBuilder_; + /** + * <code>.OKAGG.Vector vectVal = 3;</code> + */ + public boolean hasVectVal() { + return vectValBuilder_ != null || vectVal_ != null; + } + /** + * <code>.OKAGG.Vector vectVal = 3;</code> + */ + public OKAGG.Vector getVectVal() { + if (vectValBuilder_ == null) { + return vectVal_ == null ? OKAGG.Vector.getDefaultInstance() : vectVal_; + } else { + return vectValBuilder_.getMessage(); + } + } + /** + * <code>.OKAGG.Vector vectVal = 3;</code> + */ + public Builder setVectVal(OKAGG.Vector value) { + if (vectValBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + vectVal_ = value; + onChanged(); + } else { + vectValBuilder_.setMessage(value); + } + + return this; + } + /** + * <code>.OKAGG.Vector vectVal = 3;</code> + */ + public Builder setVectVal( + OKAGG.Vector.Builder builderForValue) { + if (vectValBuilder_ == null) { + vectVal_ = builderForValue.build(); + onChanged(); + } else { + vectValBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * <code>.OKAGG.Vector vectVal = 3;</code> + */ + public Builder mergeVectVal(OKAGG.Vector value) { + if (vectValBuilder_ == null) { + if (vectVal_ != null) { + vectVal_ = + OKAGG.Vector.newBuilder(vectVal_).mergeFrom(value).buildPartial(); + } else { + vectVal_ = value; + } + onChanged(); + } else { + vectValBuilder_.mergeFrom(value); + } + + return this; + } + /** + * <code>.OKAGG.Vector vectVal = 3;</code> + */ + public Builder clearVectVal() { + if (vectValBuilder_ == null) { + vectVal_ = null; + onChanged(); + } else { + vectVal_ = null; + vectValBuilder_ = null; + } + + return this; + } + /** + * <code>.OKAGG.Vector vectVal = 3;</code> + */ + public OKAGG.Vector.Builder getVectValBuilder() { + + onChanged(); + return getVectValFieldBuilder().getBuilder(); + } + /** + * <code>.OKAGG.Vector vectVal = 3;</code> + */ + public OKAGG.VectorOrBuilder getVectValOrBuilder() { + if (vectValBuilder_ != null) { + return vectValBuilder_.getMessageOrBuilder(); + } else { + return vectVal_ == null ? + OKAGG.Vector.getDefaultInstance() : vectVal_; + } + } + /** + * <code>.OKAGG.Vector vectVal = 3;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + OKAGG.Vector, OKAGG.Vector.Builder, OKAGG.VectorOrBuilder> + getVectValFieldBuilder() { + if (vectValBuilder_ == null) { + vectValBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + OKAGG.Vector, OKAGG.Vector.Builder, OKAGG.VectorOrBuilder>( + getVectVal(), + getParentForChildren(), + isClean()); + vectVal_ = null; + } + return vectValBuilder_; + } + + private boolean boolVal_ ; + /** + * <code>bool boolVal = 4;</code> + */ + public boolean getBoolVal() { + return boolVal_; + } + /** + * <code>bool boolVal = 4;</code> + */ + public Builder setBoolVal(boolean value) { + + boolVal_ = value; + onChanged(); + return this; + } + /** + * <code>bool boolVal = 4;</code> + */ + public Builder clearBoolVal() { + + boolVal_ = false; + onChanged(); + return this; + } + + private OKAGG.OkaggIaCommMessage iaComm_; + private com.google.protobuf.SingleFieldBuilderV3< + OKAGG.OkaggIaCommMessage, OKAGG.OkaggIaCommMessage.Builder, OKAGG.OkaggIaCommMessageOrBuilder> iaCommBuilder_; + /** + * <code>.OKAGG.OkaggIaCommMessage iaComm = 5;</code> + */ + public boolean hasIaComm() { + return iaCommBuilder_ != null || iaComm_ != null; + } + /** + * <code>.OKAGG.OkaggIaCommMessage iaComm = 5;</code> + */ + public OKAGG.OkaggIaCommMessage getIaComm() { + if (iaCommBuilder_ == null) { + return iaComm_ == null ? OKAGG.OkaggIaCommMessage.getDefaultInstance() : iaComm_; + } else { + return iaCommBuilder_.getMessage(); + } + } + /** + * <code>.OKAGG.OkaggIaCommMessage iaComm = 5;</code> + */ + public Builder setIaComm(OKAGG.OkaggIaCommMessage value) { + if (iaCommBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + iaComm_ = value; + onChanged(); + } else { + iaCommBuilder_.setMessage(value); + } + + return this; + } + /** + * <code>.OKAGG.OkaggIaCommMessage iaComm = 5;</code> + */ + public Builder setIaComm( + OKAGG.OkaggIaCommMessage.Builder builderForValue) { + if (iaCommBuilder_ == null) { + iaComm_ = builderForValue.build(); + onChanged(); + } else { + iaCommBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * <code>.OKAGG.OkaggIaCommMessage iaComm = 5;</code> + */ + public Builder mergeIaComm(OKAGG.OkaggIaCommMessage value) { + if (iaCommBuilder_ == null) { + if (iaComm_ != null) { + iaComm_ = + OKAGG.OkaggIaCommMessage.newBuilder(iaComm_).mergeFrom(value).buildPartial(); + } else { + iaComm_ = value; + } + onChanged(); + } else { + iaCommBuilder_.mergeFrom(value); + } + + return this; + } + /** + * <code>.OKAGG.OkaggIaCommMessage iaComm = 5;</code> + */ + public Builder clearIaComm() { + if (iaCommBuilder_ == null) { + iaComm_ = null; + onChanged(); + } else { + iaComm_ = null; + iaCommBuilder_ = null; + } + + return this; + } + /** + * <code>.OKAGG.OkaggIaCommMessage iaComm = 5;</code> + */ + public OKAGG.OkaggIaCommMessage.Builder getIaCommBuilder() { + + onChanged(); + return getIaCommFieldBuilder().getBuilder(); + } + /** + * <code>.OKAGG.OkaggIaCommMessage iaComm = 5;</code> + */ + public OKAGG.OkaggIaCommMessageOrBuilder getIaCommOrBuilder() { + if (iaCommBuilder_ != null) { + return iaCommBuilder_.getMessageOrBuilder(); + } else { + return iaComm_ == null ? + OKAGG.OkaggIaCommMessage.getDefaultInstance() : iaComm_; + } + } + /** + * <code>.OKAGG.OkaggIaCommMessage iaComm = 5;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + OKAGG.OkaggIaCommMessage, OKAGG.OkaggIaCommMessage.Builder, OKAGG.OkaggIaCommMessageOrBuilder> + getIaCommFieldBuilder() { + if (iaCommBuilder_ == null) { + iaCommBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + OKAGG.OkaggIaCommMessage, OKAGG.OkaggIaCommMessage.Builder, OKAGG.OkaggIaCommMessageOrBuilder>( + getIaComm(), + getParentForChildren(), + isClean()); + iaComm_ = null; + } + return iaCommBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:OKAGG.InstrucionReturnValue) + } + + // @@protoc_insertion_point(class_scope:OKAGG.InstrucionReturnValue) + private static final OKAGG.InstrucionReturnValue DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new OKAGG.InstrucionReturnValue(); + } + + public static OKAGG.InstrucionReturnValue getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser<InstrucionReturnValue> + PARSER = new com.google.protobuf.AbstractParser<InstrucionReturnValue>() { + @java.lang.Override + public InstrucionReturnValue parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new InstrucionReturnValue(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<InstrucionReturnValue> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<InstrucionReturnValue> getParserForType() { + return PARSER; + } + + @java.lang.Override + public OKAGG.InstrucionReturnValue getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/Interface/target/generated-sources/protobuf/java/OKAGG/InstrucionReturnValueOrBuilder.java b/Interface/target/generated-sources/protobuf/java/OKAGG/InstrucionReturnValueOrBuilder.java new file mode 100644 index 0000000000000000000000000000000000000000..e60ce815ff3f89085fa373728241b5136dab2534 --- /dev/null +++ b/Interface/target/generated-sources/protobuf/java/OKAGG/InstrucionReturnValueOrBuilder.java @@ -0,0 +1,50 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: OutsideCommunication.proto + +package OKAGG; + +public interface InstrucionReturnValueOrBuilder extends + // @@protoc_insertion_point(interface_extends:OKAGG.InstrucionReturnValue) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>int32 intVal = 1;</code> + */ + int getIntVal(); + + /** + * <code>float floatVal = 2;</code> + */ + float getFloatVal(); + + /** + * <code>.OKAGG.Vector vectVal = 3;</code> + */ + boolean hasVectVal(); + /** + * <code>.OKAGG.Vector vectVal = 3;</code> + */ + OKAGG.Vector getVectVal(); + /** + * <code>.OKAGG.Vector vectVal = 3;</code> + */ + OKAGG.VectorOrBuilder getVectValOrBuilder(); + + /** + * <code>bool boolVal = 4;</code> + */ + boolean getBoolVal(); + + /** + * <code>.OKAGG.OkaggIaCommMessage iaComm = 5;</code> + */ + boolean hasIaComm(); + /** + * <code>.OKAGG.OkaggIaCommMessage iaComm = 5;</code> + */ + OKAGG.OkaggIaCommMessage getIaComm(); + /** + * <code>.OKAGG.OkaggIaCommMessage iaComm = 5;</code> + */ + OKAGG.OkaggIaCommMessageOrBuilder getIaCommOrBuilder(); +} diff --git a/Interface/target/generated-sources/protobuf/java/OKAGG/OkaggIaCommMessage.java b/Interface/target/generated-sources/protobuf/java/OKAGG/OkaggIaCommMessage.java new file mode 100644 index 0000000000000000000000000000000000000000..c3fe9d2a132da1cd51a669960e25840e03e2b111 --- /dev/null +++ b/Interface/target/generated-sources/protobuf/java/OKAGG/OkaggIaCommMessage.java @@ -0,0 +1,822 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: OutsideCommunication.proto + +package OKAGG; + +/** + * Protobuf type {@code OKAGG.OkaggIaCommMessage} + */ +public final class OkaggIaCommMessage extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:OKAGG.OkaggIaCommMessage) + OkaggIaCommMessageOrBuilder { +private static final long serialVersionUID = 0L; + // Use OkaggIaCommMessage.newBuilder() to construct. + private OkaggIaCommMessage(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private OkaggIaCommMessage() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private OkaggIaCommMessage( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + OKAGG.Vector.Builder subBuilder = null; + if (loc_ != null) { + subBuilder = loc_.toBuilder(); + } + loc_ = input.readMessage(OKAGG.Vector.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(loc_); + loc_ = subBuilder.buildPartial(); + } + + break; + } + case 16: { + + health_ = input.readInt32(); + break; + } + case 24: { + + gold_ = input.readInt32(); + break; + } + case 32: { + + death_ = input.readInt32(); + break; + } + case 40: { + + gameState_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_OkaggIaCommMessage_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_OkaggIaCommMessage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + OKAGG.OkaggIaCommMessage.class, OKAGG.OkaggIaCommMessage.Builder.class); + } + + public static final int LOC_FIELD_NUMBER = 1; + private OKAGG.Vector loc_; + /** + * <code>.OKAGG.Vector loc = 1;</code> + */ + public boolean hasLoc() { + return loc_ != null; + } + /** + * <code>.OKAGG.Vector loc = 1;</code> + */ + public OKAGG.Vector getLoc() { + return loc_ == null ? OKAGG.Vector.getDefaultInstance() : loc_; + } + /** + * <code>.OKAGG.Vector loc = 1;</code> + */ + public OKAGG.VectorOrBuilder getLocOrBuilder() { + return getLoc(); + } + + public static final int HEALTH_FIELD_NUMBER = 2; + private int health_; + /** + * <code>int32 health = 2;</code> + */ + public int getHealth() { + return health_; + } + + public static final int GOLD_FIELD_NUMBER = 3; + private int gold_; + /** + * <code>int32 gold = 3;</code> + */ + public int getGold() { + return gold_; + } + + public static final int DEATH_FIELD_NUMBER = 4; + private int death_; + /** + * <code>int32 death = 4;</code> + */ + public int getDeath() { + return death_; + } + + public static final int GAMESTATE_FIELD_NUMBER = 5; + private int gameState_; + /** + * <code>int32 gameState = 5;</code> + */ + public int getGameState() { + return gameState_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (loc_ != null) { + output.writeMessage(1, getLoc()); + } + if (health_ != 0) { + output.writeInt32(2, health_); + } + if (gold_ != 0) { + output.writeInt32(3, gold_); + } + if (death_ != 0) { + output.writeInt32(4, death_); + } + if (gameState_ != 0) { + output.writeInt32(5, gameState_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (loc_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getLoc()); + } + if (health_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, health_); + } + if (gold_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, gold_); + } + if (death_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(4, death_); + } + if (gameState_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(5, gameState_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof OKAGG.OkaggIaCommMessage)) { + return super.equals(obj); + } + OKAGG.OkaggIaCommMessage other = (OKAGG.OkaggIaCommMessage) obj; + + if (hasLoc() != other.hasLoc()) return false; + if (hasLoc()) { + if (!getLoc() + .equals(other.getLoc())) return false; + } + if (getHealth() + != other.getHealth()) return false; + if (getGold() + != other.getGold()) return false; + if (getDeath() + != other.getDeath()) return false; + if (getGameState() + != other.getGameState()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasLoc()) { + hash = (37 * hash) + LOC_FIELD_NUMBER; + hash = (53 * hash) + getLoc().hashCode(); + } + hash = (37 * hash) + HEALTH_FIELD_NUMBER; + hash = (53 * hash) + getHealth(); + hash = (37 * hash) + GOLD_FIELD_NUMBER; + hash = (53 * hash) + getGold(); + hash = (37 * hash) + DEATH_FIELD_NUMBER; + hash = (53 * hash) + getDeath(); + hash = (37 * hash) + GAMESTATE_FIELD_NUMBER; + hash = (53 * hash) + getGameState(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static OKAGG.OkaggIaCommMessage parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.OkaggIaCommMessage parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.OkaggIaCommMessage parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.OkaggIaCommMessage parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.OkaggIaCommMessage parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.OkaggIaCommMessage parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.OkaggIaCommMessage parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static OKAGG.OkaggIaCommMessage parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static OKAGG.OkaggIaCommMessage parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static OKAGG.OkaggIaCommMessage parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static OKAGG.OkaggIaCommMessage parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static OKAGG.OkaggIaCommMessage parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(OKAGG.OkaggIaCommMessage prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code OKAGG.OkaggIaCommMessage} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:OKAGG.OkaggIaCommMessage) + OKAGG.OkaggIaCommMessageOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_OkaggIaCommMessage_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_OkaggIaCommMessage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + OKAGG.OkaggIaCommMessage.class, OKAGG.OkaggIaCommMessage.Builder.class); + } + + // Construct using OKAGG.OkaggIaCommMessage.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (locBuilder_ == null) { + loc_ = null; + } else { + loc_ = null; + locBuilder_ = null; + } + health_ = 0; + + gold_ = 0; + + death_ = 0; + + gameState_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_OkaggIaCommMessage_descriptor; + } + + @java.lang.Override + public OKAGG.OkaggIaCommMessage getDefaultInstanceForType() { + return OKAGG.OkaggIaCommMessage.getDefaultInstance(); + } + + @java.lang.Override + public OKAGG.OkaggIaCommMessage build() { + OKAGG.OkaggIaCommMessage result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public OKAGG.OkaggIaCommMessage buildPartial() { + OKAGG.OkaggIaCommMessage result = new OKAGG.OkaggIaCommMessage(this); + if (locBuilder_ == null) { + result.loc_ = loc_; + } else { + result.loc_ = locBuilder_.build(); + } + result.health_ = health_; + result.gold_ = gold_; + result.death_ = death_; + result.gameState_ = gameState_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof OKAGG.OkaggIaCommMessage) { + return mergeFrom((OKAGG.OkaggIaCommMessage)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(OKAGG.OkaggIaCommMessage other) { + if (other == OKAGG.OkaggIaCommMessage.getDefaultInstance()) return this; + if (other.hasLoc()) { + mergeLoc(other.getLoc()); + } + if (other.getHealth() != 0) { + setHealth(other.getHealth()); + } + if (other.getGold() != 0) { + setGold(other.getGold()); + } + if (other.getDeath() != 0) { + setDeath(other.getDeath()); + } + if (other.getGameState() != 0) { + setGameState(other.getGameState()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + OKAGG.OkaggIaCommMessage parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (OKAGG.OkaggIaCommMessage) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private OKAGG.Vector loc_; + private com.google.protobuf.SingleFieldBuilderV3< + OKAGG.Vector, OKAGG.Vector.Builder, OKAGG.VectorOrBuilder> locBuilder_; + /** + * <code>.OKAGG.Vector loc = 1;</code> + */ + public boolean hasLoc() { + return locBuilder_ != null || loc_ != null; + } + /** + * <code>.OKAGG.Vector loc = 1;</code> + */ + public OKAGG.Vector getLoc() { + if (locBuilder_ == null) { + return loc_ == null ? OKAGG.Vector.getDefaultInstance() : loc_; + } else { + return locBuilder_.getMessage(); + } + } + /** + * <code>.OKAGG.Vector loc = 1;</code> + */ + public Builder setLoc(OKAGG.Vector value) { + if (locBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + loc_ = value; + onChanged(); + } else { + locBuilder_.setMessage(value); + } + + return this; + } + /** + * <code>.OKAGG.Vector loc = 1;</code> + */ + public Builder setLoc( + OKAGG.Vector.Builder builderForValue) { + if (locBuilder_ == null) { + loc_ = builderForValue.build(); + onChanged(); + } else { + locBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * <code>.OKAGG.Vector loc = 1;</code> + */ + public Builder mergeLoc(OKAGG.Vector value) { + if (locBuilder_ == null) { + if (loc_ != null) { + loc_ = + OKAGG.Vector.newBuilder(loc_).mergeFrom(value).buildPartial(); + } else { + loc_ = value; + } + onChanged(); + } else { + locBuilder_.mergeFrom(value); + } + + return this; + } + /** + * <code>.OKAGG.Vector loc = 1;</code> + */ + public Builder clearLoc() { + if (locBuilder_ == null) { + loc_ = null; + onChanged(); + } else { + loc_ = null; + locBuilder_ = null; + } + + return this; + } + /** + * <code>.OKAGG.Vector loc = 1;</code> + */ + public OKAGG.Vector.Builder getLocBuilder() { + + onChanged(); + return getLocFieldBuilder().getBuilder(); + } + /** + * <code>.OKAGG.Vector loc = 1;</code> + */ + public OKAGG.VectorOrBuilder getLocOrBuilder() { + if (locBuilder_ != null) { + return locBuilder_.getMessageOrBuilder(); + } else { + return loc_ == null ? + OKAGG.Vector.getDefaultInstance() : loc_; + } + } + /** + * <code>.OKAGG.Vector loc = 1;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + OKAGG.Vector, OKAGG.Vector.Builder, OKAGG.VectorOrBuilder> + getLocFieldBuilder() { + if (locBuilder_ == null) { + locBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + OKAGG.Vector, OKAGG.Vector.Builder, OKAGG.VectorOrBuilder>( + getLoc(), + getParentForChildren(), + isClean()); + loc_ = null; + } + return locBuilder_; + } + + private int health_ ; + /** + * <code>int32 health = 2;</code> + */ + public int getHealth() { + return health_; + } + /** + * <code>int32 health = 2;</code> + */ + public Builder setHealth(int value) { + + health_ = value; + onChanged(); + return this; + } + /** + * <code>int32 health = 2;</code> + */ + public Builder clearHealth() { + + health_ = 0; + onChanged(); + return this; + } + + private int gold_ ; + /** + * <code>int32 gold = 3;</code> + */ + public int getGold() { + return gold_; + } + /** + * <code>int32 gold = 3;</code> + */ + public Builder setGold(int value) { + + gold_ = value; + onChanged(); + return this; + } + /** + * <code>int32 gold = 3;</code> + */ + public Builder clearGold() { + + gold_ = 0; + onChanged(); + return this; + } + + private int death_ ; + /** + * <code>int32 death = 4;</code> + */ + public int getDeath() { + return death_; + } + /** + * <code>int32 death = 4;</code> + */ + public Builder setDeath(int value) { + + death_ = value; + onChanged(); + return this; + } + /** + * <code>int32 death = 4;</code> + */ + public Builder clearDeath() { + + death_ = 0; + onChanged(); + return this; + } + + private int gameState_ ; + /** + * <code>int32 gameState = 5;</code> + */ + public int getGameState() { + return gameState_; + } + /** + * <code>int32 gameState = 5;</code> + */ + public Builder setGameState(int value) { + + gameState_ = value; + onChanged(); + return this; + } + /** + * <code>int32 gameState = 5;</code> + */ + public Builder clearGameState() { + + gameState_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:OKAGG.OkaggIaCommMessage) + } + + // @@protoc_insertion_point(class_scope:OKAGG.OkaggIaCommMessage) + private static final OKAGG.OkaggIaCommMessage DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new OKAGG.OkaggIaCommMessage(); + } + + public static OKAGG.OkaggIaCommMessage getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser<OkaggIaCommMessage> + PARSER = new com.google.protobuf.AbstractParser<OkaggIaCommMessage>() { + @java.lang.Override + public OkaggIaCommMessage parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new OkaggIaCommMessage(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<OkaggIaCommMessage> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<OkaggIaCommMessage> getParserForType() { + return PARSER; + } + + @java.lang.Override + public OKAGG.OkaggIaCommMessage getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/Interface/target/generated-sources/protobuf/java/OKAGG/OkaggIaCommMessageOrBuilder.java b/Interface/target/generated-sources/protobuf/java/OKAGG/OkaggIaCommMessageOrBuilder.java new file mode 100644 index 0000000000000000000000000000000000000000..14a75019e29d0e1f32209aab20166a10acead77e --- /dev/null +++ b/Interface/target/generated-sources/protobuf/java/OKAGG/OkaggIaCommMessageOrBuilder.java @@ -0,0 +1,42 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: OutsideCommunication.proto + +package OKAGG; + +public interface OkaggIaCommMessageOrBuilder extends + // @@protoc_insertion_point(interface_extends:OKAGG.OkaggIaCommMessage) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>.OKAGG.Vector loc = 1;</code> + */ + boolean hasLoc(); + /** + * <code>.OKAGG.Vector loc = 1;</code> + */ + OKAGG.Vector getLoc(); + /** + * <code>.OKAGG.Vector loc = 1;</code> + */ + OKAGG.VectorOrBuilder getLocOrBuilder(); + + /** + * <code>int32 health = 2;</code> + */ + int getHealth(); + + /** + * <code>int32 gold = 3;</code> + */ + int getGold(); + + /** + * <code>int32 death = 4;</code> + */ + int getDeath(); + + /** + * <code>int32 gameState = 5;</code> + */ + int getGameState(); +} diff --git a/Interface/target/generated-sources/protobuf/java/OKAGG/OutsideCommunication.java b/Interface/target/generated-sources/protobuf/java/OKAGG/OutsideCommunication.java new file mode 100644 index 0000000000000000000000000000000000000000..f1756a2829d86db70f172ad5150e9bf71fdbac5c --- /dev/null +++ b/Interface/target/generated-sources/protobuf/java/OKAGG/OutsideCommunication.java @@ -0,0 +1,140 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: OutsideCommunication.proto + +package OKAGG; + +public final class OutsideCommunication { + private OutsideCommunication() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistryLite registry) { + } + + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions( + (com.google.protobuf.ExtensionRegistryLite) registry); + } + static final com.google.protobuf.Descriptors.Descriptor + internal_static_OKAGG_Vector_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_OKAGG_Vector_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_OKAGG_Command_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_OKAGG_Command_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_OKAGG_OkaggIaCommMessage_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_OKAGG_OkaggIaCommMessage_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_OKAGG_CommandV2_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_OKAGG_CommandV2_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_OKAGG_InstrucionReturnValue_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_OKAGG_InstrucionReturnValue_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_OKAGG_GlobalValues_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_OKAGG_GlobalValues_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_OKAGG_Empty_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_OKAGG_Empty_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\032OutsideCommunication.proto\022\005OKAGG\")\n\006V" + + "ector\022\t\n\001x\030\001 \001(\002\022\t\n\001y\030\002 \001(\002\022\t\n\001z\030\003 \001(\002\"K" + + "\n\007Command\022\021\n\tCommandId\030\001 \001(\005\022\036\n\007vectVal\030" + + "\002 \001(\0132\r.OKAGG.Vector\022\r\n\005BotId\030\003 \001(\005\"p\n\022O" + + "kaggIaCommMessage\022\032\n\003loc\030\001 \001(\0132\r.OKAGG.V" + + "ector\022\016\n\006health\030\002 \001(\005\022\014\n\004gold\030\003 \001(\005\022\r\n\005d" + + "eath\030\004 \001(\005\022\021\n\tgameState\030\005 \001(\005\"~\n\tCommand" + + "V2\022\016\n\006intVal\030\001 \003(\005\022\036\n\007vectVal\030\002 \003(\0132\r.OK" + + "AGG.Vector\022\016\n\006strVal\030\003 \003(\t\022\017\n\007boolVal\030\004 " + + "\003(\010\022\021\n\tCommandId\030\005 \001(\005\022\r\n\005BotId\030\006 \001(\005\"\225\001" + + "\n\025InstrucionReturnValue\022\016\n\006intVal\030\001 \001(\005\022" + + "\020\n\010floatVal\030\002 \001(\002\022\036\n\007vectVal\030\003 \001(\0132\r.OKA" + + "GG.Vector\022\017\n\007boolVal\030\004 \001(\010\022)\n\006iaComm\030\005 \001" + + "(\0132\031.OKAGG.OkaggIaCommMessage\"!\n\014GlobalV" + + "alues\022\021\n\tgameState\030\001 \001(\005\"\007\n\005Empty2V\n\020Gam" + + "eInstructions\022B\n\022HandleInstructions\022\016.OK" + + "AGG.Command\032\034.OKAGG.InstrucionReturnValu" + + "e2B\n\nGameValues\0224\n\017GetGlobalValues\022\014.OKA" + + "GG.Empty\032\023.OKAGG.GlobalValues2?\n\017ServerM" + + "anagment\022,\n\014ManageServer\022\016.OKAGG.Command" + + "\032\014.OKAGG.EmptyB\002P\001b\006proto3" + }; + com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = + new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { + public com.google.protobuf.ExtensionRegistry assignDescriptors( + com.google.protobuf.Descriptors.FileDescriptor root) { + descriptor = root; + return null; + } + }; + com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }, assigner); + internal_static_OKAGG_Vector_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_OKAGG_Vector_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_OKAGG_Vector_descriptor, + new java.lang.String[] { "X", "Y", "Z", }); + internal_static_OKAGG_Command_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_OKAGG_Command_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_OKAGG_Command_descriptor, + new java.lang.String[] { "CommandId", "VectVal", "BotId", }); + internal_static_OKAGG_OkaggIaCommMessage_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_OKAGG_OkaggIaCommMessage_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_OKAGG_OkaggIaCommMessage_descriptor, + new java.lang.String[] { "Loc", "Health", "Gold", "Death", "GameState", }); + internal_static_OKAGG_CommandV2_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_OKAGG_CommandV2_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_OKAGG_CommandV2_descriptor, + new java.lang.String[] { "IntVal", "VectVal", "StrVal", "BoolVal", "CommandId", "BotId", }); + internal_static_OKAGG_InstrucionReturnValue_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_OKAGG_InstrucionReturnValue_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_OKAGG_InstrucionReturnValue_descriptor, + new java.lang.String[] { "IntVal", "FloatVal", "VectVal", "BoolVal", "IaComm", }); + internal_static_OKAGG_GlobalValues_descriptor = + getDescriptor().getMessageTypes().get(5); + internal_static_OKAGG_GlobalValues_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_OKAGG_GlobalValues_descriptor, + new java.lang.String[] { "GameState", }); + internal_static_OKAGG_Empty_descriptor = + getDescriptor().getMessageTypes().get(6); + internal_static_OKAGG_Empty_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_OKAGG_Empty_descriptor, + new java.lang.String[] { }); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/Interface/target/generated-sources/protobuf/java/OKAGG/Vector.java b/Interface/target/generated-sources/protobuf/java/OKAGG/Vector.java new file mode 100644 index 0000000000000000000000000000000000000000..01c854a5b683f6822fde3c8c6ea1d638d6b522e0 --- /dev/null +++ b/Interface/target/generated-sources/protobuf/java/OKAGG/Vector.java @@ -0,0 +1,590 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: OutsideCommunication.proto + +package OKAGG; + +/** + * Protobuf type {@code OKAGG.Vector} + */ +public final class Vector extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:OKAGG.Vector) + VectorOrBuilder { +private static final long serialVersionUID = 0L; + // Use Vector.newBuilder() to construct. + private Vector(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Vector() { + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Vector( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 13: { + + x_ = input.readFloat(); + break; + } + case 21: { + + y_ = input.readFloat(); + break; + } + case 29: { + + z_ = input.readFloat(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_Vector_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_Vector_fieldAccessorTable + .ensureFieldAccessorsInitialized( + OKAGG.Vector.class, OKAGG.Vector.Builder.class); + } + + public static final int X_FIELD_NUMBER = 1; + private float x_; + /** + * <code>float x = 1;</code> + */ + public float getX() { + return x_; + } + + public static final int Y_FIELD_NUMBER = 2; + private float y_; + /** + * <code>float y = 2;</code> + */ + public float getY() { + return y_; + } + + public static final int Z_FIELD_NUMBER = 3; + private float z_; + /** + * <code>float z = 3;</code> + */ + public float getZ() { + return z_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (x_ != 0F) { + output.writeFloat(1, x_); + } + if (y_ != 0F) { + output.writeFloat(2, y_); + } + if (z_ != 0F) { + output.writeFloat(3, z_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (x_ != 0F) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(1, x_); + } + if (y_ != 0F) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(2, y_); + } + if (z_ != 0F) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(3, z_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof OKAGG.Vector)) { + return super.equals(obj); + } + OKAGG.Vector other = (OKAGG.Vector) obj; + + if (java.lang.Float.floatToIntBits(getX()) + != java.lang.Float.floatToIntBits( + other.getX())) return false; + if (java.lang.Float.floatToIntBits(getY()) + != java.lang.Float.floatToIntBits( + other.getY())) return false; + if (java.lang.Float.floatToIntBits(getZ()) + != java.lang.Float.floatToIntBits( + other.getZ())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + X_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getX()); + hash = (37 * hash) + Y_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getY()); + hash = (37 * hash) + Z_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getZ()); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static OKAGG.Vector parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.Vector parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.Vector parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.Vector parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.Vector parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static OKAGG.Vector parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static OKAGG.Vector parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static OKAGG.Vector parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static OKAGG.Vector parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static OKAGG.Vector parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static OKAGG.Vector parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static OKAGG.Vector parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(OKAGG.Vector prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code OKAGG.Vector} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:OKAGG.Vector) + OKAGG.VectorOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_Vector_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_Vector_fieldAccessorTable + .ensureFieldAccessorsInitialized( + OKAGG.Vector.class, OKAGG.Vector.Builder.class); + } + + // Construct using OKAGG.Vector.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + x_ = 0F; + + y_ = 0F; + + z_ = 0F; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return OKAGG.OutsideCommunication.internal_static_OKAGG_Vector_descriptor; + } + + @java.lang.Override + public OKAGG.Vector getDefaultInstanceForType() { + return OKAGG.Vector.getDefaultInstance(); + } + + @java.lang.Override + public OKAGG.Vector build() { + OKAGG.Vector result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public OKAGG.Vector buildPartial() { + OKAGG.Vector result = new OKAGG.Vector(this); + result.x_ = x_; + result.y_ = y_; + result.z_ = z_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof OKAGG.Vector) { + return mergeFrom((OKAGG.Vector)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(OKAGG.Vector other) { + if (other == OKAGG.Vector.getDefaultInstance()) return this; + if (other.getX() != 0F) { + setX(other.getX()); + } + if (other.getY() != 0F) { + setY(other.getY()); + } + if (other.getZ() != 0F) { + setZ(other.getZ()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + OKAGG.Vector parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (OKAGG.Vector) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private float x_ ; + /** + * <code>float x = 1;</code> + */ + public float getX() { + return x_; + } + /** + * <code>float x = 1;</code> + */ + public Builder setX(float value) { + + x_ = value; + onChanged(); + return this; + } + /** + * <code>float x = 1;</code> + */ + public Builder clearX() { + + x_ = 0F; + onChanged(); + return this; + } + + private float y_ ; + /** + * <code>float y = 2;</code> + */ + public float getY() { + return y_; + } + /** + * <code>float y = 2;</code> + */ + public Builder setY(float value) { + + y_ = value; + onChanged(); + return this; + } + /** + * <code>float y = 2;</code> + */ + public Builder clearY() { + + y_ = 0F; + onChanged(); + return this; + } + + private float z_ ; + /** + * <code>float z = 3;</code> + */ + public float getZ() { + return z_; + } + /** + * <code>float z = 3;</code> + */ + public Builder setZ(float value) { + + z_ = value; + onChanged(); + return this; + } + /** + * <code>float z = 3;</code> + */ + public Builder clearZ() { + + z_ = 0F; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:OKAGG.Vector) + } + + // @@protoc_insertion_point(class_scope:OKAGG.Vector) + private static final OKAGG.Vector DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new OKAGG.Vector(); + } + + public static OKAGG.Vector getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser<Vector> + PARSER = new com.google.protobuf.AbstractParser<Vector>() { + @java.lang.Override + public Vector parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Vector(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Vector> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Vector> getParserForType() { + return PARSER; + } + + @java.lang.Override + public OKAGG.Vector getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/Interface/target/generated-sources/protobuf/java/OKAGG/VectorOrBuilder.java b/Interface/target/generated-sources/protobuf/java/OKAGG/VectorOrBuilder.java new file mode 100644 index 0000000000000000000000000000000000000000..dbac0565e6696c95a1af388d17f42cc656bf044a --- /dev/null +++ b/Interface/target/generated-sources/protobuf/java/OKAGG/VectorOrBuilder.java @@ -0,0 +1,24 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: OutsideCommunication.proto + +package OKAGG; + +public interface VectorOrBuilder extends + // @@protoc_insertion_point(interface_extends:OKAGG.Vector) + com.google.protobuf.MessageOrBuilder { + + /** + * <code>float x = 1;</code> + */ + float getX(); + + /** + * <code>float y = 2;</code> + */ + float getY(); + + /** + * <code>float z = 3;</code> + */ + float getZ(); +} diff --git a/Interface/target/lib/animal-sniffer-annotations-1.17.jar b/Interface/target/lib/animal-sniffer-annotations-1.17.jar new file mode 100644 index 0000000000000000000000000000000000000000..6ec7a603e7345b68df0fb276034e87f65a55c540 Binary files /dev/null and b/Interface/target/lib/animal-sniffer-annotations-1.17.jar differ diff --git a/Interface/target/lib/annotations-13.0.jar b/Interface/target/lib/annotations-13.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..fb794be912bab43196dfa974b3e6d447e7f03d34 Binary files /dev/null and b/Interface/target/lib/annotations-13.0.jar differ diff --git a/Interface/target/lib/annotations-4.1.1.4.jar b/Interface/target/lib/annotations-4.1.1.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..8cbf103fae19214aeb99e4b3f9c7bd18f6fd20ea Binary files /dev/null and b/Interface/target/lib/annotations-4.1.1.4.jar differ diff --git a/Interface/target/lib/checker-compat-qual-2.5.2.jar b/Interface/target/lib/checker-compat-qual-2.5.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..633d2c2f9b77d1d93c06f0736ddc6d7ae2e19183 Binary files /dev/null and b/Interface/target/lib/checker-compat-qual-2.5.2.jar differ diff --git a/Interface/target/lib/error_prone_annotations-2.3.2.jar b/Interface/target/lib/error_prone_annotations-2.3.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..bc2584db8b90feccaa45faadf157f6c7ad7caa0a Binary files /dev/null and b/Interface/target/lib/error_prone_annotations-2.3.2.jar differ diff --git a/Interface/target/lib/grpc-context-1.20.0.jar b/Interface/target/lib/grpc-context-1.20.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..1709dbef9a31c41e675eaf92311a937b5a355c07 Binary files /dev/null and b/Interface/target/lib/grpc-context-1.20.0.jar differ diff --git a/Interface/target/lib/grpc-core-1.20.0.jar b/Interface/target/lib/grpc-core-1.20.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..a44ec185bbb101f9f13ab832a7a645f6a6082b94 Binary files /dev/null and b/Interface/target/lib/grpc-core-1.20.0.jar differ diff --git a/Interface/target/lib/grpc-netty-shaded-1.20.0.jar b/Interface/target/lib/grpc-netty-shaded-1.20.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..18b45ab85c43af38cc368943cc9b46872e34063a Binary files /dev/null and b/Interface/target/lib/grpc-netty-shaded-1.20.0.jar differ diff --git a/Interface/target/lib/grpc-protobuf-1.20.0.jar b/Interface/target/lib/grpc-protobuf-1.20.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..c0103c11c935c4ad2470ec084c34f4ef082a34b0 Binary files /dev/null and b/Interface/target/lib/grpc-protobuf-1.20.0.jar differ diff --git a/Interface/target/lib/grpc-protobuf-lite-1.20.0.jar b/Interface/target/lib/grpc-protobuf-lite-1.20.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..f96144fc47fff6e61a16c0395e91e95942d2878f Binary files /dev/null and b/Interface/target/lib/grpc-protobuf-lite-1.20.0.jar differ diff --git a/Interface/target/lib/grpc-services-1.20.0.jar b/Interface/target/lib/grpc-services-1.20.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..7205642e35ce3e9e878301955e7922038528e890 Binary files /dev/null and b/Interface/target/lib/grpc-services-1.20.0.jar differ diff --git a/Interface/target/lib/grpc-stub-1.20.0.jar b/Interface/target/lib/grpc-stub-1.20.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..958602f4b014614f1e7283188b3cf59100340cfe Binary files /dev/null and b/Interface/target/lib/grpc-stub-1.20.0.jar differ diff --git a/Interface/target/lib/gson-2.7.jar b/Interface/target/lib/gson-2.7.jar new file mode 100644 index 0000000000000000000000000000000000000000..be5b59b764b56819e35021933772ab07b41e2e0e Binary files /dev/null and b/Interface/target/lib/gson-2.7.jar differ diff --git a/Interface/target/lib/guava-26.0-android.jar b/Interface/target/lib/guava-26.0-android.jar new file mode 100644 index 0000000000000000000000000000000000000000..3db9b6c41556176b4de8e5620b959c4e0c2b1290 Binary files /dev/null and b/Interface/target/lib/guava-26.0-android.jar differ diff --git a/Interface/target/lib/j2objc-annotations-1.1.jar b/Interface/target/lib/j2objc-annotations-1.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..4b6f1274796022bde435176a2990f3a832a34371 Binary files /dev/null and b/Interface/target/lib/j2objc-annotations-1.1.jar differ diff --git a/Interface/target/lib/jackson-annotations-2.9.0.jar b/Interface/target/lib/jackson-annotations-2.9.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..c602d75d4d0ac28db5631e48bc39fb34940916dd Binary files /dev/null and b/Interface/target/lib/jackson-annotations-2.9.0.jar differ diff --git a/Interface/target/lib/jackson-core-2.9.8.jar b/Interface/target/lib/jackson-core-2.9.8.jar new file mode 100644 index 0000000000000000000000000000000000000000..362f1f393e6fb9feba0fe1fa171811a80f8f83d6 Binary files /dev/null and b/Interface/target/lib/jackson-core-2.9.8.jar differ diff --git a/Interface/target/lib/jackson-databind-2.9.8.jar b/Interface/target/lib/jackson-databind-2.9.8.jar new file mode 100644 index 0000000000000000000000000000000000000000..2d8687b5d79cca6ea54cda3471dce3b14384794b Binary files /dev/null and b/Interface/target/lib/jackson-databind-2.9.8.jar differ diff --git a/Interface/target/lib/javalin-2.8.0.jar b/Interface/target/lib/javalin-2.8.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..4b5cf1c36b0c1c8882b262ea3a7098355489c40b Binary files /dev/null and b/Interface/target/lib/javalin-2.8.0.jar differ diff --git a/Interface/target/lib/javax.annotation-api-1.3.2.jar b/Interface/target/lib/javax.annotation-api-1.3.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..a8a470a71a63f4f537c93e21d99ea62d75c917bf Binary files /dev/null and b/Interface/target/lib/javax.annotation-api-1.3.2.jar differ diff --git a/Interface/target/lib/javax.servlet-api-3.1.0.jar b/Interface/target/lib/javax.servlet-api-3.1.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..6b14c3d267867e76c04948bb31b3de18e01412ee Binary files /dev/null and b/Interface/target/lib/javax.servlet-api-3.1.0.jar differ diff --git a/Interface/target/lib/jetty-client-9.4.15.v20190215.jar b/Interface/target/lib/jetty-client-9.4.15.v20190215.jar new file mode 100644 index 0000000000000000000000000000000000000000..2cb94ae35cff7c46ddd6514c3b3544817b286c6c Binary files /dev/null and b/Interface/target/lib/jetty-client-9.4.15.v20190215.jar differ diff --git a/Interface/target/lib/jetty-http-9.4.15.v20190215.jar b/Interface/target/lib/jetty-http-9.4.15.v20190215.jar new file mode 100644 index 0000000000000000000000000000000000000000..73bac0dc01b32dcb3afdec15c21329ab5fd2f662 Binary files /dev/null and b/Interface/target/lib/jetty-http-9.4.15.v20190215.jar differ diff --git a/Interface/target/lib/jetty-io-9.4.15.v20190215.jar b/Interface/target/lib/jetty-io-9.4.15.v20190215.jar new file mode 100644 index 0000000000000000000000000000000000000000..7aeca583e508d4ccd6fb49dc4705c42cfd9b7e53 Binary files /dev/null and b/Interface/target/lib/jetty-io-9.4.15.v20190215.jar differ diff --git a/Interface/target/lib/jetty-security-9.4.15.v20190215.jar b/Interface/target/lib/jetty-security-9.4.15.v20190215.jar new file mode 100644 index 0000000000000000000000000000000000000000..06c0047d17540b194cce4f74e36a97a73696e15d Binary files /dev/null and b/Interface/target/lib/jetty-security-9.4.15.v20190215.jar differ diff --git a/Interface/target/lib/jetty-server-9.4.15.v20190215.jar b/Interface/target/lib/jetty-server-9.4.15.v20190215.jar new file mode 100644 index 0000000000000000000000000000000000000000..86d06d84ae0996c18b1def87581dd9c0ed6d09e5 Binary files /dev/null and b/Interface/target/lib/jetty-server-9.4.15.v20190215.jar differ diff --git a/Interface/target/lib/jetty-servlet-9.4.15.v20190215.jar b/Interface/target/lib/jetty-servlet-9.4.15.v20190215.jar new file mode 100644 index 0000000000000000000000000000000000000000..abfb8badc5e2178750d9229dc6cb7932fddfa499 Binary files /dev/null and b/Interface/target/lib/jetty-servlet-9.4.15.v20190215.jar differ diff --git a/Interface/target/lib/jetty-util-9.4.15.v20190215.jar b/Interface/target/lib/jetty-util-9.4.15.v20190215.jar new file mode 100644 index 0000000000000000000000000000000000000000..682313e7567d90682b4cde0f35ce5b150afe3f25 Binary files /dev/null and b/Interface/target/lib/jetty-util-9.4.15.v20190215.jar differ diff --git a/Interface/target/lib/jetty-webapp-9.4.15.v20190215.jar b/Interface/target/lib/jetty-webapp-9.4.15.v20190215.jar new file mode 100644 index 0000000000000000000000000000000000000000..3118ef88923b2762219edef39b3f33c407d70965 Binary files /dev/null and b/Interface/target/lib/jetty-webapp-9.4.15.v20190215.jar differ diff --git a/Interface/target/lib/jetty-xml-9.4.15.v20190215.jar b/Interface/target/lib/jetty-xml-9.4.15.v20190215.jar new file mode 100644 index 0000000000000000000000000000000000000000..e91078089b3c9c1592402d2783bbc1ab3f6f50f4 Binary files /dev/null and b/Interface/target/lib/jetty-xml-9.4.15.v20190215.jar differ diff --git a/Interface/target/lib/json-20180813.jar b/Interface/target/lib/json-20180813.jar new file mode 100644 index 0000000000000000000000000000000000000000..592f08c4d69048a4a0cb2bd962c896c9861bf275 Binary files /dev/null and b/Interface/target/lib/json-20180813.jar differ diff --git a/Interface/target/lib/jsr305-3.0.2.jar b/Interface/target/lib/jsr305-3.0.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..59222d9ca5e5654f5dcf6680783d0e265baa848f Binary files /dev/null and b/Interface/target/lib/jsr305-3.0.2.jar differ diff --git a/Interface/target/lib/kotlin-stdlib-1.2.71.jar b/Interface/target/lib/kotlin-stdlib-1.2.71.jar new file mode 100644 index 0000000000000000000000000000000000000000..91beb9b40e86c2c76a7ef87552fcaa766f1aaa80 Binary files /dev/null and b/Interface/target/lib/kotlin-stdlib-1.2.71.jar differ diff --git a/Interface/target/lib/kotlin-stdlib-common-1.2.71.jar b/Interface/target/lib/kotlin-stdlib-common-1.2.71.jar new file mode 100644 index 0000000000000000000000000000000000000000..6263d93d9b3f8e4dc71e1a376d91d201c42578ee Binary files /dev/null and b/Interface/target/lib/kotlin-stdlib-common-1.2.71.jar differ diff --git a/Interface/target/lib/kotlin-stdlib-jdk7-1.2.71.jar b/Interface/target/lib/kotlin-stdlib-jdk7-1.2.71.jar new file mode 100644 index 0000000000000000000000000000000000000000..54bb72bd62790dd25ea4abcb576a306976b9fe48 Binary files /dev/null and b/Interface/target/lib/kotlin-stdlib-jdk7-1.2.71.jar differ diff --git a/Interface/target/lib/kotlin-stdlib-jdk8-1.2.71.jar b/Interface/target/lib/kotlin-stdlib-jdk8-1.2.71.jar new file mode 100644 index 0000000000000000000000000000000000000000..8345e1639963b351b3b34c3e017a23b8c19c9f19 Binary files /dev/null and b/Interface/target/lib/kotlin-stdlib-jdk8-1.2.71.jar differ diff --git a/Interface/target/lib/opencensus-api-0.19.2.jar b/Interface/target/lib/opencensus-api-0.19.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..c9427f9c192cab02816f9a566831c645c3115578 Binary files /dev/null and b/Interface/target/lib/opencensus-api-0.19.2.jar differ diff --git a/Interface/target/lib/opencensus-contrib-grpc-metrics-0.19.2.jar b/Interface/target/lib/opencensus-contrib-grpc-metrics-0.19.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..dfb7080b65e98d335b90695fb3e1be7da16a8b28 Binary files /dev/null and b/Interface/target/lib/opencensus-contrib-grpc-metrics-0.19.2.jar differ diff --git a/Interface/target/lib/proto-google-common-protos-1.12.0.jar b/Interface/target/lib/proto-google-common-protos-1.12.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..9dab1cd43917b91f6112775b6b3ede9285acb039 Binary files /dev/null and b/Interface/target/lib/proto-google-common-protos-1.12.0.jar differ diff --git a/Interface/target/lib/protobuf-java-3.7.1.jar b/Interface/target/lib/protobuf-java-3.7.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..40761f3917f2f538b36a09e14ef1e1f7c1cea2e3 Binary files /dev/null and b/Interface/target/lib/protobuf-java-3.7.1.jar differ diff --git a/Interface/target/lib/protobuf-java-util-3.7.1.jar b/Interface/target/lib/protobuf-java-util-3.7.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..2d990d7d99301209a58be8e89024fce00694f508 Binary files /dev/null and b/Interface/target/lib/protobuf-java-util-3.7.1.jar differ diff --git a/Interface/target/lib/re2j-1.2.jar b/Interface/target/lib/re2j-1.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..945db1ca030e4e207e11836120520c42c32cccde Binary files /dev/null and b/Interface/target/lib/re2j-1.2.jar differ diff --git a/Interface/target/lib/slf4j-api-1.7.26.jar b/Interface/target/lib/slf4j-api-1.7.26.jar new file mode 100644 index 0000000000000000000000000000000000000000..d2f27aceabc93c899bc4a39ba393aa74ec41d7b9 Binary files /dev/null and b/Interface/target/lib/slf4j-api-1.7.26.jar differ diff --git a/Interface/target/lib/slf4j-simple-1.7.26.jar b/Interface/target/lib/slf4j-simple-1.7.26.jar new file mode 100644 index 0000000000000000000000000000000000000000..5d82cdf74d6d220f32794bd44aa99f3bdb956091 Binary files /dev/null and b/Interface/target/lib/slf4j-simple-1.7.26.jar differ diff --git a/Interface/target/lib/websocket-api-9.4.15.v20190215.jar b/Interface/target/lib/websocket-api-9.4.15.v20190215.jar new file mode 100644 index 0000000000000000000000000000000000000000..7748a2700658f896cb99d578ea57270dc3dfcc68 Binary files /dev/null and b/Interface/target/lib/websocket-api-9.4.15.v20190215.jar differ diff --git a/Interface/target/lib/websocket-client-9.4.15.v20190215.jar b/Interface/target/lib/websocket-client-9.4.15.v20190215.jar new file mode 100644 index 0000000000000000000000000000000000000000..83fa3553c15bc418c1819f0a2519e9cf2d10e6c8 Binary files /dev/null and b/Interface/target/lib/websocket-client-9.4.15.v20190215.jar differ diff --git a/Interface/target/lib/websocket-common-9.4.15.v20190215.jar b/Interface/target/lib/websocket-common-9.4.15.v20190215.jar new file mode 100644 index 0000000000000000000000000000000000000000..97bb254ff13f65f743eead40197a470a22abde49 Binary files /dev/null and b/Interface/target/lib/websocket-common-9.4.15.v20190215.jar differ diff --git a/Interface/target/lib/websocket-server-9.4.15.v20190215.jar b/Interface/target/lib/websocket-server-9.4.15.v20190215.jar new file mode 100644 index 0000000000000000000000000000000000000000..5c5ab730143128d3120dd2a4bace29d4e293c8f1 Binary files /dev/null and b/Interface/target/lib/websocket-server-9.4.15.v20190215.jar differ diff --git a/Interface/target/lib/websocket-servlet-9.4.15.v20190215.jar b/Interface/target/lib/websocket-servlet-9.4.15.v20190215.jar new file mode 100644 index 0000000000000000000000000000000000000000..061b5b468a71be61d807f1fb8d72919256324a20 Binary files /dev/null and b/Interface/target/lib/websocket-servlet-9.4.15.v20190215.jar differ diff --git a/Interface/target/maven-archiver/pom.properties b/Interface/target/maven-archiver/pom.properties new file mode 100644 index 0000000000000000000000000000000000000000..c1600b811282df400d741c869865d0fc69370452 --- /dev/null +++ b/Interface/target/maven-archiver/pom.properties @@ -0,0 +1,3 @@ +version=1.0-SNAPSHOT +groupId=GameInteraction +artifactId=GameInteraction diff --git a/Interface/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/Interface/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000000000000000000000000000000000000..2178b0eacfb5d728ec1d4c678825d5ec102eb255 --- /dev/null +++ b/Interface/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,329 @@ +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastToggle.class +OKAGG/Empty$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$StopOrBuilder.class +OKAGG/ClientCommunicationsServerService.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventAbility.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawClear.class +OKAGG/ServerManagmentGrpc$ServerManagmentBaseDescriptorSupplier.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TeleportInfo.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$CourierState.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SellItem$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Vector.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventDamage.class +OKAGG/ServerManagmentGrpc.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$PlayerOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastLocation$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawClear$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTarget$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SoftResetOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SwapItems.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Courier$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventDamage$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$VectorOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Player$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DropItem$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$Hero$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Unit.class +OKAGG/GameValuesGrpc$GameValuesBlockingStub.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions.class +OKAGG/ServerManagmentGrpc$ServerManagmentImplBase.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventTreeOrBuilder.class +OKAGG/OkaggIaCommMessageOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTree.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TrackingProjectile$1.class +OKAGG/OkaggIaCommMessage$1.class +OKAGG/GameValuesGrpc$GameValuesFileDescriptorSupplier.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$UseShrine$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldStateOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Modifier$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetEstimatedDamageToTarget.class +OKAGG/Main.class +OKAGG/Util.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventRoshanKilled.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventTree$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToTarget$Builder.class +OKAGG/GameValuesGrpc$GameValuesImplBase.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Buyback$Builder.class +OKAGG/GameValuesGrpc$MethodHandlers.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickupRuneOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$CourierState$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action.class +OKAGG/GlobalValuesOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$HeaderOrBuilder.class +OKAGG/OkaggIaCommMessage.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$DroppedItem$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PurchaseItem.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Courier$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventRoshanKilled$Builder.class +OKAGG/Command$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Unit$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SetCombineLockItem.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$ActionsOrBuilder.class +OKAGG/DotaFunctions.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackTarget.class +OKAGG/CommandV2OrBuilder.class +OKAGG/GameInstructionsGrpc$GameInstructionsStub.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanReplayCorrectTime.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToTarget.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GlyphOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$RuneInfo$Builder.class +OKAGG/EmptyOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTreeOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugScreenTextPrettyOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventCourierKilledOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawLine$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Glyph$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$LinearProjectile.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTarget.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanWinGame.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickupRune$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetEstimatedDamageToTargetOrBuilder.class +OKAGG/ClientCommunications.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DropItem.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AvoidanceZone$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SwapItems$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Buyback.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SellItem$Builder.class +OKAGG/Webserver.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$UnitOrBuilder.class +OKAGG/ServerManagmentGrpc$ServerManagmentMethodDescriptorSupplier.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastLocation$1.class +OKAGG/OutsideCommunication$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ChatOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$TrainAbility$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$1.class +OKAGG/GetInfo.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SetCombineLockItem$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$1.class +OKAGG/ClientSocketServer.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTree$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TrackingProjectile$Builder.class +OKAGG/ClientCommunicationsValuesService.class +OKAGG/MyCanvas.class +OKAGG/MyFrame.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawClearOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$LinearProjectile$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DropItemOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DropItem$Builder.class +OKAGG/Vector$Builder.class +OKAGG/Vector.class +OKAGG/GlobalValues$Builder.class +OKAGG/GameInstructionsGrpc$GameInstructionsFutureStub.class +OKAGG/GameInstructionsGrpc$GameInstructionsMethodDescriptorSupplier.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$Builder.class +OKAGG/ServerManagmentGrpc$ServerManagmentStub.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SoftReset$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SoftReset.class +OKAGG/CommandOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanReplayCorrectTimeOrBuilder.class +OKAGG/Empty.class +OKAGG/CMsgBotWorldStateOuterClass$2.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawTextOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Type.class +OKAGG/WorldState.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PurchaseItemOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Cast.class +OKAGG/InstrucionReturnValue$Builder.class +OKAGG/CommandV2$Builder.class +OKAGG/ClientCommunicationsInstructionsService.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawCircle$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackMove.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetEstimatedDamageToTarget$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawScreenText$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DisassembleItemOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Player$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$UseShrine$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$LinearProjectileOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickupRune$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventDamage$1.class +OKAGG/DotaFunctions$GameAction.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawLine$Builder.class +OKAGG/CommandV2$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawScreenText.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Unit$1.class +OKAGG/OutsideCommunication.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackMove$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ActionDataCase.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToLocationOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Chat$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetActualIncomingDamage$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawBox$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawBox.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventTree.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TrackingProjectile.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AvoidanceZoneOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PurchaseItem$1.class +OKAGG/ServerManagmentGrpc$ServerManagmentFileDescriptorSupplier.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastToggleOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanReplayCorrectTime$1.class +OKAGG/GameInstructionsGrpc.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$UseShrine.class +OKAGG/GameValuesGrpc$GameValuesStub.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$LinearProjectile$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugScreenTextPretty$1.class +OKAGG/GameValuesGrpc$GameValuesFutureStub.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SoftReset$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TeleportInfo$Builder.class +OKAGG/GameInstructionsGrpc$GameInstructionsImplBase.class +OKAGG/Command$Builder.class +OKAGG/Empty$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$Header$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Courier$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Glyph$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetActualIncomingDamage$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$TrainAbilityOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawCircle$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugScreenTextPretty$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Type$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventCourierKilled$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastToggle$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DisassembleItem$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SetCombineLockItemOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Player.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackTarget$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$TrainAbility$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation.class +OKAGG/GameValuesGrpc$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$RuneInfo.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Ability$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetActualIncomingDamage.class +OKAGG/RedirectClientObject.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Cast$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$Header$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawScreenTextOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$Hero.class +OKAGG/ServerFunctions.class +OKAGG/CMsgBotWorldStateOuterClass.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PurchaseItem$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$HoldLocation$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickUpItem.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$DroppedItemOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickUpItem$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventDamageOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawBoxOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickupRune.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Modifier$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanWinGame$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$HoldLocationOrBuilder.class +OKAGG/GlobalValues$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackTarget$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$UnitType$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventRoshanKilledOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastLocation.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawText$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanReplayCorrectTime$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTarget$1.class +OKAGG/InstrucionReturnValue.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AvoidanceZone.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugScreenTextPretty.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$HoldLocation$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventCourierKilled$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTree$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Vector$1.class +OKAGG/GameInstructionsGrpc$1.class +OKAGG/GameInstructionsGrpc$GameInstructionsBlockingStub.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanWinGame$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickUpItemOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Chat$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Buyback$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastTargetOrBuilder.class +OKAGG/InstrucionReturnValueOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToTargetOrBuilder.class +OKAGG/GameValuesGrpc$GameValuesMethodDescriptorSupplier.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToLocation.class +OKAGG/Vector$1.class +OKAGG/GameInstructionsGrpc$GameInstructionsBaseDescriptorSupplier.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$DroppedItem$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetActualIncomingDamageOrBuilder.class +OKAGG/ServerManagmentGrpc$MethodHandlers.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$HoldLocation.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DisassembleItem$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TeleportInfo$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$HeroOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotationOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Chat.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackTargetOrBuilder.class +OKAGG/MyFrame$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$UnitType.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TeleportInfoOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventAbility$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Courier.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Vector$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackMoveOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$ModifierOrBuilder.class +OKAGG/Globals.class +OKAGG/GameInstructionsGrpc$MethodHandlers.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawScreenText$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToLocation$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$TrainAbility.class +OKAGG/ServerManagmentGrpc$ServerManagmentFutureStub.class +OKAGG/InstrucionReturnValue$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CourierOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Stop$Builder.class +OKAGG/OkaggIaCommMessage$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Ability$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$DroppedItem.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SellItemOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastToggle$Builder.class +OKAGG/VectorOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$UseShrineOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Cast$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$GetEstimatedDamageToTarget$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Glyph.class +OKAGG/GameValuesGrpc$GameValuesBaseDescriptorSupplier.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$Header.class +OKAGG/CommandV2.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToTarget$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawBox$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SellItem.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$DisassembleItem.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Ability.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$BuybackOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Courier$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$OceanAnnotation$Hero$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$PickUpItem$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$OceanWinGameOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Actions$Builder.class +OKAGG/Command.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$CourierOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$RuneInfo$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$TrackingProjectileOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Courier.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventRoshanKilled$1.class +OKAGG/ServerManagmentGrpc$ServerManagmentBlockingStub.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$ActionOrBuilder.class +OKAGG/GlobalValues.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawClear$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawText.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawLine.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawCircleOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$RuneInfoOrBuilder.class +OKAGG/GameValuesGrpc.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawText$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SwapItemsOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AbilityOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventCourierKilled.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$AttackMove$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Stop$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventAbility$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawLineOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventTree$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$AvoidanceZone$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$EventAbilityOrBuilder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$MoveToLocation$Builder.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SwapItems$1.class +OKAGG/Webserver$1.class +OKAGG/ServerManagmentGrpc$1.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$SetCombineLockItem$Builder.class +OKAGG/GameInstructionsGrpc$GameInstructionsFileDescriptorSupplier.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Modifier.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$Stop.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$ScriptingDebugDrawCircle.class +OKAGG/CMsgBotWorldStateOuterClass$CMsgBotWorldState$Action$CastLocationOrBuilder.class diff --git a/Interface/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/Interface/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000000000000000000000000000000000000..a322d9caae8876fb1ead7c68d0d3ae988a9fca50 --- /dev/null +++ b/Interface/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,34 @@ +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/grpc-java/OKAGG/GameInstructionsGrpc.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/ServerFunctions.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/Webserver.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/grpc-java/OKAGG/GameValuesGrpc.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/java/OKAGG/CommandV2OrBuilder.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/java/OKAGG/OkaggIaCommMessage.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/ClientCommunications.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/java/OKAGG/Command.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/WorldState.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/java/OKAGG/OkaggIaCommMessageOrBuilder.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/ClientCommunicationsInstructionsService.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/Globals.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/java/OKAGG/GlobalValues.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/MyFrame.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/GetInfo.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/java/OKAGG/CommandOrBuilder.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/java/OKAGG/InstrucionReturnValueOrBuilder.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/CMsgBotWorldStateOuterClass.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/Main.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/java/OKAGG/VectorOrBuilder.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/java/OKAGG/CommandV2.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/RedirectClientObject.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/ClientCommunicationsValuesService.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/java/OKAGG/OutsideCommunication.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/java/OKAGG/Empty.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/java/OKAGG/GlobalValuesOrBuilder.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/java/OKAGG/InstrucionReturnValue.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/java/OKAGG/Vector.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/ClientCommunicationsServerService.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/ClientSocketServer.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/java/OKAGG/EmptyOrBuilder.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/target/generated-sources/protobuf/grpc-java/OKAGG/ServerManagmentGrpc.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/Util.java +/home/kz/Desktop/steamcmd/game/game/dota/scripts/vscripts/bots/Autre/java/GameInteraction/Server/src/main/java/OKAGG/DotaFunctions.java diff --git a/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/any.proto b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/any.proto new file mode 100644 index 0000000000000000000000000000000000000000..c9be85416736c6bfb51e8f386535de45076ecdba --- /dev/null +++ b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/any.proto @@ -0,0 +1,155 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "github.com/golang/protobuf/ptypes/any"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "AnyProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + +// `Any` contains an arbitrary serialized protocol buffer message along with a +// URL that describes the type of the serialized message. +// +// Protobuf library provides support to pack/unpack Any values in the form +// of utility functions or additional generated methods of the Any type. +// +// Example 1: Pack and unpack a message in C++. +// +// Foo foo = ...; +// Any any; +// any.PackFrom(foo); +// ... +// if (any.UnpackTo(&foo)) { +// ... +// } +// +// Example 2: Pack and unpack a message in Java. +// +// Foo foo = ...; +// Any any = Any.pack(foo); +// ... +// if (any.is(Foo.class)) { +// foo = any.unpack(Foo.class); +// } +// +// Example 3: Pack and unpack a message in Python. +// +// foo = Foo(...) +// any = Any() +// any.Pack(foo) +// ... +// if any.Is(Foo.DESCRIPTOR): +// any.Unpack(foo) +// ... +// +// Example 4: Pack and unpack a message in Go +// +// foo := &pb.Foo{...} +// any, err := ptypes.MarshalAny(foo) +// ... +// foo := &pb.Foo{} +// if err := ptypes.UnmarshalAny(any, foo); err != nil { +// ... +// } +// +// The pack methods provided by protobuf library will by default use +// 'type.googleapis.com/full.type.name' as the type URL and the unpack +// methods only use the fully qualified type name after the last '/' +// in the type URL, for example "foo.bar.com/x/y.z" will yield type +// name "y.z". +// +// +// JSON +// ==== +// The JSON representation of an `Any` value uses the regular +// representation of the deserialized, embedded message, with an +// additional field `@type` which contains the type URL. Example: +// +// package google.profile; +// message Person { +// string first_name = 1; +// string last_name = 2; +// } +// +// { +// "@type": "type.googleapis.com/google.profile.Person", +// "firstName": <string>, +// "lastName": <string> +// } +// +// If the embedded message type is well-known and has a custom JSON +// representation, that representation will be embedded adding a field +// `value` which holds the custom JSON in addition to the `@type` +// field. Example (for message [google.protobuf.Duration][]): +// +// { +// "@type": "type.googleapis.com/google.protobuf.Duration", +// "value": "1.212s" +// } +// +message Any { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + // + string type_url = 1; + + // Must be a valid serialized protocol buffer of the above specified type. + bytes value = 2; +} diff --git a/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/api.proto b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/api.proto new file mode 100644 index 0000000000000000000000000000000000000000..f37ee2fa46baaf49a4e281db7e692ba0ffb4aea8 --- /dev/null +++ b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/api.proto @@ -0,0 +1,210 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +import "google/protobuf/source_context.proto"; +import "google/protobuf/type.proto"; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "ApiProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option go_package = "google.golang.org/genproto/protobuf/api;api"; + +// Api is a light-weight descriptor for an API Interface. +// +// Interfaces are also described as "protocol buffer services" in some contexts, +// such as by the "service" keyword in a .proto file, but they are different +// from API Services, which represent a concrete implementation of an interface +// as opposed to simply a description of methods and bindings. They are also +// sometimes simply referred to as "APIs" in other contexts, such as the name of +// this message itself. See https://cloud.google.com/apis/design/glossary for +// detailed terminology. +message Api { + + // The fully qualified name of this interface, including package name + // followed by the interface's simple name. + string name = 1; + + // The methods of this interface, in unspecified order. + repeated Method methods = 2; + + // Any metadata attached to the interface. + repeated Option options = 3; + + // A version string for this interface. If specified, must have the form + // `major-version.minor-version`, as in `1.10`. If the minor version is + // omitted, it defaults to zero. If the entire version field is empty, the + // major version is derived from the package name, as outlined below. If the + // field is not empty, the version in the package name will be verified to be + // consistent with what is provided here. + // + // The versioning schema uses [semantic + // versioning](http://semver.org) where the major version number + // indicates a breaking change and the minor version an additive, + // non-breaking change. Both version numbers are signals to users + // what to expect from different versions, and should be carefully + // chosen based on the product plan. + // + // The major version is also reflected in the package name of the + // interface, which must end in `v<major-version>`, as in + // `google.feature.v1`. For major versions 0 and 1, the suffix can + // be omitted. Zero major versions must only be used for + // experimental, non-GA interfaces. + // + // + string version = 4; + + // Source context for the protocol buffer service represented by this + // message. + SourceContext source_context = 5; + + // Included interfaces. See [Mixin][]. + repeated Mixin mixins = 6; + + // The source syntax of the service. + Syntax syntax = 7; +} + +// Method represents a method of an API interface. +message Method { + + // The simple name of this method. + string name = 1; + + // A URL of the input message type. + string request_type_url = 2; + + // If true, the request is streamed. + bool request_streaming = 3; + + // The URL of the output message type. + string response_type_url = 4; + + // If true, the response is streamed. + bool response_streaming = 5; + + // Any metadata attached to the method. + repeated Option options = 6; + + // The source syntax of this method. + Syntax syntax = 7; +} + +// Declares an API Interface to be included in this interface. The including +// interface must redeclare all the methods from the included interface, but +// documentation and options are inherited as follows: +// +// - If after comment and whitespace stripping, the documentation +// string of the redeclared method is empty, it will be inherited +// from the original method. +// +// - Each annotation belonging to the service config (http, +// visibility) which is not set in the redeclared method will be +// inherited. +// +// - If an http annotation is inherited, the path pattern will be +// modified as follows. Any version prefix will be replaced by the +// version of the including interface plus the [root][] path if +// specified. +// +// Example of a simple mixin: +// +// package google.acl.v1; +// service AccessControl { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v1/{resource=**}:getAcl"; +// } +// } +// +// package google.storage.v2; +// service Storage { +// rpc GetAcl(GetAclRequest) returns (Acl); +// +// // Get a data record. +// rpc GetData(GetDataRequest) returns (Data) { +// option (google.api.http).get = "/v2/{resource=**}"; +// } +// } +// +// Example of a mixin configuration: +// +// apis: +// - name: google.storage.v2.Storage +// mixins: +// - name: google.acl.v1.AccessControl +// +// The mixin construct implies that all methods in `AccessControl` are +// also declared with same name and request/response types in +// `Storage`. A documentation generator or annotation processor will +// see the effective `Storage.GetAcl` method after inherting +// documentation and annotations as follows: +// +// service Storage { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v2/{resource=**}:getAcl"; +// } +// ... +// } +// +// Note how the version in the path pattern changed from `v1` to `v2`. +// +// If the `root` field in the mixin is specified, it should be a +// relative path under which inherited HTTP paths are placed. Example: +// +// apis: +// - name: google.storage.v2.Storage +// mixins: +// - name: google.acl.v1.AccessControl +// root: acls +// +// This implies the following inherited HTTP annotation: +// +// service Storage { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; +// } +// ... +// } +message Mixin { + // The fully qualified name of the interface which is included. + string name = 1; + + // If non-empty specifies a path under which inherited HTTP paths + // are rooted. + string root = 2; +} diff --git a/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/compiler/plugin.proto b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/compiler/plugin.proto new file mode 100644 index 0000000000000000000000000000000000000000..5b5574529ed4890ee04ac13c4a1cfa50146f9ac3 --- /dev/null +++ b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/compiler/plugin.proto @@ -0,0 +1,167 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// +// WARNING: The plugin interface is currently EXPERIMENTAL and is subject to +// change. +// +// protoc (aka the Protocol Compiler) can be extended via plugins. A plugin is +// just a program that reads a CodeGeneratorRequest from stdin and writes a +// CodeGeneratorResponse to stdout. +// +// Plugins written using C++ can use google/protobuf/compiler/plugin.h instead +// of dealing with the raw protocol defined here. +// +// A plugin executable needs only to be placed somewhere in the path. The +// plugin should be named "protoc-gen-$NAME", and will then be used when the +// flag "--${NAME}_out" is passed to protoc. + +syntax = "proto2"; +package google.protobuf.compiler; +option java_package = "com.google.protobuf.compiler"; +option java_outer_classname = "PluginProtos"; + +option go_package = "github.com/golang/protobuf/protoc-gen-go/plugin;plugin_go"; + +import "google/protobuf/descriptor.proto"; + +// The version number of protocol compiler. +message Version { + optional int32 major = 1; + optional int32 minor = 2; + optional int32 patch = 3; + // A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should + // be empty for mainline stable releases. + optional string suffix = 4; +} + +// An encoded CodeGeneratorRequest is written to the plugin's stdin. +message CodeGeneratorRequest { + // The .proto files that were explicitly listed on the command-line. The + // code generator should generate code only for these files. Each file's + // descriptor will be included in proto_file, below. + repeated string file_to_generate = 1; + + // The generator parameter passed on the command-line. + optional string parameter = 2; + + // FileDescriptorProtos for all files in files_to_generate and everything + // they import. The files will appear in topological order, so each file + // appears before any file that imports it. + // + // protoc guarantees that all proto_files will be written after + // the fields above, even though this is not technically guaranteed by the + // protobuf wire format. This theoretically could allow a plugin to stream + // in the FileDescriptorProtos and handle them one by one rather than read + // the entire set into memory at once. However, as of this writing, this + // is not similarly optimized on protoc's end -- it will store all fields in + // memory at once before sending them to the plugin. + // + // Type names of fields and extensions in the FileDescriptorProto are always + // fully qualified. + repeated FileDescriptorProto proto_file = 15; + + // The version number of protocol compiler. + optional Version compiler_version = 3; + +} + +// The plugin writes an encoded CodeGeneratorResponse to stdout. +message CodeGeneratorResponse { + // Error message. If non-empty, code generation failed. The plugin process + // should exit with status code zero even if it reports an error in this way. + // + // This should be used to indicate errors in .proto files which prevent the + // code generator from generating correct code. Errors which indicate a + // problem in protoc itself -- such as the input CodeGeneratorRequest being + // unparseable -- should be reported by writing a message to stderr and + // exiting with a non-zero status code. + optional string error = 1; + + // Represents a single generated file. + message File { + // The file name, relative to the output directory. The name must not + // contain "." or ".." components and must be relative, not be absolute (so, + // the file cannot lie outside the output directory). "/" must be used as + // the path separator, not "\". + // + // If the name is omitted, the content will be appended to the previous + // file. This allows the generator to break large files into small chunks, + // and allows the generated text to be streamed back to protoc so that large + // files need not reside completely in memory at one time. Note that as of + // this writing protoc does not optimize for this -- it will read the entire + // CodeGeneratorResponse before writing files to disk. + optional string name = 1; + + // If non-empty, indicates that the named file should already exist, and the + // content here is to be inserted into that file at a defined insertion + // point. This feature allows a code generator to extend the output + // produced by another code generator. The original generator may provide + // insertion points by placing special annotations in the file that look + // like: + // @@protoc_insertion_point(NAME) + // The annotation can have arbitrary text before and after it on the line, + // which allows it to be placed in a comment. NAME should be replaced with + // an identifier naming the point -- this is what other generators will use + // as the insertion_point. Code inserted at this point will be placed + // immediately above the line containing the insertion point (thus multiple + // insertions to the same point will come out in the order they were added). + // The double-@ is intended to make it unlikely that the generated code + // could contain things that look like insertion points by accident. + // + // For example, the C++ code generator places the following line in the + // .pb.h files that it generates: + // // @@protoc_insertion_point(namespace_scope) + // This line appears within the scope of the file's package namespace, but + // outside of any particular class. Another plugin can then specify the + // insertion_point "namespace_scope" to generate additional classes or + // other declarations that should be placed in this scope. + // + // Note that if the line containing the insertion point begins with + // whitespace, the same whitespace will be added to every line of the + // inserted text. This is useful for languages like Python, where + // indentation matters. In these languages, the insertion point comment + // should be indented the same amount as any inserted code will need to be + // in order to work correctly in that context. + // + // The code generator that generates the initial file and the one which + // inserts into it must both run as part of a single invocation of protoc. + // Code generators are executed in the order in which they appear on the + // command line. + // + // If |insertion_point| is present, |name| must also be present. + optional string insertion_point = 2; + + // The file contents. + optional string content = 15; + } + repeated File file = 15; +} diff --git a/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/descriptor.proto b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/descriptor.proto new file mode 100644 index 0000000000000000000000000000000000000000..ed08fcbc5429c346ab7f4e7d13f6da5cba1bfde5 --- /dev/null +++ b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/descriptor.proto @@ -0,0 +1,883 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// The messages in this file describe the definitions found in .proto files. +// A valid .proto file can be translated directly to a FileDescriptorProto +// without any other information (e.g. without reading its imports). + + +syntax = "proto2"; + +package google.protobuf; +option go_package = "github.com/golang/protobuf/protoc-gen-go/descriptor;descriptor"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "DescriptorProtos"; +option csharp_namespace = "Google.Protobuf.Reflection"; +option objc_class_prefix = "GPB"; +option cc_enable_arenas = true; + +// descriptor.proto must be optimized for speed because reflection-based +// algorithms don't work during bootstrapping. +option optimize_for = SPEED; + +// The protocol compiler can output a FileDescriptorSet containing the .proto +// files it parses. +message FileDescriptorSet { + repeated FileDescriptorProto file = 1; +} + +// Describes a complete .proto file. +message FileDescriptorProto { + optional string name = 1; // file name, relative to root of source tree + optional string package = 2; // e.g. "foo", "foo.bar", etc. + + // Names of files imported by this file. + repeated string dependency = 3; + // Indexes of the public imported files in the dependency list above. + repeated int32 public_dependency = 10; + // Indexes of the weak imported files in the dependency list. + // For Google-internal migration only. Do not use. + repeated int32 weak_dependency = 11; + + // All top-level definitions in this file. + repeated DescriptorProto message_type = 4; + repeated EnumDescriptorProto enum_type = 5; + repeated ServiceDescriptorProto service = 6; + repeated FieldDescriptorProto extension = 7; + + optional FileOptions options = 8; + + // This field contains optional information about the original source code. + // You may safely remove this entire field without harming runtime + // functionality of the descriptors -- the information is needed only by + // development tools. + optional SourceCodeInfo source_code_info = 9; + + // The syntax of the proto file. + // The supported values are "proto2" and "proto3". + optional string syntax = 12; +} + +// Describes a message type. +message DescriptorProto { + optional string name = 1; + + repeated FieldDescriptorProto field = 2; + repeated FieldDescriptorProto extension = 6; + + repeated DescriptorProto nested_type = 3; + repeated EnumDescriptorProto enum_type = 4; + + message ExtensionRange { + optional int32 start = 1; + optional int32 end = 2; + + optional ExtensionRangeOptions options = 3; + } + repeated ExtensionRange extension_range = 5; + + repeated OneofDescriptorProto oneof_decl = 8; + + optional MessageOptions options = 7; + + // Range of reserved tag numbers. Reserved tag numbers may not be used by + // fields or extension ranges in the same message. Reserved ranges may + // not overlap. + message ReservedRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Exclusive. + } + repeated ReservedRange reserved_range = 9; + // Reserved field names, which may not be used by fields in the same message. + // A given name may only be reserved once. + repeated string reserved_name = 10; +} + +message ExtensionRangeOptions { + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +// Describes a field within a message. +message FieldDescriptorProto { + enum Type { + // 0 is reserved for errors. + // Order is weird for historical reasons. + TYPE_DOUBLE = 1; + TYPE_FLOAT = 2; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + // negative values are likely. + TYPE_INT64 = 3; + TYPE_UINT64 = 4; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + // negative values are likely. + TYPE_INT32 = 5; + TYPE_FIXED64 = 6; + TYPE_FIXED32 = 7; + TYPE_BOOL = 8; + TYPE_STRING = 9; + // Tag-delimited aggregate. + // Group type is deprecated and not supported in proto3. However, Proto3 + // implementations should still be able to parse the group wire format and + // treat group fields as unknown fields. + TYPE_GROUP = 10; + TYPE_MESSAGE = 11; // Length-delimited aggregate. + + // New in version 2. + TYPE_BYTES = 12; + TYPE_UINT32 = 13; + TYPE_ENUM = 14; + TYPE_SFIXED32 = 15; + TYPE_SFIXED64 = 16; + TYPE_SINT32 = 17; // Uses ZigZag encoding. + TYPE_SINT64 = 18; // Uses ZigZag encoding. + }; + + enum Label { + // 0 is reserved for errors + LABEL_OPTIONAL = 1; + LABEL_REQUIRED = 2; + LABEL_REPEATED = 3; + }; + + optional string name = 1; + optional int32 number = 3; + optional Label label = 4; + + // If type_name is set, this need not be set. If both this and type_name + // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + optional Type type = 5; + + // For message and enum types, this is the name of the type. If the name + // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + // rules are used to find the type (i.e. first the nested types within this + // message are searched, then within the parent, on up to the root + // namespace). + optional string type_name = 6; + + // For extensions, this is the name of the type being extended. It is + // resolved in the same manner as type_name. + optional string extendee = 2; + + // For numeric types, contains the original text representation of the value. + // For booleans, "true" or "false". + // For strings, contains the default text contents (not escaped in any way). + // For bytes, contains the C escaped value. All bytes >= 128 are escaped. + // TODO(kenton): Base-64 encode? + optional string default_value = 7; + + // If set, gives the index of a oneof in the containing type's oneof_decl + // list. This field is a member of that oneof. + optional int32 oneof_index = 9; + + // JSON name of this field. The value is set by protocol compiler. If the + // user has set a "json_name" option on this field, that option's value + // will be used. Otherwise, it's deduced from the field's name by converting + // it to camelCase. + optional string json_name = 10; + + optional FieldOptions options = 8; +} + +// Describes a oneof. +message OneofDescriptorProto { + optional string name = 1; + optional OneofOptions options = 2; +} + +// Describes an enum type. +message EnumDescriptorProto { + optional string name = 1; + + repeated EnumValueDescriptorProto value = 2; + + optional EnumOptions options = 3; + + // Range of reserved numeric values. Reserved values may not be used by + // entries in the same enum. Reserved ranges may not overlap. + // + // Note that this is distinct from DescriptorProto.ReservedRange in that it + // is inclusive such that it can appropriately represent the entire int32 + // domain. + message EnumReservedRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Inclusive. + } + + // Range of reserved numeric values. Reserved numeric values may not be used + // by enum values in the same enum declaration. Reserved ranges may not + // overlap. + repeated EnumReservedRange reserved_range = 4; + + // Reserved enum value names, which may not be reused. A given name may only + // be reserved once. + repeated string reserved_name = 5; +} + +// Describes a value within an enum. +message EnumValueDescriptorProto { + optional string name = 1; + optional int32 number = 2; + + optional EnumValueOptions options = 3; +} + +// Describes a service. +message ServiceDescriptorProto { + optional string name = 1; + repeated MethodDescriptorProto method = 2; + + optional ServiceOptions options = 3; +} + +// Describes a method of a service. +message MethodDescriptorProto { + optional string name = 1; + + // Input and output type names. These are resolved in the same way as + // FieldDescriptorProto.type_name, but must refer to a message type. + optional string input_type = 2; + optional string output_type = 3; + + optional MethodOptions options = 4; + + // Identifies if client streams multiple client messages + optional bool client_streaming = 5 [default=false]; + // Identifies if server streams multiple server messages + optional bool server_streaming = 6 [default=false]; +} + + +// =================================================================== +// Options + +// Each of the definitions above may have "options" attached. These are +// just annotations which may cause code to be generated slightly differently +// or may contain hints for code that manipulates protocol messages. +// +// Clients may define custom options as extensions of the *Options messages. +// These extensions may not yet be known at parsing time, so the parser cannot +// store the values in them. Instead it stores them in a field in the *Options +// message called uninterpreted_option. This field must have the same name +// across all *Options messages. We then use this field to populate the +// extensions when we build a descriptor, at which point all protos have been +// parsed and so all extensions are known. +// +// Extension numbers for custom options may be chosen as follows: +// * For options which will only be used within a single application or +// organization, or for experimental options, use field numbers 50000 +// through 99999. It is up to you to ensure that you do not use the +// same number for multiple options. +// * For options which will be published and used publicly by multiple +// independent entities, e-mail protobuf-global-extension-registry@google.com +// to reserve extension numbers. Simply provide your project name (e.g. +// Objective-C plugin) and your project website (if available) -- there's no +// need to explain how you intend to use them. Usually you only need one +// extension number. You can declare multiple options with only one extension +// number by putting them in a sub-message. See the Custom Options section of +// the docs for examples: +// https://developers.google.com/protocol-buffers/docs/proto#options +// If this turns out to be popular, a web service will be set up +// to automatically assign option numbers. + + +message FileOptions { + + // Sets the Java package where classes generated from this .proto will be + // placed. By default, the proto package is used, but this is often + // inappropriate because proto packages do not normally start with backwards + // domain names. + optional string java_package = 1; + + + // If set, all the classes from the .proto file are wrapped in a single + // outer class with the given name. This applies to both Proto1 + // (equivalent to the old "--one_java_file" option) and Proto2 (where + // a .proto always translates to a single class, but you may want to + // explicitly choose the class name). + optional string java_outer_classname = 8; + + // If set true, then the Java code generator will generate a separate .java + // file for each top-level message, enum, and service defined in the .proto + // file. Thus, these types will *not* be nested inside the outer class + // named by java_outer_classname. However, the outer class will still be + // generated to contain the file's getDescriptor() method as well as any + // top-level extensions defined in the file. + optional bool java_multiple_files = 10 [default=false]; + + // This option does nothing. + optional bool java_generate_equals_and_hash = 20 [deprecated=true]; + + // If set true, then the Java2 code generator will generate code that + // throws an exception whenever an attempt is made to assign a non-UTF-8 + // byte sequence to a string field. + // Message reflection will do the same. + // However, an extension field still accepts non-UTF-8 byte sequences. + // This option has no effect on when used with the lite runtime. + optional bool java_string_check_utf8 = 27 [default=false]; + + + // Generated classes can be optimized for speed or code size. + enum OptimizeMode { + SPEED = 1; // Generate complete code for parsing, serialization, + // etc. + CODE_SIZE = 2; // Use ReflectionOps to implement these methods. + LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime. + } + optional OptimizeMode optimize_for = 9 [default=SPEED]; + + // Sets the Go package where structs generated from this .proto will be + // placed. If omitted, the Go package will be derived from the following: + // - The basename of the package import path, if provided. + // - Otherwise, the package statement in the .proto file, if present. + // - Otherwise, the basename of the .proto file, without extension. + optional string go_package = 11; + + + + // Should generic services be generated in each language? "Generic" services + // are not specific to any particular RPC system. They are generated by the + // main code generators in each language (without additional plugins). + // Generic services were the only kind of service generation supported by + // early versions of google.protobuf. + // + // Generic services are now considered deprecated in favor of using plugins + // that generate code specific to your particular RPC system. Therefore, + // these default to false. Old code which depends on generic services should + // explicitly set them to true. + optional bool cc_generic_services = 16 [default=false]; + optional bool java_generic_services = 17 [default=false]; + optional bool py_generic_services = 18 [default=false]; + optional bool php_generic_services = 42 [default=false]; + + // Is this file deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for everything in the file, or it will be completely ignored; in the very + // least, this is a formalization for deprecating files. + optional bool deprecated = 23 [default=false]; + + // Enables the use of arenas for the proto messages in this file. This applies + // only to generated classes for C++. + optional bool cc_enable_arenas = 31 [default=false]; + + + // Sets the objective c class prefix which is prepended to all objective c + // generated classes from this .proto. There is no default. + optional string objc_class_prefix = 36; + + // Namespace for generated classes; defaults to the package. + optional string csharp_namespace = 37; + + // By default Swift generators will take the proto package and CamelCase it + // replacing '.' with underscore and use that to prefix the types/symbols + // defined. When this options is provided, they will use this value instead + // to prefix the types/symbols defined. + optional string swift_prefix = 39; + + // Sets the php class prefix which is prepended to all php generated classes + // from this .proto. Default is empty. + optional string php_class_prefix = 40; + + // Use this option to change the namespace of php generated classes. Default + // is empty. When this option is empty, the package name will be used for + // determining the namespace. + optional string php_namespace = 41; + + + // Use this option to change the namespace of php generated metadata classes. + // Default is empty. When this option is empty, the proto file name will be used + // for determining the namespace. + optional string php_metadata_namespace = 44; + + // Use this option to change the package of ruby generated classes. Default + // is empty. When this option is not set, the package name will be used for + // determining the ruby package. + optional string ruby_package = 45; + + // The parser stores options it doesn't recognize here. + // See the documentation for the "Options" section above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. + // See the documentation for the "Options" section above. + extensions 1000 to max; + + reserved 38; +} + +message MessageOptions { + // Set true to use the old proto1 MessageSet wire format for extensions. + // This is provided for backwards-compatibility with the MessageSet wire + // format. You should not use this for any other reason: It's less + // efficient, has fewer features, and is more complicated. + // + // The message must be defined exactly as follows: + // message Foo { + // option message_set_wire_format = true; + // extensions 4 to max; + // } + // Note that the message cannot have any defined fields; MessageSets only + // have extensions. + // + // All extensions of your type must be singular messages; e.g. they cannot + // be int32s, enums, or repeated messages. + // + // Because this is an option, the above two restrictions are not enforced by + // the protocol compiler. + optional bool message_set_wire_format = 1 [default=false]; + + // Disables the generation of the standard "descriptor()" accessor, which can + // conflict with a field of the same name. This is meant to make migration + // from proto1 easier; new code should avoid fields named "descriptor". + optional bool no_standard_descriptor_accessor = 2 [default=false]; + + // Is this message deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the message, or it will be completely ignored; in the very least, + // this is a formalization for deprecating messages. + optional bool deprecated = 3 [default=false]; + + // Whether the message is an automatically generated map entry type for the + // maps field. + // + // For maps fields: + // map<KeyType, ValueType> map_field = 1; + // The parsed descriptor looks like: + // message MapFieldEntry { + // option map_entry = true; + // optional KeyType key = 1; + // optional ValueType value = 2; + // } + // repeated MapFieldEntry map_field = 1; + // + // Implementations may choose not to generate the map_entry=true message, but + // use a native map in the target language to hold the keys and values. + // The reflection APIs in such implementions still need to work as + // if the field is a repeated message field. + // + // NOTE: Do not set the option in .proto files. Always use the maps syntax + // instead. The option should only be implicitly set by the proto compiler + // parser. + optional bool map_entry = 7; + + reserved 8; // javalite_serializable + reserved 9; // javanano_as_lite + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message FieldOptions { + // The ctype option instructs the C++ code generator to use a different + // representation of the field than it normally would. See the specific + // options below. This option is not yet implemented in the open source + // release -- sorry, we'll try to include it in a future version! + optional CType ctype = 1 [default = STRING]; + enum CType { + // Default mode. + STRING = 0; + + CORD = 1; + + STRING_PIECE = 2; + } + // The packed option can be enabled for repeated primitive fields to enable + // a more efficient representation on the wire. Rather than repeatedly + // writing the tag and type for each element, the entire array is encoded as + // a single length-delimited blob. In proto3, only explicit setting it to + // false will avoid using packed encoding. + optional bool packed = 2; + + // The jstype option determines the JavaScript type used for values of the + // field. The option is permitted only for 64 bit integral and fixed types + // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + // is represented as JavaScript string, which avoids loss of precision that + // can happen when a large value is converted to a floating point JavaScript. + // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + // use the JavaScript "number" type. The behavior of the default option + // JS_NORMAL is implementation dependent. + // + // This option is an enum to permit additional types to be added, e.g. + // goog.math.Integer. + optional JSType jstype = 6 [default = JS_NORMAL]; + enum JSType { + // Use the default type. + JS_NORMAL = 0; + + // Use JavaScript strings. + JS_STRING = 1; + + // Use JavaScript numbers. + JS_NUMBER = 2; + } + + // Should this field be parsed lazily? Lazy applies only to message-type + // fields. It means that when the outer message is initially parsed, the + // inner message's contents will not be parsed but instead stored in encoded + // form. The inner message will actually be parsed when it is first accessed. + // + // This is only a hint. Implementations are free to choose whether to use + // eager or lazy parsing regardless of the value of this option. However, + // setting this option true suggests that the protocol author believes that + // using lazy parsing on this field is worth the additional bookkeeping + // overhead typically needed to implement it. + // + // This option does not affect the public interface of any generated code; + // all method signatures remain the same. Furthermore, thread-safety of the + // interface is not affected by this option; const methods remain safe to + // call from multiple threads concurrently, while non-const methods continue + // to require exclusive access. + // + // + // Note that implementations may choose not to check required fields within + // a lazy sub-message. That is, calling IsInitialized() on the outer message + // may return true even if the inner message has missing required fields. + // This is necessary because otherwise the inner message would have to be + // parsed in order to perform the check, defeating the purpose of lazy + // parsing. An implementation which chooses not to check required fields + // must be consistent about it. That is, for any particular sub-message, the + // implementation must either *always* check its required fields, or *never* + // check its required fields, regardless of whether or not the message has + // been parsed. + optional bool lazy = 5 [default=false]; + + // Is this field deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for accessors, or it will be completely ignored; in the very least, this + // is a formalization for deprecating fields. + optional bool deprecated = 3 [default=false]; + + // For Google-internal migration only. Do not use. + optional bool weak = 10 [default=false]; + + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; + + reserved 4; // removed jtype +} + +message OneofOptions { + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumOptions { + + // Set this option to true to allow mapping different tag names to the same + // value. + optional bool allow_alias = 2; + + // Is this enum deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum, or it will be completely ignored; in the very least, this + // is a formalization for deprecating enums. + optional bool deprecated = 3 [default=false]; + + reserved 5; // javanano_as_lite + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumValueOptions { + // Is this enum value deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum value, or it will be completely ignored; in the very least, + // this is a formalization for deprecating enum values. + optional bool deprecated = 1 [default=false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message ServiceOptions { + + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this service deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the service, or it will be completely ignored; in the very least, + // this is a formalization for deprecating services. + optional bool deprecated = 33 [default=false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message MethodOptions { + + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this method deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the method, or it will be completely ignored; in the very least, + // this is a formalization for deprecating methods. + optional bool deprecated = 33 [default=false]; + + // Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + // or neither? HTTP based RPC implementation may choose GET verb for safe + // methods, and PUT verb for idempotent methods instead of the default POST. + enum IdempotencyLevel { + IDEMPOTENCY_UNKNOWN = 0; + NO_SIDE_EFFECTS = 1; // implies idempotent + IDEMPOTENT = 2; // idempotent, but may have side effects + } + optional IdempotencyLevel idempotency_level = + 34 [default=IDEMPOTENCY_UNKNOWN]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + + +// A message representing a option the parser does not recognize. This only +// appears in options protos created by the compiler::Parser class. +// DescriptorPool resolves these when building Descriptor objects. Therefore, +// options protos in descriptor objects (e.g. returned by Descriptor::options(), +// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions +// in them. +message UninterpretedOption { + // The name of the uninterpreted option. Each string represents a segment in + // a dot-separated name. is_extension is true iff a segment represents an + // extension (denoted with parentheses in options specs in .proto files). + // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents + // "foo.(bar.baz).qux". + message NamePart { + required string name_part = 1; + required bool is_extension = 2; + } + repeated NamePart name = 2; + + // The value of the uninterpreted option, in whatever type the tokenizer + // identified it as during parsing. Exactly one of these should be set. + optional string identifier_value = 3; + optional uint64 positive_int_value = 4; + optional int64 negative_int_value = 5; + optional double double_value = 6; + optional bytes string_value = 7; + optional string aggregate_value = 8; +} + +// =================================================================== +// Optional source code info + +// Encapsulates information about the original source file from which a +// FileDescriptorProto was generated. +message SourceCodeInfo { + // A Location identifies a piece of source code in a .proto file which + // corresponds to a particular definition. This information is intended + // to be useful to IDEs, code indexers, documentation generators, and similar + // tools. + // + // For example, say we have a file like: + // message Foo { + // optional string foo = 1; + // } + // Let's look at just the field definition: + // optional string foo = 1; + // ^ ^^ ^^ ^ ^^^ + // a bc de f ghi + // We have the following locations: + // span path represents + // [a,i) [ 4, 0, 2, 0 ] The whole field definition. + // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + // [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + // [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + // + // Notes: + // - A location may refer to a repeated field itself (i.e. not to any + // particular index within it). This is used whenever a set of elements are + // logically enclosed in a single code segment. For example, an entire + // extend block (possibly containing multiple extension definitions) will + // have an outer location whose path refers to the "extensions" repeated + // field without an index. + // - Multiple locations may have the same path. This happens when a single + // logical declaration is spread out across multiple places. The most + // obvious example is the "extend" block again -- there may be multiple + // extend blocks in the same scope, each of which will have the same path. + // - A location's span is not always a subset of its parent's span. For + // example, the "extendee" of an extension declaration appears at the + // beginning of the "extend" block and is shared by all extensions within + // the block. + // - Just because a location's span is a subset of some other location's span + // does not mean that it is a descendent. For example, a "group" defines + // both a type and a field in a single declaration. Thus, the locations + // corresponding to the type and field and their components will overlap. + // - Code which tries to interpret locations should probably be designed to + // ignore those that it doesn't understand, as more types of locations could + // be recorded in the future. + repeated Location location = 1; + message Location { + // Identifies which part of the FileDescriptorProto was defined at this + // location. + // + // Each element is a field number or an index. They form a path from + // the root FileDescriptorProto to the place where the definition. For + // example, this path: + // [ 4, 3, 2, 7, 1 ] + // refers to: + // file.message_type(3) // 4, 3 + // .field(7) // 2, 7 + // .name() // 1 + // This is because FileDescriptorProto.message_type has field number 4: + // repeated DescriptorProto message_type = 4; + // and DescriptorProto.field has field number 2: + // repeated FieldDescriptorProto field = 2; + // and FieldDescriptorProto.name has field number 1: + // optional string name = 1; + // + // Thus, the above path gives the location of a field name. If we removed + // the last element: + // [ 4, 3, 2, 7 ] + // this path refers to the whole field declaration (from the beginning + // of the label to the terminating semicolon). + repeated int32 path = 1 [packed=true]; + + // Always has exactly three or four elements: start line, start column, + // end line (optional, otherwise assumed same as start line), end column. + // These are packed into a single field for efficiency. Note that line + // and column numbers are zero-based -- typically you will want to add + // 1 to each before displaying to a user. + repeated int32 span = 2 [packed=true]; + + // If this SourceCodeInfo represents a complete declaration, these are any + // comments appearing before and after the declaration which appear to be + // attached to the declaration. + // + // A series of line comments appearing on consecutive lines, with no other + // tokens appearing on those lines, will be treated as a single comment. + // + // leading_detached_comments will keep paragraphs of comments that appear + // before (but not connected to) the current element. Each paragraph, + // separated by empty lines, will be one comment element in the repeated + // field. + // + // Only the comment content is provided; comment markers (e.g. //) are + // stripped out. For block comments, leading whitespace and an asterisk + // will be stripped from the beginning of each line other than the first. + // Newlines are included in the output. + // + // Examples: + // + // optional int32 foo = 1; // Comment attached to foo. + // // Comment attached to bar. + // optional int32 bar = 2; + // + // optional string baz = 3; + // // Comment attached to baz. + // // Another line attached to baz. + // + // // Comment attached to qux. + // // + // // Another line attached to qux. + // optional double qux = 4; + // + // // Detached comment for corge. This is not leading or trailing comments + // // to qux or corge because there are blank lines separating it from + // // both. + // + // // Detached comment for corge paragraph 2. + // + // optional string corge = 5; + // /* Block comment attached + // * to corge. Leading asterisks + // * will be removed. */ + // /* Block comment attached to + // * grault. */ + // optional int32 grault = 6; + // + // // ignored detached comments. + optional string leading_comments = 3; + optional string trailing_comments = 4; + repeated string leading_detached_comments = 6; + } +} + +// Describes the relationship between generated code and its original source +// file. A GeneratedCodeInfo message is associated with only one generated +// source file, but may contain references to different source .proto files. +message GeneratedCodeInfo { + // An Annotation connects some span of text in generated code to an element + // of its generating .proto file. + repeated Annotation annotation = 1; + message Annotation { + // Identifies the element in the original source .proto file. This field + // is formatted the same as SourceCodeInfo.Location.path. + repeated int32 path = 1 [packed=true]; + + // Identifies the filesystem path to the original source .proto. + optional string source_file = 2; + + // Identifies the starting offset in bytes in the generated code + // that relates to the identified object. + optional int32 begin = 3; + + // Identifies the ending offset in bytes in the generated code that + // relates to the identified offset. The end offset should be one past + // the last relevant byte (so the length of the text = end - begin). + optional int32 end = 4; + } +} diff --git a/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/duration.proto b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/duration.proto new file mode 100644 index 0000000000000000000000000000000000000000..975fce41aae054aa4c20c1481db60d1333d6e7b6 --- /dev/null +++ b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/duration.proto @@ -0,0 +1,117 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option cc_enable_arenas = true; +option go_package = "github.com/golang/protobuf/ptypes/duration"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "DurationProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + +// A Duration represents a signed, fixed-length span of time represented +// as a count of seconds and fractions of seconds at nanosecond +// resolution. It is independent of any calendar and concepts like "day" +// or "month". It is related to Timestamp in that the difference between +// two Timestamp values is a Duration and it can be added or subtracted +// from a Timestamp. Range is approximately +-10,000 years. +// +// # Examples +// +// Example 1: Compute Duration from two Timestamps in pseudo code. +// +// Timestamp start = ...; +// Timestamp end = ...; +// Duration duration = ...; +// +// duration.seconds = end.seconds - start.seconds; +// duration.nanos = end.nanos - start.nanos; +// +// if (duration.seconds < 0 && duration.nanos > 0) { +// duration.seconds += 1; +// duration.nanos -= 1000000000; +// } else if (durations.seconds > 0 && duration.nanos < 0) { +// duration.seconds -= 1; +// duration.nanos += 1000000000; +// } +// +// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. +// +// Timestamp start = ...; +// Duration duration = ...; +// Timestamp end = ...; +// +// end.seconds = start.seconds + duration.seconds; +// end.nanos = start.nanos + duration.nanos; +// +// if (end.nanos < 0) { +// end.seconds -= 1; +// end.nanos += 1000000000; +// } else if (end.nanos >= 1000000000) { +// end.seconds += 1; +// end.nanos -= 1000000000; +// } +// +// Example 3: Compute Duration from datetime.timedelta in Python. +// +// td = datetime.timedelta(days=3, minutes=10) +// duration = Duration() +// duration.FromTimedelta(td) +// +// # JSON Mapping +// +// In JSON format, the Duration type is encoded as a string rather than an +// object, where the string ends in the suffix "s" (indicating seconds) and +// is preceded by the number of seconds, with nanoseconds expressed as +// fractional seconds. For example, 3 seconds with 0 nanoseconds should be +// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should +// be expressed in JSON format as "3.000000001s", and 3 seconds and 1 +// microsecond should be expressed in JSON format as "3.000001s". +// +// +message Duration { + + // Signed seconds of the span of time. Must be from -315,576,000,000 + // to +315,576,000,000 inclusive. Note: these bounds are computed from: + // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + int64 seconds = 1; + + // Signed fractions of a second at nanosecond resolution of the span + // of time. Durations less than one second are represented with a 0 + // `seconds` field and a positive or negative `nanos` field. For durations + // of one second or more, a non-zero value for the `nanos` field must be + // of the same sign as the `seconds` field. Must be from -999,999,999 + // to +999,999,999 inclusive. + int32 nanos = 2; +} diff --git a/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/empty.proto b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/empty.proto new file mode 100644 index 0000000000000000000000000000000000000000..03cacd233088d07d8c5d167c021efb5525cb4cb9 --- /dev/null +++ b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/empty.proto @@ -0,0 +1,52 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "github.com/golang/protobuf/ptypes/empty"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "EmptyProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option cc_enable_arenas = true; + +// A generic empty message that you can re-use to avoid defining duplicated +// empty messages in your APIs. A typical example is to use it as the request +// or the response type of an API method. For instance: +// +// service Foo { +// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); +// } +// +// The JSON representation for `Empty` is empty JSON object `{}`. +message Empty {} diff --git a/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/field_mask.proto b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/field_mask.proto new file mode 100644 index 0000000000000000000000000000000000000000..4015b1a3eaf077430f6b435c7cec63f93b7b246b --- /dev/null +++ b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/field_mask.proto @@ -0,0 +1,245 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "FieldMaskProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option go_package = "google.golang.org/genproto/protobuf/field_mask;field_mask"; +option cc_enable_arenas = true; + +// `FieldMask` represents a set of symbolic field paths, for example: +// +// paths: "f.a" +// paths: "f.b.d" +// +// Here `f` represents a field in some root message, `a` and `b` +// fields in the message found in `f`, and `d` a field found in the +// message in `f.b`. +// +// Field masks are used to specify a subset of fields that should be +// returned by a get operation or modified by an update operation. +// Field masks also have a custom JSON encoding (see below). +// +// # Field Masks in Projections +// +// When used in the context of a projection, a response message or +// sub-message is filtered by the API to only contain those fields as +// specified in the mask. For example, if the mask in the previous +// example is applied to a response message as follows: +// +// f { +// a : 22 +// b { +// d : 1 +// x : 2 +// } +// y : 13 +// } +// z: 8 +// +// The result will not contain specific values for fields x,y and z +// (their value will be set to the default, and omitted in proto text +// output): +// +// +// f { +// a : 22 +// b { +// d : 1 +// } +// } +// +// A repeated field is not allowed except at the last position of a +// paths string. +// +// If a FieldMask object is not present in a get operation, the +// operation applies to all fields (as if a FieldMask of all fields +// had been specified). +// +// Note that a field mask does not necessarily apply to the +// top-level response message. In case of a REST get operation, the +// field mask applies directly to the response, but in case of a REST +// list operation, the mask instead applies to each individual message +// in the returned resource list. In case of a REST custom method, +// other definitions may be used. Where the mask applies will be +// clearly documented together with its declaration in the API. In +// any case, the effect on the returned resource/resources is required +// behavior for APIs. +// +// # Field Masks in Update Operations +// +// A field mask in update operations specifies which fields of the +// targeted resource are going to be updated. The API is required +// to only change the values of the fields as specified in the mask +// and leave the others untouched. If a resource is passed in to +// describe the updated values, the API ignores the values of all +// fields not covered by the mask. +// +// If a repeated field is specified for an update operation, new values will +// be appended to the existing repeated field in the target resource. Note that +// a repeated field is only allowed in the last position of a `paths` string. +// +// If a sub-message is specified in the last position of the field mask for an +// update operation, then new value will be merged into the existing sub-message +// in the target resource. +// +// For example, given the target message: +// +// f { +// b { +// d: 1 +// x: 2 +// } +// c: [1] +// } +// +// And an update message: +// +// f { +// b { +// d: 10 +// } +// c: [2] +// } +// +// then if the field mask is: +// +// paths: ["f.b", "f.c"] +// +// then the result will be: +// +// f { +// b { +// d: 10 +// x: 2 +// } +// c: [1, 2] +// } +// +// An implementation may provide options to override this default behavior for +// repeated and message fields. +// +// In order to reset a field's value to the default, the field must +// be in the mask and set to the default value in the provided resource. +// Hence, in order to reset all fields of a resource, provide a default +// instance of the resource and set all fields in the mask, or do +// not provide a mask as described below. +// +// If a field mask is not present on update, the operation applies to +// all fields (as if a field mask of all fields has been specified). +// Note that in the presence of schema evolution, this may mean that +// fields the client does not know and has therefore not filled into +// the request will be reset to their default. If this is unwanted +// behavior, a specific service may require a client to always specify +// a field mask, producing an error if not. +// +// As with get operations, the location of the resource which +// describes the updated values in the request message depends on the +// operation kind. In any case, the effect of the field mask is +// required to be honored by the API. +// +// ## Considerations for HTTP REST +// +// The HTTP kind of an update operation which uses a field mask must +// be set to PATCH instead of PUT in order to satisfy HTTP semantics +// (PUT must only be used for full updates). +// +// # JSON Encoding of Field Masks +// +// In JSON, a field mask is encoded as a single string where paths are +// separated by a comma. Fields name in each path are converted +// to/from lower-camel naming conventions. +// +// As an example, consider the following message declarations: +// +// message Profile { +// User user = 1; +// Photo photo = 2; +// } +// message User { +// string display_name = 1; +// string address = 2; +// } +// +// In proto a field mask for `Profile` may look as such: +// +// mask { +// paths: "user.display_name" +// paths: "photo" +// } +// +// In JSON, the same mask is represented as below: +// +// { +// mask: "user.displayName,photo" +// } +// +// # Field Masks and Oneof Fields +// +// Field masks treat fields in oneofs just as regular fields. Consider the +// following message: +// +// message SampleMessage { +// oneof test_oneof { +// string name = 4; +// SubMessage sub_message = 9; +// } +// } +// +// The field mask can be: +// +// mask { +// paths: "name" +// } +// +// Or: +// +// mask { +// paths: "sub_message" +// } +// +// Note that oneof type names ("test_oneof" in this case) cannot be used in +// paths. +// +// ## Field Mask Verification +// +// The implementation of any API method which has a FieldMask type field in the +// request should verify the included field paths, and return an +// `INVALID_ARGUMENT` error if any path is duplicated or unmappable. +message FieldMask { + // The set of field mask paths. + repeated string paths = 1; +} diff --git a/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/source_context.proto b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/source_context.proto new file mode 100644 index 0000000000000000000000000000000000000000..f3b2c966811f399fa95fcbf1b2a66911e10ea63a --- /dev/null +++ b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/source_context.proto @@ -0,0 +1,48 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "SourceContextProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option go_package = "google.golang.org/genproto/protobuf/source_context;source_context"; + +// `SourceContext` represents information about the source of a +// protobuf element, like the file in which it is defined. +message SourceContext { + // The path-qualified name of the .proto file that contained the associated + // protobuf element. For example: `"google/protobuf/source_context.proto"`. + string file_name = 1; +} diff --git a/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/struct.proto b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/struct.proto new file mode 100644 index 0000000000000000000000000000000000000000..7d7808e7fbb697a71795e0ce6b955f04c75639a7 --- /dev/null +++ b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/struct.proto @@ -0,0 +1,96 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option cc_enable_arenas = true; +option go_package = "github.com/golang/protobuf/ptypes/struct;structpb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "StructProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + + +// `Struct` represents a structured data value, consisting of fields +// which map to dynamically typed values. In some languages, `Struct` +// might be supported by a native representation. For example, in +// scripting languages like JS a struct is represented as an +// object. The details of that representation are described together +// with the proto support for the language. +// +// The JSON representation for `Struct` is JSON object. +message Struct { + // Unordered map of dynamically typed values. + map<string, Value> fields = 1; +} + +// `Value` represents a dynamically typed value which can be either +// null, a number, a string, a boolean, a recursive struct value, or a +// list of values. A producer of value is expected to set one of that +// variants, absence of any variant indicates an error. +// +// The JSON representation for `Value` is JSON value. +message Value { + // The kind of value. + oneof kind { + // Represents a null value. + NullValue null_value = 1; + // Represents a double value. + double number_value = 2; + // Represents a string value. + string string_value = 3; + // Represents a boolean value. + bool bool_value = 4; + // Represents a structured value. + Struct struct_value = 5; + // Represents a repeated `Value`. + ListValue list_value = 6; + } +} + +// `NullValue` is a singleton enumeration to represent the null value for the +// `Value` type union. +// +// The JSON representation for `NullValue` is JSON `null`. +enum NullValue { + // Null value. + NULL_VALUE = 0; +} + +// `ListValue` is a wrapper around a repeated field of values. +// +// The JSON representation for `ListValue` is JSON array. +message ListValue { + // Repeated field of dynamically typed values. + repeated Value values = 1; +} diff --git a/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/timestamp.proto b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/timestamp.proto new file mode 100644 index 0000000000000000000000000000000000000000..2b9e26a9b391e8df0df7c7ddccffb496a01db93e --- /dev/null +++ b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/timestamp.proto @@ -0,0 +1,137 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option cc_enable_arenas = true; +option go_package = "github.com/golang/protobuf/ptypes/timestamp"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "TimestampProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + +// A Timestamp represents a point in time independent of any time zone or local +// calendar, encoded as a count of seconds and fractions of seconds at +// nanosecond resolution. The count is relative to an epoch at UTC midnight on +// January 1, 1970, in the proleptic Gregorian calendar which extends the +// Gregorian calendar backwards to year one. +// +// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap +// second table is needed for interpretation, using a [24-hour linear +// smear](https://developers.google.com/time/smear). +// +// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By +// restricting to that range, we ensure that we can convert to and from [RFC +// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. +// +// # Examples +// +// Example 1: Compute Timestamp from POSIX `time()`. +// +// Timestamp timestamp; +// timestamp.set_seconds(time(NULL)); +// timestamp.set_nanos(0); +// +// Example 2: Compute Timestamp from POSIX `gettimeofday()`. +// +// struct timeval tv; +// gettimeofday(&tv, NULL); +// +// Timestamp timestamp; +// timestamp.set_seconds(tv.tv_sec); +// timestamp.set_nanos(tv.tv_usec * 1000); +// +// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. +// +// FILETIME ft; +// GetSystemTimeAsFileTime(&ft); +// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; +// +// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z +// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. +// Timestamp timestamp; +// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); +// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); +// +// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. +// +// long millis = System.currentTimeMillis(); +// +// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) +// .setNanos((int) ((millis % 1000) * 1000000)).build(); +// +// +// Example 5: Compute Timestamp from current time in Python. +// +// timestamp = Timestamp() +// timestamp.GetCurrentTime() +// +// # JSON Mapping +// +// In JSON format, the Timestamp type is encoded as a string in the +// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the +// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" +// where {year} is always expressed using four digits while {month}, {day}, +// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional +// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), +// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone +// is required. A proto3 JSON serializer should always use UTC (as indicated by +// "Z") when printing the Timestamp type and a proto3 JSON parser should be +// able to accept both UTC and other timezones (as indicated by an offset). +// +// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past +// 01:30 UTC on January 15, 2017. +// +// In JavaScript, one can convert a Date object to this format using the +// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) +// method. In Python, a standard `datetime.datetime` object can be converted +// to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) +// with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one +// can use the Joda Time's [`ISODateTimeFormat.dateTime()`]( +// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D +// ) to obtain a formatter capable of generating timestamps in this format. +// +// +message Timestamp { + + // Represents seconds of UTC time since Unix epoch + // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + // 9999-12-31T23:59:59Z inclusive. + int64 seconds = 1; + + // Non-negative fractions of a second at nanosecond resolution. Negative + // second values with fractions must still have non-negative nanos values + // that count forward in time. Must be from 0 to 999,999,999 + // inclusive. + int32 nanos = 2; +} diff --git a/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/type.proto b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/type.proto new file mode 100644 index 0000000000000000000000000000000000000000..624c15ee61616609b8838e07b2657607690d1787 --- /dev/null +++ b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/type.proto @@ -0,0 +1,187 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +import "google/protobuf/any.proto"; +import "google/protobuf/source_context.proto"; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option cc_enable_arenas = true; +option java_package = "com.google.protobuf"; +option java_outer_classname = "TypeProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option go_package = "google.golang.org/genproto/protobuf/ptype;ptype"; + +// A protocol buffer message type. +message Type { + // The fully qualified message name. + string name = 1; + // The list of fields. + repeated Field fields = 2; + // The list of types appearing in `oneof` definitions in this type. + repeated string oneofs = 3; + // The protocol buffer options. + repeated Option options = 4; + // The source context. + SourceContext source_context = 5; + // The source syntax. + Syntax syntax = 6; +} + +// A single field of a message type. +message Field { + // Basic field types. + enum Kind { + // Field type unknown. + TYPE_UNKNOWN = 0; + // Field type double. + TYPE_DOUBLE = 1; + // Field type float. + TYPE_FLOAT = 2; + // Field type int64. + TYPE_INT64 = 3; + // Field type uint64. + TYPE_UINT64 = 4; + // Field type int32. + TYPE_INT32 = 5; + // Field type fixed64. + TYPE_FIXED64 = 6; + // Field type fixed32. + TYPE_FIXED32 = 7; + // Field type bool. + TYPE_BOOL = 8; + // Field type string. + TYPE_STRING = 9; + // Field type group. Proto2 syntax only, and deprecated. + TYPE_GROUP = 10; + // Field type message. + TYPE_MESSAGE = 11; + // Field type bytes. + TYPE_BYTES = 12; + // Field type uint32. + TYPE_UINT32 = 13; + // Field type enum. + TYPE_ENUM = 14; + // Field type sfixed32. + TYPE_SFIXED32 = 15; + // Field type sfixed64. + TYPE_SFIXED64 = 16; + // Field type sint32. + TYPE_SINT32 = 17; + // Field type sint64. + TYPE_SINT64 = 18; + }; + + // Whether a field is optional, required, or repeated. + enum Cardinality { + // For fields with unknown cardinality. + CARDINALITY_UNKNOWN = 0; + // For optional fields. + CARDINALITY_OPTIONAL = 1; + // For required fields. Proto2 syntax only. + CARDINALITY_REQUIRED = 2; + // For repeated fields. + CARDINALITY_REPEATED = 3; + }; + + // The field type. + Kind kind = 1; + // The field cardinality. + Cardinality cardinality = 2; + // The field number. + int32 number = 3; + // The field name. + string name = 4; + // The field type URL, without the scheme, for message or enumeration + // types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + string type_url = 6; + // The index of the field type in `Type.oneofs`, for message or enumeration + // types. The first type has index 1; zero means the type is not in the list. + int32 oneof_index = 7; + // Whether to use alternative packed wire representation. + bool packed = 8; + // The protocol buffer options. + repeated Option options = 9; + // The field JSON name. + string json_name = 10; + // The string value of the default value of this field. Proto2 syntax only. + string default_value = 11; +} + +// Enum type definition. +message Enum { + // Enum type name. + string name = 1; + // Enum value definitions. + repeated EnumValue enumvalue = 2; + // Protocol buffer options. + repeated Option options = 3; + // The source context. + SourceContext source_context = 4; + // The source syntax. + Syntax syntax = 5; +} + +// Enum value definition. +message EnumValue { + // Enum value name. + string name = 1; + // Enum value number. + int32 number = 2; + // Protocol buffer options. + repeated Option options = 3; +} + +// A protocol buffer option, which can be attached to a message, field, +// enumeration, etc. +message Option { + // The option's name. For protobuf built-in options (options defined in + // descriptor.proto), this is the short name. For example, `"map_entry"`. + // For custom options, it should be the fully-qualified name. For example, + // `"google.api.http"`. + string name = 1; + // The option's value packed in an Any message. If the value is a primitive, + // the corresponding wrapper type defined in google/protobuf/wrappers.proto + // should be used. If the value is an enum, it should be stored as an int32 + // value using the google.protobuf.Int32Value type. + Any value = 2; +} + +// The syntax in which a protocol buffer element is defined. +enum Syntax { + // Syntax `proto2`. + SYNTAX_PROTO2 = 0; + // Syntax `proto3`. + SYNTAX_PROTO3 = 1; +} diff --git a/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/wrappers.proto b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/wrappers.proto new file mode 100644 index 0000000000000000000000000000000000000000..9ee41e384ac7dca4b41d5cbb1ab0ac163c6dec0a --- /dev/null +++ b/Interface/target/protoc-dependencies/1eb17c7d00df30152969686210789c6b/google/protobuf/wrappers.proto @@ -0,0 +1,123 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Wrappers for primitive (non-message) types. These types are useful +// for embedding primitives in the `google.protobuf.Any` type and for places +// where we need to distinguish between the absence of a primitive +// typed field and its default value. +// +// These wrappers have no meaningful use within repeated fields as they lack +// the ability to detect presence on individual elements. +// These wrappers have no meaningful use within a map or a oneof since +// individual entries of a map or fields of a oneof can already detect presence. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option cc_enable_arenas = true; +option go_package = "github.com/golang/protobuf/ptypes/wrappers"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "WrappersProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + +// Wrapper message for `double`. +// +// The JSON representation for `DoubleValue` is JSON number. +message DoubleValue { + // The double value. + double value = 1; +} + +// Wrapper message for `float`. +// +// The JSON representation for `FloatValue` is JSON number. +message FloatValue { + // The float value. + float value = 1; +} + +// Wrapper message for `int64`. +// +// The JSON representation for `Int64Value` is JSON string. +message Int64Value { + // The int64 value. + int64 value = 1; +} + +// Wrapper message for `uint64`. +// +// The JSON representation for `UInt64Value` is JSON string. +message UInt64Value { + // The uint64 value. + uint64 value = 1; +} + +// Wrapper message for `int32`. +// +// The JSON representation for `Int32Value` is JSON number. +message Int32Value { + // The int32 value. + int32 value = 1; +} + +// Wrapper message for `uint32`. +// +// The JSON representation for `UInt32Value` is JSON number. +message UInt32Value { + // The uint32 value. + uint32 value = 1; +} + +// Wrapper message for `bool`. +// +// The JSON representation for `BoolValue` is JSON `true` and `false`. +message BoolValue { + // The bool value. + bool value = 1; +} + +// Wrapper message for `string`. +// +// The JSON representation for `StringValue` is JSON string. +message StringValue { + // The string value. + string value = 1; +} + +// Wrapper message for `bytes`. +// +// The JSON representation for `BytesValue` is JSON string. +message BytesValue { + // The bytes value. + bytes value = 1; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/annotations.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/annotations.proto new file mode 100644 index 0000000000000000000000000000000000000000..85c361b47fed2db6cc590e6db22358d80d030f4c --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/annotations.proto @@ -0,0 +1,31 @@ +// Copyright (c) 2015, Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/api/http.proto"; +import "google/protobuf/descriptor.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; +option java_multiple_files = true; +option java_outer_classname = "AnnotationsProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + +extend google.protobuf.MethodOptions { + // See `HttpRule`. + HttpRule http = 72295728; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/auth.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/auth.proto new file mode 100644 index 0000000000000000000000000000000000000000..cdbc1efe90ed2df16db91461ffb30ab97aa07ac8 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/auth.proto @@ -0,0 +1,181 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/api/annotations.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "AuthProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// `Authentication` defines the authentication configuration for an API. +// +// Example for an API targeted for external use: +// +// name: calendar.googleapis.com +// authentication: +// providers: +// - id: google_calendar_auth +// jwks_uri: https://www.googleapis.com/oauth2/v1/certs +// issuer: https://securetoken.google.com +// rules: +// - selector: "*" +// requirements: +// provider_id: google_calendar_auth +message Authentication { + // A list of authentication rules that apply to individual API methods. + // + // **NOTE:** All service configuration rules follow "last one wins" order. + repeated AuthenticationRule rules = 3; + + // Defines a set of authentication providers that a service supports. + repeated AuthProvider providers = 4; +} + +// Authentication rules for the service. +// +// By default, if a method has any authentication requirements, every request +// must include a valid credential matching one of the requirements. +// It's an error to include more than one kind of credential in a single +// request. +// +// If a method doesn't have any auth requirements, request credentials will be +// ignored. +message AuthenticationRule { + // Selects the methods to which this rule applies. + // + // Refer to [selector][google.api.DocumentationRule.selector] for syntax details. + string selector = 1; + + // The requirements for OAuth credentials. + OAuthRequirements oauth = 2; + + // If true, the service accepts API keys without any other credential. + bool allow_without_credential = 5; + + // Requirements for additional authentication providers. + repeated AuthRequirement requirements = 7; +} + +// Configuration for an anthentication provider, including support for +// [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). +message AuthProvider { + // The unique identifier of the auth provider. It will be referred to by + // `AuthRequirement.provider_id`. + // + // Example: "bookstore_auth". + string id = 1; + + // Identifies the principal that issued the JWT. See + // https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 + // Usually a URL or an email address. + // + // Example: https://securetoken.google.com + // Example: 1234567-compute@developer.gserviceaccount.com + string issuer = 2; + + // URL of the provider's public key set to validate signature of the JWT. See + // [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata). + // Optional if the key set document: + // - can be retrieved from + // [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html + // of the issuer. + // - can be inferred from the email domain of the issuer (e.g. a Google service account). + // + // Example: https://www.googleapis.com/oauth2/v1/certs + string jwks_uri = 3; + + // The list of JWT + // [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + // that are allowed to access. A JWT containing any of these audiences will + // be accepted. When this setting is absent, only JWTs with audience + // "https://[Service_name][google.api.Service.name]/[API_name][google.protobuf.Api.name]" + // will be accepted. For example, if no audiences are in the setting, + // LibraryService API will only accept JWTs with the following audience + // "https://library-example.googleapis.com/google.example.library.v1.LibraryService". + // + // Example: + // + // audiences: bookstore_android.apps.googleusercontent.com, + // bookstore_web.apps.googleusercontent.com + string audiences = 4; + + // Redirect URL if JWT token is required but no present or is expired. + // Implement authorizationUrl of securityDefinitions in OpenAPI spec. + string authorization_url = 5; +} + +// OAuth scopes are a way to define data and permissions on data. For example, +// there are scopes defined for "Read-only access to Google Calendar" and +// "Access to Cloud Platform". Users can consent to a scope for an application, +// giving it permission to access that data on their behalf. +// +// OAuth scope specifications should be fairly coarse grained; a user will need +// to see and understand the text description of what your scope means. +// +// In most cases: use one or at most two OAuth scopes for an entire family of +// products. If your product has multiple APIs, you should probably be sharing +// the OAuth scope across all of those APIs. +// +// When you need finer grained OAuth consent screens: talk with your product +// management about how developers will use them in practice. +// +// Please note that even though each of the canonical scopes is enough for a +// request to be accepted and passed to the backend, a request can still fail +// due to the backend requiring additional scopes or permissions. +message OAuthRequirements { + // The list of publicly documented OAuth scopes that are allowed access. An + // OAuth token containing any of these scopes will be accepted. + // + // Example: + // + // canonical_scopes: https://www.googleapis.com/auth/calendar, + // https://www.googleapis.com/auth/calendar.read + string canonical_scopes = 1; +} + +// User-defined authentication requirements, including support for +// [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). +message AuthRequirement { + // [id][google.api.AuthProvider.id] from authentication provider. + // + // Example: + // + // provider_id: bookstore_auth + string provider_id = 1; + + // NOTE: This will be deprecated soon, once AuthProvider.audiences is + // implemented and accepted in all the runtime components. + // + // The list of JWT + // [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + // that are allowed to access. A JWT containing any of these audiences will + // be accepted. When this setting is absent, only JWTs with audience + // "https://[Service_name][google.api.Service.name]/[API_name][google.protobuf.Api.name]" + // will be accepted. For example, if no audiences are in the setting, + // LibraryService API will only accept JWTs with the following audience + // "https://library-example.googleapis.com/google.example.library.v1.LibraryService". + // + // Example: + // + // audiences: bookstore_android.apps.googleusercontent.com, + // bookstore_web.apps.googleusercontent.com + string audiences = 2; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/backend.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/backend.proto new file mode 100644 index 0000000000000000000000000000000000000000..dd22919d07d742ce5c40e8008c2ed992e0f15914 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/backend.proto @@ -0,0 +1,51 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "BackendProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// `Backend` defines the backend configuration for a service. +message Backend { + // A list of API backend rules that apply to individual API methods. + // + // **NOTE:** All service configuration rules follow "last one wins" order. + repeated BackendRule rules = 1; +} + +// A backend rule provides configuration for an individual API element. +message BackendRule { + // Selects the methods to which this rule applies. + // + // Refer to [selector][google.api.DocumentationRule.selector] for syntax details. + string selector = 1; + + // The address of the API backend. + string address = 2; + + // The number of seconds to wait for a response from a request. The default + // deadline for gRPC is infinite (no deadline) and HTTP requests is 5 seconds. + double deadline = 3; + + // Minimum deadline in seconds needed for this method. Calls having deadline + // value lower than this will be rejected. + double min_deadline = 4; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/billing.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/billing.proto new file mode 100644 index 0000000000000000000000000000000000000000..a20bd58f76e796b99b7673af317123d11a35add1 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/billing.proto @@ -0,0 +1,68 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/api/annotations.proto"; +import "google/api/metric.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "BillingProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// Billing related configuration of the service. +// +// The following example shows how to configure monitored resources and metrics +// for billing: +// +// monitored_resources: +// - type: library.googleapis.com/branch +// labels: +// - key: /city +// description: The city where the library branch is located in. +// - key: /name +// description: The name of the branch. +// metrics: +// - name: library.googleapis.com/book/borrowed_count +// metric_kind: DELTA +// value_type: INT64 +// billing: +// consumer_destinations: +// - monitored_resource: library.googleapis.com/branch +// metrics: +// - library.googleapis.com/book/borrowed_count +message Billing { + // Configuration of a specific billing destination (Currently only support + // bill against consumer project). + message BillingDestination { + // The monitored resource type. The type must be defined in + // [Service.monitored_resources][google.api.Service.monitored_resources] section. + string monitored_resource = 1; + + // Names of the metrics to report to this billing destination. + // Each name must be defined in [Service.metrics][google.api.Service.metrics] section. + repeated string metrics = 2; + } + + // Billing configurations for sending metrics to the consumer project. + // There can be multiple consumer destinations per service, each one must have + // a different monitored resource type. A metric can be used in at most + // one consumer destination. + repeated BillingDestination consumer_destinations = 8; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/config_change.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/config_change.proto new file mode 100644 index 0000000000000000000000000000000000000000..1e787931c16d436473a3d29f650a8874bcd8c005 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/config_change.proto @@ -0,0 +1,85 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +option go_package = "google.golang.org/genproto/googleapis/api/configchange;configchange"; +option java_multiple_files = true; +option java_outer_classname = "ConfigChangeProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// Output generated from semantically comparing two versions of a service +// configuration. +// +// Includes detailed information about a field that have changed with +// applicable advice about potential consequences for the change, such as +// backwards-incompatibility. +message ConfigChange { + // Object hierarchy path to the change, with levels separated by a '.' + // character. For repeated fields, an applicable unique identifier field is + // used for the index (usually selector, name, or id). For maps, the term + // 'key' is used. If the field has no unique identifier, the numeric index + // is used. + // Examples: + // - visibility.rules[selector=="google.LibraryService.CreateBook"].restriction + // - quota.metric_rules[selector=="google"].metric_costs[key=="reads"].value + // - logging.producer_destinations[0] + string element = 1; + + // Value of the changed object in the old Service configuration, + // in JSON format. This field will not be populated if ChangeType == ADDED. + string old_value = 2; + + // Value of the changed object in the new Service configuration, + // in JSON format. This field will not be populated if ChangeType == REMOVED. + string new_value = 3; + + // The type for this change, either ADDED, REMOVED, or MODIFIED. + ChangeType change_type = 4; + + // Collection of advice provided for this change, useful for determining the + // possible impact of this change. + repeated Advice advices = 5; +} + +// Generated advice about this change, used for providing more +// information about how a change will affect the existing service. +message Advice { + // Useful description for why this advice was applied and what actions should + // be taken to mitigate any implied risks. + string description = 2; +} + +// Classifies set of possible modifications to an object in the service +// configuration. +enum ChangeType { + // No value was provided. + CHANGE_TYPE_UNSPECIFIED = 0; + + // The changed object exists in the 'new' service configuration, but not + // in the 'old' service configuration. + ADDED = 1; + + // The changed object exists in the 'old' service configuration, but not + // in the 'new' service configuration. + REMOVED = 2; + + // The changed object exists in both service configurations, but its value + // is different. + MODIFIED = 3; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/consumer.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/consumer.proto new file mode 100644 index 0000000000000000000000000000000000000000..4e963168efc985e338efb9da18b78df9e1ac9f87 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/consumer.proto @@ -0,0 +1,83 @@ +// Copyright 2016 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "ConsumerProto"; +option java_package = "com.google.api"; + + +// A descriptor for defining project properties for a service. One service may +// have many consumer projects, and the service may want to behave differently +// depending on some properties on the project. For example, a project may be +// associated with a school, or a business, or a government agency, a business +// type property on the project may affect how a service responds to the client. +// This descriptor defines which properties are allowed to be set on a project. +// +// Example: +// +// project_properties: +// properties: +// - name: NO_WATERMARK +// type: BOOL +// description: Allows usage of the API without watermarks. +// - name: EXTENDED_TILE_CACHE_PERIOD +// type: INT64 +message ProjectProperties { + // List of per consumer project-specific properties. + repeated Property properties = 1; +} + +// Defines project properties. +// +// API services can define properties that can be assigned to consumer projects +// so that backends can perform response customization without having to make +// additional calls or maintain additional storage. For example, Maps API +// defines properties that controls map tile cache period, or whether to embed a +// watermark in a result. +// +// These values can be set via API producer console. Only API providers can +// define and set these properties. +message Property { + // Supported data type of the property values + enum PropertyType { + // The type is unspecified, and will result in an error. + UNSPECIFIED = 0; + + // The type is `int64`. + INT64 = 1; + + // The type is `bool`. + BOOL = 2; + + // The type is `string`. + STRING = 3; + + // The type is 'double'. + DOUBLE = 4; + } + + // The name of the property (a.k.a key). + string name = 1; + + // The type of this property. + PropertyType type = 2; + + // The description of the property + string description = 3; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/context.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/context.proto new file mode 100644 index 0000000000000000000000000000000000000000..fd03fcae916b5bb7edd4a0990b643400e623b8ad --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/context.proto @@ -0,0 +1,63 @@ +// Copyright 2017 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "ContextProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// `Context` defines which contexts an API requests. +// +// Example: +// +// context: +// rules: +// - selector: "*" +// requested: +// - google.rpc.context.ProjectContext +// - google.rpc.context.OriginContext +// +// The above specifies that all methods in the API request +// `google.rpc.context.ProjectContext` and +// `google.rpc.context.OriginContext`. +// +// Available context types are defined in package +// `google.rpc.context`. +message Context { + // A list of RPC context rules that apply to individual API methods. + // + // **NOTE:** All service configuration rules follow "last one wins" order. + repeated ContextRule rules = 1; +} + +// A context rule provides information about the context for an individual API +// element. +message ContextRule { + // Selects the methods to which this rule applies. + // + // Refer to [selector][google.api.DocumentationRule.selector] for syntax details. + string selector = 1; + + // A list of full type names of requested contexts. + repeated string requested = 2; + + // A list of full type names of provided contexts. + repeated string provided = 3; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/control.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/control.proto new file mode 100644 index 0000000000000000000000000000000000000000..772d61175f9562e00c95cd697d01fd54465a0108 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/control.proto @@ -0,0 +1,33 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "ControlProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// Selects and configures the service controller used by the service. The +// service controller handles features like abuse, quota, billing, logging, +// monitoring, etc. +message Control { + // The service control environment to use. If empty, no control plane + // feature (like quota and billing) will be enabled. + string environment = 1; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/distribution.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/distribution.proto new file mode 100644 index 0000000000000000000000000000000000000000..2861e9b6f3af91e4fa806143f5938aafd10fcde2 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/distribution.proto @@ -0,0 +1,185 @@ +// Copyright 2016 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/api/annotations.proto"; +import "google/protobuf/any.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/distribution;distribution"; +option java_multiple_files = true; +option java_outer_classname = "DistributionProto"; +option java_package = "com.google.api"; + + +// Distribution contains summary statistics for a population of values and, +// optionally, a histogram representing the distribution of those values across +// a specified set of histogram buckets. +// +// The summary statistics are the count, mean, sum of the squared deviation from +// the mean, the minimum, and the maximum of the set of population of values. +// +// The histogram is based on a sequence of buckets and gives a count of values +// that fall into each bucket. The boundaries of the buckets are given either +// explicitly or by specifying parameters for a method of computing them +// (buckets of fixed width or buckets of exponentially increasing width). +// +// Although it is not forbidden, it is generally a bad idea to include +// non-finite values (infinities or NaNs) in the population of values, as this +// will render the `mean` and `sum_of_squared_deviation` fields meaningless. +message Distribution { + // The range of the population values. + message Range { + // The minimum of the population values. + double min = 1; + + // The maximum of the population values. + double max = 2; + } + + // A Distribution may optionally contain a histogram of the values in the + // population. The histogram is given in `bucket_counts` as counts of values + // that fall into one of a sequence of non-overlapping buckets. The sequence + // of buckets is described by `bucket_options`. + // + // A bucket specifies an inclusive lower bound and exclusive upper bound for + // the values that are counted for that bucket. The upper bound of a bucket + // is strictly greater than the lower bound. + // + // The sequence of N buckets for a Distribution consists of an underflow + // bucket (number 0), zero or more finite buckets (number 1 through N - 2) and + // an overflow bucket (number N - 1). The buckets are contiguous: the lower + // bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. + // The buckets span the whole range of finite values: lower bound of the + // underflow bucket is -infinity and the upper bound of the overflow bucket is + // +infinity. The finite buckets are so-called because both bounds are + // finite. + // + // `BucketOptions` describes bucket boundaries in one of three ways. Two + // describe the boundaries by giving parameters for a formula to generate + // boundaries and one gives the bucket boundaries explicitly. + // + // If `bucket_boundaries` is not given, then no `bucket_counts` may be given. + message BucketOptions { + // Specify a sequence of buckets that all have the same width (except + // overflow and underflow). Each bucket represents a constant absolute + // uncertainty on the specific value in the bucket. + // + // Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for + // bucket `i`: + // + // Upper bound (0 <= i < N-1): offset + (width * i). + // Lower bound (1 <= i < N): offset + (width * (i - 1)). + message Linear { + // Must be greater than 0. + int32 num_finite_buckets = 1; + + // Must be greater than 0. + double width = 2; + + // Lower bound of the first bucket. + double offset = 3; + } + + // Specify a sequence of buckets that have a width that is proportional to + // the value of the lower bound. Each bucket represents a constant relative + // uncertainty on a specific value in the bucket. + // + // Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for + // bucket i: + // + // Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). + // Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)). + message Exponential { + // Must be greater than 0. + int32 num_finite_buckets = 1; + + // Must be greater than 1. + double growth_factor = 2; + + // Must be greater than 0. + double scale = 3; + } + + // A set of buckets with arbitrary widths. + // + // Defines `size(bounds) + 1` (= N) buckets with these boundaries for + // bucket i: + // + // Upper bound (0 <= i < N-1): bounds[i] + // Lower bound (1 <= i < N); bounds[i - 1] + // + // There must be at least one element in `bounds`. If `bounds` has only one + // element, there are no finite buckets, and that single element is the + // common boundary of the overflow and underflow buckets. + message Explicit { + // The values must be monotonically increasing. + repeated double bounds = 1; + } + + // Exactly one of these three fields must be set. + oneof options { + // The linear bucket. + Linear linear_buckets = 1; + + // The exponential buckets. + Exponential exponential_buckets = 2; + + // The explicit buckets. + Explicit explicit_buckets = 3; + } + } + + // The number of values in the population. Must be non-negative. + int64 count = 1; + + // The arithmetic mean of the values in the population. If `count` is zero + // then this field must be zero. + double mean = 2; + + // The sum of squared deviations from the mean of the values in the + // population. For values x_i this is: + // + // Sum[i=1..n]((x_i - mean)^2) + // + // Knuth, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition + // describes Welford's method for accumulating this sum in one pass. + // + // If `count` is zero then this field must be zero. + double sum_of_squared_deviation = 3; + + // If specified, contains the range of the population values. The field + // must not be present if the `count` is zero. + Range range = 4; + + // Defines the histogram bucket boundaries. + BucketOptions bucket_options = 6; + + // If `bucket_options` is given, then the sum of the values in `bucket_counts` + // must equal the value in `count`. If `bucket_options` is not given, no + // `bucket_counts` fields may be given. + // + // Bucket counts are given in order under the numbering scheme described + // above (the underflow bucket has number 0; the finite buckets, if any, + // have numbers 1 through N-2; the overflow bucket has number N-1). + // + // The size of `bucket_counts` must be no greater than N as defined in + // `bucket_options`. + // + // Any suffix of trailing zero bucket_count fields may be omitted. + repeated int64 bucket_counts = 7; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/documentation.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/documentation.proto new file mode 100644 index 0000000000000000000000000000000000000000..03cd73109a31aefbba8aa9624750977237ecd867 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/documentation.proto @@ -0,0 +1,157 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "DocumentationProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// `Documentation` provides the information for describing a service. +// +// Example: +// <pre><code>documentation: +// summary: > +// The Google Calendar API gives access +// to most calendar features. +// pages: +// - name: Overview +// content: (== include google/foo/overview.md ==) +// - name: Tutorial +// content: (== include google/foo/tutorial.md ==) +// subpages; +// - name: Java +// content: (== include google/foo/tutorial_java.md ==) +// rules: +// - selector: google.calendar.Calendar.Get +// description: > +// ... +// - selector: google.calendar.Calendar.Put +// description: > +// ... +// </code></pre> +// Documentation is provided in markdown syntax. In addition to +// standard markdown features, definition lists, tables and fenced +// code blocks are supported. Section headers can be provided and are +// interpreted relative to the section nesting of the context where +// a documentation fragment is embedded. +// +// Documentation from the IDL is merged with documentation defined +// via the config at normalization time, where documentation provided +// by config rules overrides IDL provided. +// +// A number of constructs specific to the API platform are supported +// in documentation text. +// +// In order to reference a proto element, the following +// notation can be used: +// <pre><code>[fully.qualified.proto.name][]</code></pre> +// To override the display text used for the link, this can be used: +// <pre><code>[display text][fully.qualified.proto.name]</code></pre> +// Text can be excluded from doc using the following notation: +// <pre><code>(-- internal comment --)</code></pre> +// +// A few directives are available in documentation. Note that +// directives must appear on a single line to be properly +// identified. The `include` directive includes a markdown file from +// an external source: +// <pre><code>(== include path/to/file ==)</code></pre> +// The `resource_for` directive marks a message to be the resource of +// a collection in REST view. If it is not specified, tools attempt +// to infer the resource from the operations in a collection: +// <pre><code>(== resource_for v1.shelves.books ==)</code></pre> +// The directive `suppress_warning` does not directly affect documentation +// and is documented together with service config validation. +message Documentation { + // A short summary of what the service does. Can only be provided by + // plain text. + string summary = 1; + + // The top level pages for the documentation set. + repeated Page pages = 5; + + // A list of documentation rules that apply to individual API elements. + // + // **NOTE:** All service configuration rules follow "last one wins" order. + repeated DocumentationRule rules = 3; + + // The URL to the root of documentation. + string documentation_root_url = 4; + + // Declares a single overview page. For example: + // <pre><code>documentation: + // summary: ... + // overview: (== include overview.md ==) + // </code></pre> + // This is a shortcut for the following declaration (using pages style): + // <pre><code>documentation: + // summary: ... + // pages: + // - name: Overview + // content: (== include overview.md ==) + // </code></pre> + // Note: you cannot specify both `overview` field and `pages` field. + string overview = 2; +} + +// A documentation rule provides information about individual API elements. +message DocumentationRule { + // The selector is a comma-separated list of patterns. Each pattern is a + // qualified name of the element which may end in "*", indicating a wildcard. + // Wildcards are only allowed at the end and for a whole component of the + // qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". To + // specify a default for all applicable elements, the whole pattern "*" + // is used. + string selector = 1; + + // Description of the selected API(s). + string description = 2; + + // Deprecation description of the selected element(s). It can be provided if an + // element is marked as `deprecated`. + string deprecation_description = 3; +} + +// Represents a documentation page. A page can contain subpages to represent +// nested documentation set structure. +message Page { + // The name of the page. It will be used as an identity of the page to + // generate URI of the page, text of the link to this page in navigation, + // etc. The full page name (start from the root page name to this page + // concatenated with `.`) can be used as reference to the page in your + // documentation. For example: + // <pre><code>pages: + // - name: Tutorial + // content: (== include tutorial.md ==) + // subpages: + // - name: Java + // content: (== include tutorial_java.md ==) + // </code></pre> + // You can reference `Java` page using Markdown reference link syntax: + // `[Java][Tutorial.Java]`. + string name = 1; + + // The Markdown content of the page. You can use <code>(== include {path} ==)</code> + // to include content from a Markdown file. + string content = 2; + + // Subpages of this page. The order of subpages specified here will be + // honored in the generated docset. + repeated Page subpages = 3; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/endpoint.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/endpoint.proto new file mode 100644 index 0000000000000000000000000000000000000000..c7bb13b0377f723b5b98499cc9af78503cb95c09 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/endpoint.proto @@ -0,0 +1,71 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/api/annotations.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "EndpointProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// `Endpoint` describes a network endpoint that serves a set of APIs. +// A service may expose any number of endpoints, and all endpoints share the +// same service configuration, such as quota configuration and monitoring +// configuration. +// +// Example service configuration: +// +// name: library-example.googleapis.com +// endpoints: +// # Below entry makes 'google.example.library.v1.Library' +// # API be served from endpoint address library-example.googleapis.com. +// # It also allows HTTP OPTIONS calls to be passed to the backend, for +// # it to decide whether the subsequent cross-origin request is +// # allowed to proceed. +// - name: library-example.googleapis.com +// allow_cors: true +message Endpoint { + // The canonical name of this endpoint. + string name = 1; + + // DEPRECATED: This field is no longer supported. Instead of using aliases, + // please specify multiple [google.api.Endpoint][google.api.Endpoint] for each of the intended + // aliases. + // + // Additional names that this endpoint will be hosted on. + repeated string aliases = 2; + + // The list of features enabled on this endpoint. + repeated string features = 4; + + // The specification of an Internet routable address of API frontend that will + // handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary). + // It should be either a valid IPv4 address or a fully-qualified domain name. + // For example, "8.8.8.8" or "myservice.appspot.com". + string target = 101; + + // Allowing + // [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka + // cross-domain traffic, would allow the backends served from this endpoint to + // receive and respond to HTTP OPTIONS requests. The response will be used by + // the browser to determine whether the subsequent cross-origin request is + // allowed to proceed. + bool allow_cors = 5; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/experimental/authorization_config.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/experimental/authorization_config.proto new file mode 100644 index 0000000000000000000000000000000000000000..21b35af48e33b1e7f09b06d4fb7582080c0e0f76 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/experimental/authorization_config.proto @@ -0,0 +1,40 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +option go_package = "google.golang.org/genproto/googleapis/api;api"; +option java_multiple_files = true; +option java_outer_classname = "AuthorizationConfigProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// Configuration of authorization. +// +// This section determines the authorization provider, if unspecified, then no +// authorization check will be done. +// +// Example: +// +// experimental: +// authorization: +// provider: firebaserules.googleapis.com +message AuthorizationConfig { + // The name of the authorization provider, such as + // firebaserules.googleapis.com. + string provider = 1; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/experimental/experimental.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/experimental/experimental.proto new file mode 100644 index 0000000000000000000000000000000000000000..a839cee57750eac0536ace9282db565370636a4a --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/experimental/experimental.proto @@ -0,0 +1,34 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/api/annotations.proto"; +import "google/api/experimental/authorization_config.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api;api"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentalProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// Experimental service configuration. These configuration options can +// only be used by whitelisted users. +message Experimental { + // Authorization configuration. + AuthorizationConfig authorization = 8; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/http.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/http.proto new file mode 100644 index 0000000000000000000000000000000000000000..78d515d4b6a1bc7914a72b443479d9baa0b2d972 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/http.proto @@ -0,0 +1,313 @@ +// Copyright 2018 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; +option java_multiple_files = true; +option java_outer_classname = "HttpProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// Defines the HTTP configuration for an API service. It contains a list of +// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method +// to one or more HTTP REST API methods. +message Http { + // A list of HTTP configuration rules that apply to individual API methods. + // + // **NOTE:** All service configuration rules follow "last one wins" order. + repeated HttpRule rules = 1; + + // When set to true, URL path parmeters will be fully URI-decoded except in + // cases of single segment matches in reserved expansion, where "%2F" will be + // left encoded. + // + // The default behavior is to not decode RFC 6570 reserved characters in multi + // segment matches. + bool fully_decode_reserved_expansion = 2; +} + +// `HttpRule` defines the mapping of an RPC method to one or more HTTP +// REST API methods. The mapping specifies how different portions of the RPC +// request message are mapped to URL path, URL query parameters, and +// HTTP request body. The mapping is typically specified as an +// `google.api.http` annotation on the RPC method, +// see "google/api/annotations.proto" for details. +// +// The mapping consists of a field specifying the path template and +// method kind. The path template can refer to fields in the request +// message, as in the example below which describes a REST GET +// operation on a resource collection of messages: +// +// +// service Messaging { +// rpc GetMessage(GetMessageRequest) returns (Message) { +// option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}"; +// } +// } +// message GetMessageRequest { +// message SubMessage { +// string subfield = 1; +// } +// string message_id = 1; // mapped to the URL +// SubMessage sub = 2; // `sub.subfield` is url-mapped +// } +// message Message { +// string text = 1; // content of the resource +// } +// +// The same http annotation can alternatively be expressed inside the +// `GRPC API Configuration` YAML file. +// +// http: +// rules: +// - selector: <proto_package_name>.Messaging.GetMessage +// get: /v1/messages/{message_id}/{sub.subfield} +// +// This definition enables an automatic, bidrectional mapping of HTTP +// JSON to RPC. Example: +// +// HTTP | RPC +// -----|----- +// `GET /v1/messages/123456/foo` | `GetMessage(message_id: "123456" sub: SubMessage(subfield: "foo"))` +// +// In general, not only fields but also field paths can be referenced +// from a path pattern. Fields mapped to the path pattern cannot be +// repeated and must have a primitive (non-message) type. +// +// Any fields in the request message which are not bound by the path +// pattern automatically become (optional) HTTP query +// parameters. Assume the following definition of the request message: +// +// +// service Messaging { +// rpc GetMessage(GetMessageRequest) returns (Message) { +// option (google.api.http).get = "/v1/messages/{message_id}"; +// } +// } +// message GetMessageRequest { +// message SubMessage { +// string subfield = 1; +// } +// string message_id = 1; // mapped to the URL +// int64 revision = 2; // becomes a parameter +// SubMessage sub = 3; // `sub.subfield` becomes a parameter +// } +// +// +// This enables a HTTP JSON to RPC mapping as below: +// +// HTTP | RPC +// -----|----- +// `GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: "foo"))` +// +// Note that fields which are mapped to HTTP parameters must have a +// primitive type or a repeated primitive type. Message types are not +// allowed. In the case of a repeated type, the parameter can be +// repeated in the URL, as in `...?param=A¶m=B`. +// +// For HTTP method kinds which allow a request body, the `body` field +// specifies the mapping. Consider a REST update method on the +// message resource collection: +// +// +// service Messaging { +// rpc UpdateMessage(UpdateMessageRequest) returns (Message) { +// option (google.api.http) = { +// put: "/v1/messages/{message_id}" +// body: "message" +// }; +// } +// } +// message UpdateMessageRequest { +// string message_id = 1; // mapped to the URL +// Message message = 2; // mapped to the body +// } +// +// +// The following HTTP JSON to RPC mapping is enabled, where the +// representation of the JSON in the request body is determined by +// protos JSON encoding: +// +// HTTP | RPC +// -----|----- +// `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" message { text: "Hi!" })` +// +// The special name `*` can be used in the body mapping to define that +// every field not bound by the path template should be mapped to the +// request body. This enables the following alternative definition of +// the update method: +// +// service Messaging { +// rpc UpdateMessage(Message) returns (Message) { +// option (google.api.http) = { +// put: "/v1/messages/{message_id}" +// body: "*" +// }; +// } +// } +// message Message { +// string message_id = 1; +// string text = 2; +// } +// +// +// The following HTTP JSON to RPC mapping is enabled: +// +// HTTP | RPC +// -----|----- +// `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" text: "Hi!")` +// +// Note that when using `*` in the body mapping, it is not possible to +// have HTTP parameters, as all fields not bound by the path end in +// the body. This makes this option more rarely used in practice of +// defining REST APIs. The common usage of `*` is in custom methods +// which don't use the URL at all for transferring data. +// +// It is possible to define multiple HTTP methods for one RPC by using +// the `additional_bindings` option. Example: +// +// service Messaging { +// rpc GetMessage(GetMessageRequest) returns (Message) { +// option (google.api.http) = { +// get: "/v1/messages/{message_id}" +// additional_bindings { +// get: "/v1/users/{user_id}/messages/{message_id}" +// } +// }; +// } +// } +// message GetMessageRequest { +// string message_id = 1; +// string user_id = 2; +// } +// +// +// This enables the following two alternative HTTP JSON to RPC +// mappings: +// +// HTTP | RPC +// -----|----- +// `GET /v1/messages/123456` | `GetMessage(message_id: "123456")` +// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: "123456")` +// +// # Rules for HTTP mapping +// +// The rules for mapping HTTP path, query parameters, and body fields +// to the request message are as follows: +// +// 1. The `body` field specifies either `*` or a field path, or is +// omitted. If omitted, it indicates there is no HTTP request body. +// 2. Leaf fields (recursive expansion of nested messages in the +// request) can be classified into three types: +// (a) Matched in the URL template. +// (b) Covered by body (if body is `*`, everything except (a) fields; +// else everything under the body field) +// (c) All other fields. +// 3. URL query parameters found in the HTTP request are mapped to (c) fields. +// 4. Any body sent with an HTTP request can contain only (b) fields. +// +// The syntax of the path template is as follows: +// +// Template = "/" Segments [ Verb ] ; +// Segments = Segment { "/" Segment } ; +// Segment = "*" | "**" | LITERAL | Variable ; +// Variable = "{" FieldPath [ "=" Segments ] "}" ; +// FieldPath = IDENT { "." IDENT } ; +// Verb = ":" LITERAL ; +// +// The syntax `*` matches a single path segment. The syntax `**` matches zero +// or more path segments, which must be the last part of the path except the +// `Verb`. The syntax `LITERAL` matches literal text in the path. +// +// The syntax `Variable` matches part of the URL path as specified by its +// template. A variable template must not contain other variables. If a variable +// matches a single path segment, its template may be omitted, e.g. `{var}` +// is equivalent to `{var=*}`. +// +// If a variable contains exactly one path segment, such as `"{var}"` or +// `"{var=*}"`, when such a variable is expanded into a URL path, all characters +// except `[-_.~0-9a-zA-Z]` are percent-encoded. Such variables show up in the +// Discovery Document as `{var}`. +// +// If a variable contains one or more path segments, such as `"{var=foo/*}"` +// or `"{var=**}"`, when such a variable is expanded into a URL path, all +// characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. Such variables +// show up in the Discovery Document as `{+var}`. +// +// NOTE: While the single segment variable matches the semantics of +// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 +// Simple String Expansion, the multi segment variable **does not** match +// RFC 6570 Reserved Expansion. The reason is that the Reserved Expansion +// does not expand special characters like `?` and `#`, which would lead +// to invalid URLs. +// +// NOTE: the field paths in variables and in the `body` must not refer to +// repeated fields or map fields. +message HttpRule { + // Selects methods to which this rule applies. + // + // Refer to [selector][google.api.DocumentationRule.selector] for syntax details. + string selector = 1; + + // Determines the URL pattern is matched by this rules. This pattern can be + // used with any of the {get|put|post|delete|patch} methods. A custom method + // can be defined using the 'custom' field. + oneof pattern { + // Used for listing and getting information about resources. + string get = 2; + + // Used for updating a resource. + string put = 3; + + // Used for creating a resource. + string post = 4; + + // Used for deleting a resource. + string delete = 5; + + // Used for updating a resource. + string patch = 6; + + // The custom pattern is used for specifying an HTTP method that is not + // included in the `pattern` field, such as HEAD, or "*" to leave the + // HTTP method unspecified for this rule. The wild-card rule is useful + // for services that provide content to Web (HTML) clients. + CustomHttpPattern custom = 8; + } + + // The name of the request field whose value is mapped to the HTTP body, or + // `*` for mapping all fields not captured by the path pattern to the HTTP + // body. NOTE: the referred field must not be a repeated field and must be + // present at the top-level of request message type. + string body = 7; + + // Additional HTTP bindings for the selector. Nested bindings must + // not contain an `additional_bindings` field themselves (that is, + // the nesting may only be one level deep). + repeated HttpRule additional_bindings = 11; +} + +// A custom pattern is used for defining custom HTTP verb. +message CustomHttpPattern { + // The name of this custom HTTP verb. + string kind = 1; + + // The path matched by this custom verb. + string path = 2; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/httpbody.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/httpbody.proto new file mode 100644 index 0000000000000000000000000000000000000000..0e86e267d75126dfd652f1ba5750e625e987785c --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/httpbody.proto @@ -0,0 +1,76 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/protobuf/any.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/httpbody;httpbody"; +option java_multiple_files = true; +option java_outer_classname = "HttpBodyProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// Message that represents an arbitrary HTTP body. It should only be used for +// payload formats that can't be represented as JSON, such as raw binary or +// an HTML page. +// +// +// This message can be used both in streaming and non-streaming API methods in +// the request as well as the response. +// +// It can be used as a top-level request field, which is convenient if one +// wants to extract parameters from either the URL or HTTP template into the +// request fields and also want access to the raw HTTP body. +// +// Example: +// +// message GetResourceRequest { +// // A unique request id. +// string request_id = 1; +// +// // The raw HTTP body is bound to this field. +// google.api.HttpBody http_body = 2; +// } +// +// service ResourceService { +// rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); +// rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); +// } +// +// Example with streaming methods: +// +// service CaldavService { +// rpc GetCalendar(stream google.api.HttpBody) +// returns (stream google.api.HttpBody); +// rpc UpdateCalendar(stream google.api.HttpBody) +// returns (stream google.api.HttpBody); +// } +// +// Use of this type only changes how the request and response bodies are +// handled, all other features will continue to work unchanged. +message HttpBody { + // The HTTP Content-Type string representing the content type of the body. + string content_type = 1; + + // HTTP body binary data. + bytes data = 2; + + // Application specific response metadata. Must be set in the first response + // for streaming APIs. + repeated google.protobuf.Any extensions = 3; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/label.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/label.proto new file mode 100644 index 0000000000000000000000000000000000000000..3c20752ceb975ec46df4326c610d73bab4e031dc --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/label.proto @@ -0,0 +1,49 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/api/label;label"; +option java_multiple_files = true; +option java_outer_classname = "LabelProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// A description of a label. +message LabelDescriptor { + // Value types that can be used as label values. + enum ValueType { + // A variable-length string. This is the default. + STRING = 0; + + // Boolean; true or false. + BOOL = 1; + + // A 64-bit signed integer. + INT64 = 2; + } + + // The label key. + string key = 1; + + // The type of data that can be assigned to the label. + ValueType value_type = 2; + + // A human-readable description for the label. + string description = 3; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/log.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/log.proto new file mode 100644 index 0000000000000000000000000000000000000000..673b5245ab24404cb9b80d214eb8d01a0cece971 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/log.proto @@ -0,0 +1,55 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/api/label.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "LogProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// A description of a log type. Example in YAML format: +// +// - name: library.googleapis.com/activity_history +// description: The history of borrowing and returning library items. +// display_name: Activity +// labels: +// - key: /customer_id +// description: Identifier of a library customer +message LogDescriptor { + // The name of the log. It must be less than 512 characters long and can + // include the following characters: upper- and lower-case alphanumeric + // characters [A-Za-z0-9], and punctuation characters including + // slash, underscore, hyphen, period [/_-.]. + string name = 1; + + // The set of labels that are available to describe a specific log entry. + // Runtime requests that contain labels not specified here are + // considered invalid. + repeated LabelDescriptor labels = 2; + + // A human-readable description of this log. This information appears in + // the documentation and can contain details. + string description = 3; + + // The human-readable name for this log. This information appears on + // the user interface and should be concise. + string display_name = 4; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/logging.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/logging.proto new file mode 100644 index 0000000000000000000000000000000000000000..ee7c1966e4706bcff9e303127564f41df47b9228 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/logging.proto @@ -0,0 +1,83 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/api/annotations.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "LoggingProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// Logging configuration of the service. +// +// The following example shows how to configure logs to be sent to the +// producer and consumer projects. In the example, the `activity_history` +// log is sent to both the producer and consumer projects, whereas the +// `purchase_history` log is only sent to the producer project. +// +// monitored_resources: +// - type: library.googleapis.com/branch +// labels: +// - key: /city +// description: The city where the library branch is located in. +// - key: /name +// description: The name of the branch. +// logs: +// - name: activity_history +// labels: +// - key: /customer_id +// - name: purchase_history +// logging: +// producer_destinations: +// - monitored_resource: library.googleapis.com/branch +// logs: +// - activity_history +// - purchase_history +// consumer_destinations: +// - monitored_resource: library.googleapis.com/branch +// logs: +// - activity_history +message Logging { + // Configuration of a specific logging destination (the producer project + // or the consumer project). + message LoggingDestination { + // The monitored resource type. The type must be defined in the + // [Service.monitored_resources][google.api.Service.monitored_resources] section. + string monitored_resource = 3; + + // Names of the logs to be sent to this destination. Each name must + // be defined in the [Service.logs][google.api.Service.logs] section. If the log name is + // not a domain scoped name, it will be automatically prefixed with + // the service name followed by "/". + repeated string logs = 1; + } + + // Logging configurations for sending logs to the producer project. + // There can be multiple producer destinations, each one must have a + // different monitored resource type. A log can be used in at most + // one producer destination. + repeated LoggingDestination producer_destinations = 1; + + // Logging configurations for sending logs to the consumer project. + // There can be multiple consumer destinations, each one must have a + // different monitored resource type. A log can be used in at most + // one consumer destination. + repeated LoggingDestination consumer_destinations = 2; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/metric.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/metric.proto new file mode 100644 index 0000000000000000000000000000000000000000..5473ce5bfe440f3bfa6a64e887942694e5704140 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/metric.proto @@ -0,0 +1,192 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/api/label.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/metric;metric"; +option java_multiple_files = true; +option java_outer_classname = "MetricProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// Defines a metric type and its schema. Once a metric descriptor is created, +// deleting or altering it stops data collection and makes the metric type's +// existing data unusable. +message MetricDescriptor { + // The kind of measurement. It describes how the data is reported. + enum MetricKind { + // Do not use this default value. + METRIC_KIND_UNSPECIFIED = 0; + + // An instantaneous measurement of a value. + GAUGE = 1; + + // The change in a value during a time interval. + DELTA = 2; + + // A value accumulated over a time interval. Cumulative + // measurements in a time series should have the same start time + // and increasing end times, until an event resets the cumulative + // value to zero and sets a new start time for the following + // points. + CUMULATIVE = 3; + } + + // The value type of a metric. + enum ValueType { + // Do not use this default value. + VALUE_TYPE_UNSPECIFIED = 0; + + // The value is a boolean. + // This value type can be used only if the metric kind is `GAUGE`. + BOOL = 1; + + // The value is a signed 64-bit integer. + INT64 = 2; + + // The value is a double precision floating point number. + DOUBLE = 3; + + // The value is a text string. + // This value type can be used only if the metric kind is `GAUGE`. + STRING = 4; + + // The value is a [`Distribution`][google.api.Distribution]. + DISTRIBUTION = 5; + + // The value is money. + MONEY = 6; + } + + // The resource name of the metric descriptor. + string name = 1; + + // The metric type, including its DNS name prefix. The type is not + // URL-encoded. All user-defined custom metric types have the DNS name + // `custom.googleapis.com`. Metric types should use a natural hierarchical + // grouping. For example: + // + // "custom.googleapis.com/invoice/paid/amount" + // "appengine.googleapis.com/http/server/response_latencies" + string type = 8; + + // The set of labels that can be used to describe a specific + // instance of this metric type. For example, the + // `appengine.googleapis.com/http/server/response_latencies` metric + // type has a label for the HTTP response code, `response_code`, so + // you can look at latencies for successful responses or just + // for responses that failed. + repeated LabelDescriptor labels = 2; + + // Whether the metric records instantaneous values, changes to a value, etc. + // Some combinations of `metric_kind` and `value_type` might not be supported. + MetricKind metric_kind = 3; + + // Whether the measurement is an integer, a floating-point number, etc. + // Some combinations of `metric_kind` and `value_type` might not be supported. + ValueType value_type = 4; + + // The unit in which the metric value is reported. It is only applicable + // if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The + // supported units are a subset of [The Unified Code for Units of + // Measure](http://unitsofmeasure.org/ucum.html) standard: + // + // **Basic units (UNIT)** + // + // * `bit` bit + // * `By` byte + // * `s` second + // * `min` minute + // * `h` hour + // * `d` day + // + // **Prefixes (PREFIX)** + // + // * `k` kilo (10**3) + // * `M` mega (10**6) + // * `G` giga (10**9) + // * `T` tera (10**12) + // * `P` peta (10**15) + // * `E` exa (10**18) + // * `Z` zetta (10**21) + // * `Y` yotta (10**24) + // * `m` milli (10**-3) + // * `u` micro (10**-6) + // * `n` nano (10**-9) + // * `p` pico (10**-12) + // * `f` femto (10**-15) + // * `a` atto (10**-18) + // * `z` zepto (10**-21) + // * `y` yocto (10**-24) + // * `Ki` kibi (2**10) + // * `Mi` mebi (2**20) + // * `Gi` gibi (2**30) + // * `Ti` tebi (2**40) + // + // **Grammar** + // + // The grammar also includes these connectors: + // + // * `/` division (as an infix operator, e.g. `1/s`). + // * `.` multiplication (as an infix operator, e.g. `GBy.d`) + // + // The grammar for a unit is as follows: + // + // Expression = Component { "." Component } { "/" Component } ; + // + // Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ] + // | Annotation + // | "1" + // ; + // + // Annotation = "{" NAME "}" ; + // + // Notes: + // + // * `Annotation` is just a comment if it follows a `UNIT` and is + // equivalent to `1` if it is used alone. For examples, + // `{requests}/s == 1/s`, `By{transmitted}/s == By/s`. + // * `NAME` is a sequence of non-blank printable ASCII characters not + // containing '{' or '}'. + // * `1` represents dimensionless value 1, such as in `1/s`. + // * `%` represents dimensionless value 1/100, and annotates values giving + // a percentage. + string unit = 5; + + // A detailed description of the metric, which can be used in documentation. + string description = 6; + + // A concise name for the metric, which can be displayed in user interfaces. + // Use sentence case without an ending period, for example "Request count". + // This field is optional but it is recommended to be set for any metrics + // associated with user-visible concepts, such as Quota. + string display_name = 7; +} + +// A specific metric, identified by specifying values for all of the +// labels of a [`MetricDescriptor`][google.api.MetricDescriptor]. +message Metric { + // An existing metric type, see [google.api.MetricDescriptor][google.api.MetricDescriptor]. + // For example, `custom.googleapis.com/invoice/paid/amount`. + string type = 3; + + // The set of label values that uniquely identify this metric. All + // labels listed in the `MetricDescriptor` must be assigned values. + map<string, string> labels = 2; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/monitored_resource.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/monitored_resource.proto new file mode 100644 index 0000000000000000000000000000000000000000..189ccd4aa76f7d4bc7bdcd6e528a5f60a10ce497 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/monitored_resource.proto @@ -0,0 +1,116 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/api/label.proto"; +import "google/protobuf/struct.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/api/monitoredres;monitoredres"; +option java_multiple_files = true; +option java_outer_classname = "MonitoredResourceProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// An object that describes the schema of a [MonitoredResource][google.api.MonitoredResource] object using a +// type name and a set of labels. For example, the monitored resource +// descriptor for Google Compute Engine VM instances has a type of +// `"gce_instance"` and specifies the use of the labels `"instance_id"` and +// `"zone"` to identify particular VM instances. +// +// Different APIs can support different monitored resource types. APIs generally +// provide a `list` method that returns the monitored resource descriptors used +// by the API. +message MonitoredResourceDescriptor { + // Optional. The resource name of the monitored resource descriptor: + // `"projects/{project_id}/monitoredResourceDescriptors/{type}"` where + // {type} is the value of the `type` field in this object and + // {project_id} is a project ID that provides API-specific context for + // accessing the type. APIs that do not use project information can use the + // resource name format `"monitoredResourceDescriptors/{type}"`. + string name = 5; + + // Required. The monitored resource type. For example, the type + // `"cloudsql_database"` represents databases in Google Cloud SQL. + // The maximum length of this value is 256 characters. + string type = 1; + + // Optional. A concise name for the monitored resource type that might be + // displayed in user interfaces. It should be a Title Cased Noun Phrase, + // without any article or other determiners. For example, + // `"Google Cloud SQL Database"`. + string display_name = 2; + + // Optional. A detailed description of the monitored resource type that might + // be used in documentation. + string description = 3; + + // Required. A set of labels used to describe instances of this monitored + // resource type. For example, an individual Google Cloud SQL database is + // identified by values for the labels `"database_id"` and `"zone"`. + repeated LabelDescriptor labels = 4; +} + +// An object representing a resource that can be used for monitoring, logging, +// billing, or other purposes. Examples include virtual machine instances, +// databases, and storage devices such as disks. The `type` field identifies a +// [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] object that describes the resource's +// schema. Information in the `labels` field identifies the actual resource and +// its attributes according to the schema. For example, a particular Compute +// Engine VM instance could be represented by the following object, because the +// [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] for `"gce_instance"` has labels +// `"instance_id"` and `"zone"`: +// +// { "type": "gce_instance", +// "labels": { "instance_id": "12345678901234", +// "zone": "us-central1-a" }} +message MonitoredResource { + // Required. The monitored resource type. This field must match + // the `type` field of a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] object. For + // example, the type of a Compute Engine VM instance is `gce_instance`. + string type = 1; + + // Required. Values for all of the labels listed in the associated monitored + // resource descriptor. For example, Compute Engine VM instances use the + // labels `"project_id"`, `"instance_id"`, and `"zone"`. + map<string, string> labels = 2; +} + +// Auxiliary metadata for a [MonitoredResource][google.api.MonitoredResource] object. +// [MonitoredResource][google.api.MonitoredResource] objects contain the minimum set of information to +// uniquely identify a monitored resource instance. There is some other useful +// auxiliary metadata. Google Stackdriver Monitoring & Logging uses an ingestion +// pipeline to extract metadata for cloud resources of all types , and stores +// the metadata in this message. +message MonitoredResourceMetadata { + // Output only. Values for predefined system metadata labels. + // System labels are a kind of metadata extracted by Google Stackdriver. + // Stackdriver determines what system labels are useful and how to obtain + // their values. Some examples: "machine_image", "vpc", "subnet_id", + // "security_group", "name", etc. + // System label values can be only strings, Boolean values, or a list of + // strings. For example: + // + // { "name": "my-test-instance", + // "security_group": ["a", "b", "c"], + // "spot_instance": false } + google.protobuf.Struct system_labels = 1; + + // Output only. A map of user-defined metadata labels. + map<string, string> user_labels = 2; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/monitoring.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/monitoring.proto new file mode 100644 index 0000000000000000000000000000000000000000..30572146dc0ee183d94b8b189d4ff38565fb1233 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/monitoring.proto @@ -0,0 +1,89 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/api/annotations.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "MonitoringProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// Monitoring configuration of the service. +// +// The example below shows how to configure monitored resources and metrics +// for monitoring. In the example, a monitored resource and two metrics are +// defined. The `library.googleapis.com/book/returned_count` metric is sent +// to both producer and consumer projects, whereas the +// `library.googleapis.com/book/overdue_count` metric is only sent to the +// consumer project. +// +// monitored_resources: +// - type: library.googleapis.com/branch +// labels: +// - key: /city +// description: The city where the library branch is located in. +// - key: /name +// description: The name of the branch. +// metrics: +// - name: library.googleapis.com/book/returned_count +// metric_kind: DELTA +// value_type: INT64 +// labels: +// - key: /customer_id +// - name: library.googleapis.com/book/overdue_count +// metric_kind: GAUGE +// value_type: INT64 +// labels: +// - key: /customer_id +// monitoring: +// producer_destinations: +// - monitored_resource: library.googleapis.com/branch +// metrics: +// - library.googleapis.com/book/returned_count +// consumer_destinations: +// - monitored_resource: library.googleapis.com/branch +// metrics: +// - library.googleapis.com/book/returned_count +// - library.googleapis.com/book/overdue_count +message Monitoring { + // Configuration of a specific monitoring destination (the producer project + // or the consumer project). + message MonitoringDestination { + // The monitored resource type. The type must be defined in + // [Service.monitored_resources][google.api.Service.monitored_resources] section. + string monitored_resource = 1; + + // Names of the metrics to report to this monitoring destination. + // Each name must be defined in [Service.metrics][google.api.Service.metrics] section. + repeated string metrics = 2; + } + + // Monitoring configurations for sending metrics to the producer project. + // There can be multiple producer destinations, each one must have a + // different monitored resource type. A metric can be used in at most + // one producer destination. + repeated MonitoringDestination producer_destinations = 1; + + // Monitoring configurations for sending metrics to the consumer project. + // There can be multiple consumer destinations, each one must have a + // different monitored resource type. A metric can be used in at most + // one consumer destination. + repeated MonitoringDestination consumer_destinations = 2; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/quota.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/quota.proto new file mode 100644 index 0000000000000000000000000000000000000000..aa327a1969461e94b37aed2f63f6b2d863bf0b4c --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/quota.proto @@ -0,0 +1,259 @@ +// Copyright 2017 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/api/annotations.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "QuotaProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// Quota configuration helps to achieve fairness and budgeting in service +// usage. +// +// The quota configuration works this way: +// - The service configuration defines a set of metrics. +// - For API calls, the quota.metric_rules maps methods to metrics with +// corresponding costs. +// - The quota.limits defines limits on the metrics, which will be used for +// quota checks at runtime. +// +// An example quota configuration in yaml format: +// +// quota: +// limits: +// +// - name: apiWriteQpsPerProject +// metric: library.googleapis.com/write_calls +// unit: "1/min/{project}" # rate limit for consumer projects +// values: +// STANDARD: 10000 +// +// # The metric rules bind all methods to the read_calls metric, +// # except for the UpdateBook and DeleteBook methods. These two methods +// # are mapped to the write_calls metric, with the UpdateBook method +// # consuming at twice rate as the DeleteBook method. +// metric_rules: +// - selector: "*" +// metric_costs: +// library.googleapis.com/read_calls: 1 +// - selector: google.example.library.v1.LibraryService.UpdateBook +// metric_costs: +// library.googleapis.com/write_calls: 2 +// - selector: google.example.library.v1.LibraryService.DeleteBook +// metric_costs: +// library.googleapis.com/write_calls: 1 +// +// Corresponding Metric definition: +// +// metrics: +// - name: library.googleapis.com/read_calls +// display_name: Read requests +// metric_kind: DELTA +// value_type: INT64 +// +// - name: library.googleapis.com/write_calls +// display_name: Write requests +// metric_kind: DELTA +// value_type: INT64 +// +message Quota { + // List of `QuotaLimit` definitions for the service. + // + // Used by metric-based quotas only. + repeated QuotaLimit limits = 3; + + // List of `MetricRule` definitions, each one mapping a selected method to one + // or more metrics. + // + // Used by metric-based quotas only. + repeated MetricRule metric_rules = 4; +} + +// Bind API methods to metrics. Binding a method to a metric causes that +// metric's configured quota, billing, and monitoring behaviors to apply to the +// method call. +// +// Used by metric-based quotas only. +message MetricRule { + // Selects the methods to which this rule applies. + // + // Refer to [selector][google.api.DocumentationRule.selector] for syntax details. + string selector = 1; + + // Metrics to update when the selected methods are called, and the associated + // cost applied to each metric. + // + // The key of the map is the metric name, and the values are the amount + // increased for the metric against which the quota limits are defined. + // The value must not be negative. + map<string, int64> metric_costs = 2; +} + +// `QuotaLimit` defines a specific limit that applies over a specified duration +// for a limit type. There can be at most one limit for a duration and limit +// type combination defined within a `QuotaGroup`. +message QuotaLimit { + // Name of the quota limit. The name is used to refer to the limit when + // overriding the default limit on per-consumer basis. + // + // For group-based quota limits, the name must be unique within the quota + // group. If a name is not provided, it will be generated from the limit_by + // and duration fields. + // + // For metric-based quota limits, the name must be provided, and it must be + // unique within the service. The name can only include alphanumeric + // characters as well as '-'. + // + // The maximum length of the limit name is 64 characters. + // + // The name of a limit is used as a unique identifier for this limit. + // Therefore, once a limit has been put into use, its name should be + // immutable. You can use the display_name field to provide a user-friendly + // name for the limit. The display name can be evolved over time without + // affecting the identity of the limit. + string name = 6; + + // Optional. User-visible, extended description for this quota limit. + // Should be used only when more context is needed to understand this limit + // than provided by the limit's display name (see: `display_name`). + string description = 2; + + // Default number of tokens that can be consumed during the specified + // duration. This is the number of tokens assigned when a client + // application developer activates the service for his/her project. + // + // Specifying a value of 0 will block all requests. This can be used if you + // are provisioning quota to selected consumers and blocking others. + // Similarly, a value of -1 will indicate an unlimited quota. No other + // negative values are allowed. + // + // Used by group-based quotas only. + int64 default_limit = 3; + + // Maximum number of tokens that can be consumed during the specified + // duration. Client application developers can override the default limit up + // to this maximum. If specified, this value cannot be set to a value less + // than the default limit. If not specified, it is set to the default limit. + // + // To allow clients to apply overrides with no upper bound, set this to -1, + // indicating unlimited maximum quota. + // + // Used by group-based quotas only. + int64 max_limit = 4; + + // Free tier value displayed in the Developers Console for this limit. + // The free tier is the number of tokens that will be subtracted from the + // billed amount when billing is enabled. + // This field can only be set on a limit with duration "1d", in a billable + // group; it is invalid on any other limit. If this field is not set, it + // defaults to 0, indicating that there is no free tier for this service. + // + // Used by group-based quotas only. + int64 free_tier = 7; + + // Duration of this limit in textual notation. Example: "100s", "24h", "1d". + // For duration longer than a day, only multiple of days is supported. We + // support only "100s" and "1d" for now. Additional support will be added in + // the future. "0" indicates indefinite duration. + // + // Used by group-based quotas only. + string duration = 5; + + // The name of the metric this quota limit applies to. The quota limits with + // the same metric will be checked together during runtime. The metric must be + // defined within the service config. + // + // Used by metric-based quotas only. + string metric = 8; + + // Specify the unit of the quota limit. It uses the same syntax as + // [Metric.unit][]. The supported unit kinds are determined by the quota + // backend system. + // + // The [Google Service Control](https://cloud.google.com/service-control) + // supports the following unit components: + // * One of the time intevals: + // * "/min" for quota every minute. + // * "/d" for quota every 24 hours, starting 00:00 US Pacific Time. + // * Otherwise the quota won't be reset by time, such as storage limit. + // * One and only one of the granted containers: + // * "/{organization}" quota for an organization. + // * "/{project}" quota for a project. + // * "/{folder}" quota for a folder. + // * "/{resource}" quota for a universal resource. + // * Zero or more quota segmentation dimension. Not all combos are valid. + // * "/{region}" quota for every region. Not to be used with time intervals. + // * Otherwise the resources granted on the target is not segmented. + // * "/{zone}" quota for every zone. Not to be used with time intervals. + // * Otherwise the resources granted on the target is not segmented. + // * "/{resource}" quota for a resource associated with a project or org. + // + // Here are some examples: + // * "1/min/{project}" for quota per minute per project. + // * "1/min/{user}" for quota per minute per user. + // * "1/min/{organization}" for quota per minute per organization. + // + // Note: the order of unit components is insignificant. + // The "1" at the beginning is required to follow the metric unit syntax. + // + // Used by metric-based quotas only. + string unit = 9; + + // Tiered limit values. Also allows for regional or zone overrides for these + // values if "/{region}" or "/{zone}" is specified in the unit field. + // + // Currently supported tiers from low to high: + // VERY_LOW, LOW, STANDARD, HIGH, VERY_HIGH + // + // To apply different limit values for users according to their tiers, specify + // the values for the tiers you want to differentiate. For example: + // {LOW:100, STANDARD:500, HIGH:1000, VERY_HIGH:5000} + // + // The limit value for each tier is optional except for the tier STANDARD. + // The limit value for an unspecified tier falls to the value of its next + // tier towards tier STANDARD. For the above example, the limit value for tier + // STANDARD is 500. + // + // To apply the same limit value for all users, just specify limit value for + // tier STANDARD. For example: {STANDARD:500}. + // + // To apply a regional overide for a tier, add a map entry with key + // "<TIER>/<region>", where <region> is a region name. Similarly, for a zone + // override, add a map entry with key "<TIER>/{zone}". + // Further, a wildcard can be used at the end of a zone name in order to + // specify zone level overrides. For example: + // LOW: 10, STANDARD: 50, HIGH: 100, + // LOW/us-central1: 20, STANDARD/us-central1: 60, HIGH/us-central1: 200, + // LOW/us-central1-*: 10, STANDARD/us-central1-*: 20, HIGH/us-central1-*: 80 + // + // The regional overrides tier set for each region must be the same as + // the tier set for default limit values. Same rule applies for zone overrides + // tier as well. + // + // Used by metric-based quotas only. + map<string, int64> values = 10; + + // User-visible display name for this limit. + // Optional. If not set, the UI will provide a default display name based on + // the quota configuration. This field can be used to override the default + // display name generated from the configuration. + string display_name = 12; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/service.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/service.proto new file mode 100644 index 0000000000000000000000000000000000000000..87fba7ba665504a057c5a12dc5f5f1434aa312ca --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/service.proto @@ -0,0 +1,178 @@ +// Copyright 2017 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/api/annotations.proto"; +import "google/api/auth.proto"; +import "google/api/backend.proto"; +import "google/api/billing.proto"; +import "google/api/context.proto"; +import "google/api/control.proto"; +import "google/api/documentation.proto"; +import "google/api/endpoint.proto"; +import "google/api/experimental/experimental.proto"; +import "google/api/http.proto"; +import "google/api/label.proto"; +import "google/api/log.proto"; +import "google/api/logging.proto"; +import "google/api/metric.proto"; +import "google/api/monitored_resource.proto"; +import "google/api/monitoring.proto"; +import "google/api/quota.proto"; +import "google/api/source_info.proto"; +import "google/api/system_parameter.proto"; +import "google/api/usage.proto"; +import "google/protobuf/any.proto"; +import "google/protobuf/api.proto"; +import "google/protobuf/type.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "ServiceProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// `Service` is the root object of Google service configuration schema. It +// describes basic information about a service, such as the name and the +// title, and delegates other aspects to sub-sections. Each sub-section is +// either a proto message or a repeated proto message that configures a +// specific aspect, such as auth. See each proto message definition for details. +// +// Example: +// +// type: google.api.Service +// config_version: 3 +// name: calendar.googleapis.com +// title: Google Calendar API +// apis: +// - name: google.calendar.v3.Calendar +// authentication: +// providers: +// - id: google_calendar_auth +// jwks_uri: https://www.googleapis.com/oauth2/v1/certs +// issuer: https://securetoken.google.com +// rules: +// - selector: "*" +// requirements: +// provider_id: google_calendar_auth +message Service { + // The semantic version of the service configuration. The config version + // affects the interpretation of the service configuration. For example, + // certain features are enabled by default for certain config versions. + // The latest config version is `3`. + google.protobuf.UInt32Value config_version = 20; + + // The DNS address at which this service is available, + // e.g. `calendar.googleapis.com`. + string name = 1; + + // A unique ID for a specific instance of this message, typically assigned + // by the client for tracking purpose. If empty, the server may choose to + // generate one instead. + string id = 33; + + // The product title for this service. + string title = 2; + + // The Google project that owns this service. + string producer_project_id = 22; + + // A list of API interfaces exported by this service. Only the `name` field + // of the [google.protobuf.Api][google.protobuf.Api] needs to be provided by the configuration + // author, as the remaining fields will be derived from the IDL during the + // normalization process. It is an error to specify an API interface here + // which cannot be resolved against the associated IDL files. + repeated google.protobuf.Api apis = 3; + + // A list of all proto message types included in this API service. + // Types referenced directly or indirectly by the `apis` are + // automatically included. Messages which are not referenced but + // shall be included, such as types used by the `google.protobuf.Any` type, + // should be listed here by name. Example: + // + // types: + // - name: google.protobuf.Int32 + repeated google.protobuf.Type types = 4; + + // A list of all enum types included in this API service. Enums + // referenced directly or indirectly by the `apis` are automatically + // included. Enums which are not referenced but shall be included + // should be listed here by name. Example: + // + // enums: + // - name: google.someapi.v1.SomeEnum + repeated google.protobuf.Enum enums = 5; + + // Additional API documentation. + Documentation documentation = 6; + + // API backend configuration. + Backend backend = 8; + + // HTTP configuration. + Http http = 9; + + // Quota configuration. + Quota quota = 10; + + // Auth configuration. + Authentication authentication = 11; + + // Context configuration. + Context context = 12; + + // Configuration controlling usage of this service. + Usage usage = 15; + + // Configuration for network endpoints. If this is empty, then an endpoint + // with the same name as the service is automatically generated to service all + // defined APIs. + repeated Endpoint endpoints = 18; + + // Configuration for the service control plane. + Control control = 21; + + // Defines the logs used by this service. + repeated LogDescriptor logs = 23; + + // Defines the metrics used by this service. + repeated MetricDescriptor metrics = 24; + + // Defines the monitored resources used by this service. This is required + // by the [Service.monitoring][google.api.Service.monitoring] and [Service.logging][google.api.Service.logging] configurations. + repeated MonitoredResourceDescriptor monitored_resources = 25; + + // Billing configuration. + Billing billing = 26; + + // Logging configuration. + Logging logging = 27; + + // Monitoring configuration. + Monitoring monitoring = 28; + + // System parameter configuration. + SystemParameters system_parameters = 29; + + // Output only. The source information for this configuration if available. + SourceInfo source_info = 37; + + // Experimental configuration. + Experimental experimental = 101; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/source_info.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/source_info.proto new file mode 100644 index 0000000000000000000000000000000000000000..58777856fb7055e58e15da17d632488b7ed23fed --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/source_info.proto @@ -0,0 +1,32 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/protobuf/any.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "SourceInfoProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// Source information used to create a Service Config +message SourceInfo { + // All files used during config generation. + repeated google.protobuf.Any source_files = 1; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/system_parameter.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/system_parameter.proto new file mode 100644 index 0000000000000000000000000000000000000000..a55212f044fbf85dbfd4f276aecb29e0b046a12d --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/system_parameter.proto @@ -0,0 +1,96 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "SystemParameterProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// ### System parameter configuration +// +// A system parameter is a special kind of parameter defined by the API +// system, not by an individual API. It is typically mapped to an HTTP header +// and/or a URL query parameter. This configuration specifies which methods +// change the names of the system parameters. +message SystemParameters { + // Define system parameters. + // + // The parameters defined here will override the default parameters + // implemented by the system. If this field is missing from the service + // config, default system parameters will be used. Default system parameters + // and names is implementation-dependent. + // + // Example: define api key for all methods + // + // system_parameters + // rules: + // - selector: "*" + // parameters: + // - name: api_key + // url_query_parameter: api_key + // + // + // Example: define 2 api key names for a specific method. + // + // system_parameters + // rules: + // - selector: "/ListShelves" + // parameters: + // - name: api_key + // http_header: Api-Key1 + // - name: api_key + // http_header: Api-Key2 + // + // **NOTE:** All service configuration rules follow "last one wins" order. + repeated SystemParameterRule rules = 1; +} + +// Define a system parameter rule mapping system parameter definitions to +// methods. +message SystemParameterRule { + // Selects the methods to which this rule applies. Use '*' to indicate all + // methods in all APIs. + // + // Refer to [selector][google.api.DocumentationRule.selector] for syntax details. + string selector = 1; + + // Define parameters. Multiple names may be defined for a parameter. + // For a given method call, only one of them should be used. If multiple + // names are used the behavior is implementation-dependent. + // If none of the specified names are present the behavior is + // parameter-dependent. + repeated SystemParameter parameters = 2; +} + +// Define a parameter's name and location. The parameter may be passed as either +// an HTTP header or a URL query parameter, and if both are passed the behavior +// is implementation-dependent. +message SystemParameter { + // Define the name of the parameter, such as "api_key" . It is case sensitive. + string name = 1; + + // Define the HTTP header name to use for the parameter. It is case + // insensitive. + string http_header = 2; + + // Define the URL query parameter name to use for the parameter. It is case + // sensitive. + string url_query_parameter = 3; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/usage.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/usage.proto new file mode 100644 index 0000000000000000000000000000000000000000..63299b56d279f1d38d75e90332d4f21001d426a3 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/api/usage.proto @@ -0,0 +1,92 @@ +// Copyright 2018 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/api/annotations.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "UsageProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + + +// Configuration controlling usage of a service. +message Usage { + // Requirements that must be satisfied before a consumer project can use the + // service. Each requirement is of the form <service.name>/<requirement-id>; + // for example 'serviceusage.googleapis.com/billing-enabled'. + repeated string requirements = 1; + + // A list of usage rules that apply to individual API methods. + // + // **NOTE:** All service configuration rules follow "last one wins" order. + repeated UsageRule rules = 6; + + // The full resource name of a channel used for sending notifications to the + // service producer. + // + // Google Service Management currently only supports + // [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification + // channel. To use Google Cloud Pub/Sub as the channel, this must be the name + // of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format + // documented in https://cloud.google.com/pubsub/docs/overview. + string producer_notification_channel = 7; +} + +// Usage configuration rules for the service. +// +// NOTE: Under development. +// +// +// Use this rule to configure unregistered calls for the service. Unregistered +// calls are calls that do not contain consumer project identity. +// (Example: calls that do not contain an API key). +// By default, API methods do not allow unregistered calls, and each method call +// must be identified by a consumer project identity. Use this rule to +// allow/disallow unregistered calls. +// +// Example of an API that wants to allow unregistered calls for entire service. +// +// usage: +// rules: +// - selector: "*" +// allow_unregistered_calls: true +// +// Example of a method that wants to allow unregistered calls. +// +// usage: +// rules: +// - selector: "google.example.library.v1.LibraryService.CreateBook" +// allow_unregistered_calls: true +message UsageRule { + // Selects the methods to which this rule applies. Use '*' to indicate all + // methods in all APIs. + // + // Refer to [selector][google.api.DocumentationRule.selector] for syntax details. + string selector = 1; + + // If true, the selected method allows unregistered calls, e.g. calls + // that don't identify any user or application. + bool allow_unregistered_calls = 2; + + // If true, the selected method should skip service control and the control + // plane features, such as quota and billing, will not be available. + // This flag is used by Google Cloud Endpoints to bypass checks for internal + // methods, such as service health check methods. + bool skip_service_control = 3; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/cloud/audit/audit_log.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/cloud/audit/audit_log.proto new file mode 100644 index 0000000000000000000000000000000000000000..eab66a1f9c297589eec039ac5ed468f3e079ac3d --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/cloud/audit/audit_log.proto @@ -0,0 +1,128 @@ +// Copyright 2016 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.audit; + +import "google/api/annotations.proto"; +import "google/protobuf/any.proto"; +import "google/protobuf/struct.proto"; +import "google/rpc/status.proto"; + +option go_package = "google.golang.org/genproto/googleapis/cloud/audit;audit"; +option java_multiple_files = true; +option java_outer_classname = "AuditLogProto"; +option java_package = "com.google.cloud.audit"; + + +// Common audit log format for Google Cloud Platform API operations. +message AuditLog { + // The name of the API service performing the operation. For example, + // `"datastore.googleapis.com"`. + string service_name = 7; + + // The name of the service method or operation. + // For API calls, this should be the name of the API method. + // For example, + // + // "google.datastore.v1.Datastore.RunQuery" + // "google.logging.v1.LoggingService.DeleteLog" + string method_name = 8; + + // The resource or collection that is the target of the operation. + // The name is a scheme-less URI, not including the API service name. + // For example: + // + // "shelves/SHELF_ID/books" + // "shelves/SHELF_ID/books/BOOK_ID" + string resource_name = 11; + + // The number of items returned from a List or Query API method, + // if applicable. + int64 num_response_items = 12; + + // The status of the overall operation. + google.rpc.Status status = 2; + + // Authentication information. + AuthenticationInfo authentication_info = 3; + + // Authorization information. If there are multiple + // resources or permissions involved, then there is + // one AuthorizationInfo element for each {resource, permission} tuple. + repeated AuthorizationInfo authorization_info = 9; + + // Metadata about the operation. + RequestMetadata request_metadata = 4; + + // The operation request. This may not include all request parameters, + // such as those that are too large, privacy-sensitive, or duplicated + // elsewhere in the log record. + // It should never include user-generated data, such as file contents. + // When the JSON object represented here has a proto equivalent, the proto + // name will be indicated in the `@type` property. + google.protobuf.Struct request = 16; + + // The operation response. This may not include all response elements, + // such as those that are too large, privacy-sensitive, or duplicated + // elsewhere in the log record. + // It should never include user-generated data, such as file contents. + // When the JSON object represented here has a proto equivalent, the proto + // name will be indicated in the `@type` property. + google.protobuf.Struct response = 17; + + // Other service-specific data about the request, response, and other + // activities. + google.protobuf.Any service_data = 15; +} + +// Authentication information for the operation. +message AuthenticationInfo { + // The email address of the authenticated user making the request. + string principal_email = 1; +} + +// Authorization information for the operation. +message AuthorizationInfo { + // The resource being accessed, as a REST-style string. For example: + // + // bigquery.googlapis.com/projects/PROJECTID/datasets/DATASETID + string resource = 1; + + // The required IAM permission. + string permission = 2; + + // Whether or not authorization for `resource` and `permission` + // was granted. + bool granted = 3; +} + +// Metadata about the request. +message RequestMetadata { + // The IP address of the caller. + string caller_ip = 1; + + // The user agent of the caller. + // This information is not authenticated and should be treated accordingly. + // For example: + // + // + `google-api-python-client/1.4.0`: + // The request was made by the Google API client for Python. + // + `Cloud SDK Command Line Tool apitools-client/1.0 gcloud/0.9.62`: + // The request was made by the Google Cloud SDK CLI (gcloud). + // + `AppEngine-Google; (+http://code.google.com/appengine; appid: s~my-project`: + // The request was made from the `my-project` App Engine app. + string caller_supplied_user_agent = 2; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/logging/type/http_request.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/logging/type/http_request.proto new file mode 100644 index 0000000000000000000000000000000000000000..4bca5082360f51f43f6db6d050083eb7a8c48839 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/logging/type/http_request.proto @@ -0,0 +1,92 @@ +// Copyright 2018 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.logging.type; + +import "google/api/annotations.proto"; +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Cloud.Logging.Type"; +option go_package = "google.golang.org/genproto/googleapis/logging/type;ltype"; +option java_multiple_files = true; +option java_outer_classname = "HttpRequestProto"; +option java_package = "com.google.logging.type"; +option php_namespace = "Google\\Cloud\\Logging\\Type"; + + +// A common proto for logging HTTP requests. Only contains semantics +// defined by the HTTP specification. Product-specific logging +// information MUST be defined in a separate message. +message HttpRequest { + // The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`. + string request_method = 1; + + // The scheme (http, https), the host name, the path and the query + // portion of the URL that was requested. + // Example: `"http://example.com/some/info?color=red"`. + string request_url = 2; + + // The size of the HTTP request message in bytes, including the request + // headers and the request body. + int64 request_size = 3; + + // The response code indicating the status of response. + // Examples: 200, 404. + int32 status = 4; + + // The size of the HTTP response message sent back to the client, in bytes, + // including the response headers and the response body. + int64 response_size = 5; + + // The user agent sent by the client. Example: + // `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)"`. + string user_agent = 6; + + // The IP address (IPv4 or IPv6) of the client that issued the HTTP + // request. Examples: `"192.168.1.1"`, `"FE80::0202:B3FF:FE1E:8329"`. + string remote_ip = 7; + + // The IP address (IPv4 or IPv6) of the origin server that the request was + // sent to. + string server_ip = 13; + + // The referer URL of the request, as defined in + // [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). + string referer = 8; + + // The request processing latency on the server, from the time the request was + // received until the response was sent. + google.protobuf.Duration latency = 14; + + // Whether or not a cache lookup was attempted. + bool cache_lookup = 11; + + // Whether or not an entity was served from cache + // (with or without validation). + bool cache_hit = 9; + + // Whether or not the response was validated with the origin server before + // being served from cache. This field is only meaningful if `cache_hit` is + // True. + bool cache_validated_with_origin_server = 10; + + // The number of HTTP response bytes inserted into cache. Set only when a + // cache fill was attempted. + int64 cache_fill_bytes = 12; + + // Protocol used for the request. Examples: "HTTP/1.1", "HTTP/2", "websocket" + string protocol = 15; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/logging/type/log_severity.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/logging/type/log_severity.proto new file mode 100644 index 0000000000000000000000000000000000000000..d366e077895ee23ce6d1e18d198a9f01ee30da49 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/logging/type/log_severity.proto @@ -0,0 +1,72 @@ +// Copyright 2018 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.logging.type; + +import "google/api/annotations.proto"; + +option csharp_namespace = "Google.Cloud.Logging.Type"; +option go_package = "google.golang.org/genproto/googleapis/logging/type;ltype"; +option java_multiple_files = true; +option java_outer_classname = "LogSeverityProto"; +option java_package = "com.google.logging.type"; +option php_namespace = "Google\\Cloud\\Logging\\Type"; + + +// The severity of the event described in a log entry, expressed as one of the +// standard severity levels listed below. For your reference, the levels are +// assigned the listed numeric values. The effect of using numeric values other +// than those listed is undefined. +// +// You can filter for log entries by severity. For example, the following +// filter expression will match log entries with severities `INFO`, `NOTICE`, +// and `WARNING`: +// +// severity > DEBUG AND severity <= WARNING +// +// If you are writing log entries, you should map other severity encodings to +// one of these standard levels. For example, you might map all of Java's FINE, +// FINER, and FINEST levels to `LogSeverity.DEBUG`. You can preserve the +// original severity level in the log entry payload if you wish. +enum LogSeverity { + // (0) The log entry has no assigned severity level. + DEFAULT = 0; + + // (100) Debug or trace information. + DEBUG = 100; + + // (200) Routine information, such as ongoing status or performance. + INFO = 200; + + // (300) Normal but significant events, such as start up, shut down, or + // a configuration change. + NOTICE = 300; + + // (400) Warning events might cause problems. + WARNING = 400; + + // (500) Error events are likely to cause problems. + ERROR = 500; + + // (600) Critical events cause more severe problems or outages. + CRITICAL = 600; + + // (700) A person must take an action immediately. + ALERT = 700; + + // (800) One or more systems are unusable. + EMERGENCY = 800; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/longrunning/operations.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/longrunning/operations.proto new file mode 100644 index 0000000000000000000000000000000000000000..76fef29c3e21723d16b16ca614e926f32068df54 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/longrunning/operations.proto @@ -0,0 +1,160 @@ +// Copyright 2016 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.longrunning; + +import "google/api/annotations.proto"; +import "google/protobuf/any.proto"; +import "google/protobuf/empty.proto"; +import "google/rpc/status.proto"; + +option csharp_namespace = "Google.LongRunning"; +option go_package = "google.golang.org/genproto/googleapis/longrunning;longrunning"; +option java_multiple_files = true; +option java_outer_classname = "OperationsProto"; +option java_package = "com.google.longrunning"; +option php_namespace = "Google\\LongRunning"; + + +// Manages long-running operations with an API service. +// +// When an API method normally takes long time to complete, it can be designed +// to return [Operation][google.longrunning.Operation] to the client, and the client can use this +// interface to receive the real response asynchronously by polling the +// operation resource, or pass the operation resource to another API (such as +// Google Cloud Pub/Sub API) to receive the response. Any API service that +// returns long-running operations should implement the `Operations` interface +// so developers can have a consistent client experience. +service Operations { + // Lists operations that match the specified filter in the request. If the + // server doesn't support this method, it returns `UNIMPLEMENTED`. + // + // NOTE: the `name` binding below allows API services to override the binding + // to use different resource name schemes, such as `users/*/operations`. + rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse) { + option (google.api.http) = { get: "/v1/{name=operations}" }; + } + + // Gets the latest state of a long-running operation. Clients can use this + // method to poll the operation result at intervals as recommended by the API + // service. + rpc GetOperation(GetOperationRequest) returns (Operation) { + option (google.api.http) = { get: "/v1/{name=operations/**}" }; + } + + // Deletes a long-running operation. This method indicates that the client is + // no longer interested in the operation result. It does not cancel the + // operation. If the server doesn't support this method, it returns + // `google.rpc.Code.UNIMPLEMENTED`. + rpc DeleteOperation(DeleteOperationRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { delete: "/v1/{name=operations/**}" }; + } + + // Starts asynchronous cancellation on a long-running operation. The server + // makes a best effort to cancel the operation, but success is not + // guaranteed. If the server doesn't support this method, it returns + // `google.rpc.Code.UNIMPLEMENTED`. Clients can use + // [Operations.GetOperation][google.longrunning.Operations.GetOperation] or + // other methods to check whether the cancellation succeeded or whether the + // operation completed despite cancellation. On successful cancellation, + // the operation is not deleted; instead, it becomes an operation with + // an [Operation.error][google.longrunning.Operation.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, + // corresponding to `Code.CANCELLED`. + rpc CancelOperation(CancelOperationRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { post: "/v1/{name=operations/**}:cancel" body: "*" }; + } +} + +// This resource represents a long-running operation that is the result of a +// network API call. +message Operation { + // The server-assigned name, which is only unique within the same service that + // originally returns it. If you use the default HTTP mapping, the + // `name` should have the format of `operations/some/unique/name`. + string name = 1; + + // Service-specific metadata associated with the operation. It typically + // contains progress information and common metadata such as create time. + // Some services might not provide such metadata. Any method that returns a + // long-running operation should document the metadata type, if any. + google.protobuf.Any metadata = 2; + + // If the value is `false`, it means the operation is still in progress. + // If true, the operation is completed, and either `error` or `response` is + // available. + bool done = 3; + + // The operation result, which can be either an `error` or a valid `response`. + // If `done` == `false`, neither `error` nor `response` is set. + // If `done` == `true`, exactly one of `error` or `response` is set. + oneof result { + // The error result of the operation in case of failure or cancellation. + google.rpc.Status error = 4; + + // The normal response of the operation in case of success. If the original + // method returns no data on success, such as `Delete`, the response is + // `google.protobuf.Empty`. If the original method is standard + // `Get`/`Create`/`Update`, the response should be the resource. For other + // methods, the response should have the type `XxxResponse`, where `Xxx` + // is the original method name. For example, if the original method name + // is `TakeSnapshot()`, the inferred response type is + // `TakeSnapshotResponse`. + google.protobuf.Any response = 5; + } +} + +// The request message for [Operations.GetOperation][google.longrunning.Operations.GetOperation]. +message GetOperationRequest { + // The name of the operation resource. + string name = 1; +} + +// The request message for [Operations.ListOperations][google.longrunning.Operations.ListOperations]. +message ListOperationsRequest { + // The name of the operation collection. + string name = 4; + + // The standard list filter. + string filter = 1; + + // The standard list page size. + int32 page_size = 2; + + // The standard list page token. + string page_token = 3; +} + +// The response message for [Operations.ListOperations][google.longrunning.Operations.ListOperations]. +message ListOperationsResponse { + // A list of operations that matches the specified filter in the request. + repeated Operation operations = 1; + + // The standard List next-page token. + string next_page_token = 2; +} + +// The request message for [Operations.CancelOperation][google.longrunning.Operations.CancelOperation]. +message CancelOperationRequest { + // The name of the operation resource to be cancelled. + string name = 1; +} + +// The request message for [Operations.DeleteOperation][google.longrunning.Operations.DeleteOperation]. +message DeleteOperationRequest { + // The name of the operation resource to be deleted. + string name = 1; +} + diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/rpc/code.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/rpc/code.proto new file mode 100644 index 0000000000000000000000000000000000000000..8fef411705b3fa508c0faad6beeb419c0af631ba --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/rpc/code.proto @@ -0,0 +1,186 @@ +// Copyright 2017 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.rpc; + +option go_package = "google.golang.org/genproto/googleapis/rpc/code;code"; +option java_multiple_files = true; +option java_outer_classname = "CodeProto"; +option java_package = "com.google.rpc"; +option objc_class_prefix = "RPC"; + + +// The canonical error codes for Google APIs. +// +// +// Sometimes multiple error codes may apply. Services should return +// the most specific error code that applies. For example, prefer +// `OUT_OF_RANGE` over `FAILED_PRECONDITION` if both codes apply. +// Similarly prefer `NOT_FOUND` or `ALREADY_EXISTS` over `FAILED_PRECONDITION`. +enum Code { + // Not an error; returned on success + // + // HTTP Mapping: 200 OK + OK = 0; + + // The operation was cancelled, typically by the caller. + // + // HTTP Mapping: 499 Client Closed Request + CANCELLED = 1; + + // Unknown error. For example, this error may be returned when + // a `Status` value received from another address space belongs to + // an error space that is not known in this address space. Also + // errors raised by APIs that do not return enough error information + // may be converted to this error. + // + // HTTP Mapping: 500 Internal Server Error + UNKNOWN = 2; + + // The client specified an invalid argument. Note that this differs + // from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments + // that are problematic regardless of the state of the system + // (e.g., a malformed file name). + // + // HTTP Mapping: 400 Bad Request + INVALID_ARGUMENT = 3; + + // The deadline expired before the operation could complete. For operations + // that change the state of the system, this error may be returned + // even if the operation has completed successfully. For example, a + // successful response from a server could have been delayed long + // enough for the deadline to expire. + // + // HTTP Mapping: 504 Gateway Timeout + DEADLINE_EXCEEDED = 4; + + // Some requested entity (e.g., file or directory) was not found. + // + // Note to server developers: if a request is denied for an entire class + // of users, such as gradual feature rollout or undocumented whitelist, + // `NOT_FOUND` may be used. If a request is denied for some users within + // a class of users, such as user-based access control, `PERMISSION_DENIED` + // must be used. + // + // HTTP Mapping: 404 Not Found + NOT_FOUND = 5; + + // The entity that a client attempted to create (e.g., file or directory) + // already exists. + // + // HTTP Mapping: 409 Conflict + ALREADY_EXISTS = 6; + + // The caller does not have permission to execute the specified + // operation. `PERMISSION_DENIED` must not be used for rejections + // caused by exhausting some resource (use `RESOURCE_EXHAUSTED` + // instead for those errors). `PERMISSION_DENIED` must not be + // used if the caller can not be identified (use `UNAUTHENTICATED` + // instead for those errors). This error code does not imply the + // request is valid or the requested entity exists or satisfies + // other pre-conditions. + // + // HTTP Mapping: 403 Forbidden + PERMISSION_DENIED = 7; + + // The request does not have valid authentication credentials for the + // operation. + // + // HTTP Mapping: 401 Unauthorized + UNAUTHENTICATED = 16; + + // Some resource has been exhausted, perhaps a per-user quota, or + // perhaps the entire file system is out of space. + // + // HTTP Mapping: 429 Too Many Requests + RESOURCE_EXHAUSTED = 8; + + // The operation was rejected because the system is not in a state + // required for the operation's execution. For example, the directory + // to be deleted is non-empty, an rmdir operation is applied to + // a non-directory, etc. + // + // Service implementors can use the following guidelines to decide + // between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: + // (a) Use `UNAVAILABLE` if the client can retry just the failing call. + // (b) Use `ABORTED` if the client should retry at a higher level + // (e.g., when a client-specified test-and-set fails, indicating the + // client should restart a read-modify-write sequence). + // (c) Use `FAILED_PRECONDITION` if the client should not retry until + // the system state has been explicitly fixed. E.g., if an "rmdir" + // fails because the directory is non-empty, `FAILED_PRECONDITION` + // should be returned since the client should not retry unless + // the files are deleted from the directory. + // + // HTTP Mapping: 400 Bad Request + FAILED_PRECONDITION = 9; + + // The operation was aborted, typically due to a concurrency issue such as + // a sequencer check failure or transaction abort. + // + // See the guidelines above for deciding between `FAILED_PRECONDITION`, + // `ABORTED`, and `UNAVAILABLE`. + // + // HTTP Mapping: 409 Conflict + ABORTED = 10; + + // The operation was attempted past the valid range. E.g., seeking or + // reading past end-of-file. + // + // Unlike `INVALID_ARGUMENT`, this error indicates a problem that may + // be fixed if the system state changes. For example, a 32-bit file + // system will generate `INVALID_ARGUMENT` if asked to read at an + // offset that is not in the range [0,2^32-1], but it will generate + // `OUT_OF_RANGE` if asked to read from an offset past the current + // file size. + // + // There is a fair bit of overlap between `FAILED_PRECONDITION` and + // `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific + // error) when it applies so that callers who are iterating through + // a space can easily look for an `OUT_OF_RANGE` error to detect when + // they are done. + // + // HTTP Mapping: 400 Bad Request + OUT_OF_RANGE = 11; + + // The operation is not implemented or is not supported/enabled in this + // service. + // + // HTTP Mapping: 501 Not Implemented + UNIMPLEMENTED = 12; + + // Internal errors. This means that some invariants expected by the + // underlying system have been broken. This error code is reserved + // for serious errors. + // + // HTTP Mapping: 500 Internal Server Error + INTERNAL = 13; + + // The service is currently unavailable. This is most likely a + // transient condition, which can be corrected by retrying with + // a backoff. + // + // See the guidelines above for deciding between `FAILED_PRECONDITION`, + // `ABORTED`, and `UNAVAILABLE`. + // + // HTTP Mapping: 503 Service Unavailable + UNAVAILABLE = 14; + + // Unrecoverable data loss or corruption. + // + // HTTP Mapping: 500 Internal Server Error + DATA_LOSS = 15; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/rpc/error_details.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/rpc/error_details.proto new file mode 100644 index 0000000000000000000000000000000000000000..f24ae00999b0c9b12c6b0d26bc1a1dfb6fff6cc2 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/rpc/error_details.proto @@ -0,0 +1,200 @@ +// Copyright 2017 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.rpc; + +import "google/protobuf/duration.proto"; + +option go_package = "google.golang.org/genproto/googleapis/rpc/errdetails;errdetails"; +option java_multiple_files = true; +option java_outer_classname = "ErrorDetailsProto"; +option java_package = "com.google.rpc"; +option objc_class_prefix = "RPC"; + + +// Describes when the clients can retry a failed request. Clients could ignore +// the recommendation here or retry when this information is missing from error +// responses. +// +// It's always recommended that clients should use exponential backoff when +// retrying. +// +// Clients should wait until `retry_delay` amount of time has passed since +// receiving the error response before retrying. If retrying requests also +// fail, clients should use an exponential backoff scheme to gradually increase +// the delay between retries based on `retry_delay`, until either a maximum +// number of retires have been reached or a maximum retry delay cap has been +// reached. +message RetryInfo { + // Clients should wait at least this long between retrying the same request. + google.protobuf.Duration retry_delay = 1; +} + +// Describes additional debugging info. +message DebugInfo { + // The stack trace entries indicating where the error occurred. + repeated string stack_entries = 1; + + // Additional debugging information provided by the server. + string detail = 2; +} + +// Describes how a quota check failed. +// +// For example if a daily limit was exceeded for the calling project, +// a service could respond with a QuotaFailure detail containing the project +// id and the description of the quota limit that was exceeded. If the +// calling project hasn't enabled the service in the developer console, then +// a service could respond with the project id and set `service_disabled` +// to true. +// +// Also see RetryDetail and Help types for other details about handling a +// quota failure. +message QuotaFailure { + // A message type used to describe a single quota violation. For example, a + // daily quota or a custom quota that was exceeded. + message Violation { + // The subject on which the quota check failed. + // For example, "clientip:<ip address of client>" or "project:<Google + // developer project id>". + string subject = 1; + + // A description of how the quota check failed. Clients can use this + // description to find more about the quota configuration in the service's + // public documentation, or find the relevant quota limit to adjust through + // developer console. + // + // For example: "Service disabled" or "Daily Limit for read operations + // exceeded". + string description = 2; + } + + // Describes all quota violations. + repeated Violation violations = 1; +} + +// Describes what preconditions have failed. +// +// For example, if an RPC failed because it required the Terms of Service to be +// acknowledged, it could list the terms of service violation in the +// PreconditionFailure message. +message PreconditionFailure { + // A message type used to describe a single precondition failure. + message Violation { + // The type of PreconditionFailure. We recommend using a service-specific + // enum type to define the supported precondition violation types. For + // example, "TOS" for "Terms of Service violation". + string type = 1; + + // The subject, relative to the type, that failed. + // For example, "google.com/cloud" relative to the "TOS" type would + // indicate which terms of service is being referenced. + string subject = 2; + + // A description of how the precondition failed. Developers can use this + // description to understand how to fix the failure. + // + // For example: "Terms of service not accepted". + string description = 3; + } + + // Describes all precondition violations. + repeated Violation violations = 1; +} + +// Describes violations in a client request. This error type focuses on the +// syntactic aspects of the request. +message BadRequest { + // A message type used to describe a single bad request field. + message FieldViolation { + // A path leading to a field in the request body. The value will be a + // sequence of dot-separated identifiers that identify a protocol buffer + // field. E.g., "field_violations.field" would identify this field. + string field = 1; + + // A description of why the request element is bad. + string description = 2; + } + + // Describes all violations in a client request. + repeated FieldViolation field_violations = 1; +} + +// Contains metadata about the request that clients can attach when filing a bug +// or providing other forms of feedback. +message RequestInfo { + // An opaque string that should only be interpreted by the service generating + // it. For example, it can be used to identify requests in the service's logs. + string request_id = 1; + + // Any data that was used to serve this request. For example, an encrypted + // stack trace that can be sent back to the service provider for debugging. + string serving_data = 2; +} + +// Describes the resource that is being accessed. +message ResourceInfo { + // A name for the type of resource being accessed, e.g. "sql table", + // "cloud storage bucket", "file", "Google calendar"; or the type URL + // of the resource: e.g. "type.googleapis.com/google.pubsub.v1.Topic". + string resource_type = 1; + + // The name of the resource being accessed. For example, a shared calendar + // name: "example.com_4fghdhgsrgh@group.calendar.google.com", if the current + // error is [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED]. + string resource_name = 2; + + // The owner of the resource (optional). + // For example, "user:<owner email>" or "project:<Google developer project + // id>". + string owner = 3; + + // Describes what error is encountered when accessing this resource. + // For example, updating a cloud project may require the `writer` permission + // on the developer console project. + string description = 4; +} + +// Provides links to documentation or for performing an out of band action. +// +// For example, if a quota check failed with an error indicating the calling +// project hasn't enabled the accessed service, this can contain a URL pointing +// directly to the right place in the developer console to flip the bit. +message Help { + // Describes a URL link. + message Link { + // Describes what the link offers. + string description = 1; + + // The URL of the link. + string url = 2; + } + + // URL(s) pointing to additional information on handling the current error. + repeated Link links = 1; +} + +// Provides a localized error message that is safe to return to the user +// which can be attached to an RPC error. +message LocalizedMessage { + // The locale used following the specification defined at + // http://www.rfc-editor.org/rfc/bcp/bcp47.txt. + // Examples are: "en-US", "fr-CH", "es-MX" + string locale = 1; + + // The localized error message in the above locale. + string message = 2; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/rpc/status.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/rpc/status.proto new file mode 100644 index 0000000000000000000000000000000000000000..0839ee9666adb92d6dd3f75f110aef827c2d1da2 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/rpc/status.proto @@ -0,0 +1,92 @@ +// Copyright 2017 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.rpc; + +import "google/protobuf/any.proto"; + +option go_package = "google.golang.org/genproto/googleapis/rpc/status;status"; +option java_multiple_files = true; +option java_outer_classname = "StatusProto"; +option java_package = "com.google.rpc"; +option objc_class_prefix = "RPC"; + + +// The `Status` type defines a logical error model that is suitable for different +// programming environments, including REST APIs and RPC APIs. It is used by +// [gRPC](https://github.com/grpc). The error model is designed to be: +// +// - Simple to use and understand for most users +// - Flexible enough to meet unexpected needs +// +// # Overview +// +// The `Status` message contains three pieces of data: error code, error message, +// and error details. The error code should be an enum value of +// [google.rpc.Code][google.rpc.Code], but it may accept additional error codes if needed. The +// error message should be a developer-facing English message that helps +// developers *understand* and *resolve* the error. If a localized user-facing +// error message is needed, put the localized message in the error details or +// localize it in the client. The optional error details may contain arbitrary +// information about the error. There is a predefined set of error detail types +// in the package `google.rpc` that can be used for common error conditions. +// +// # Language mapping +// +// The `Status` message is the logical representation of the error model, but it +// is not necessarily the actual wire format. When the `Status` message is +// exposed in different client libraries and different wire protocols, it can be +// mapped differently. For example, it will likely be mapped to some exceptions +// in Java, but more likely mapped to some error codes in C. +// +// # Other uses +// +// The error model and the `Status` message can be used in a variety of +// environments, either with or without APIs, to provide a +// consistent developer experience across different environments. +// +// Example uses of this error model include: +// +// - Partial errors. If a service needs to return partial errors to the client, +// it may embed the `Status` in the normal response to indicate the partial +// errors. +// +// - Workflow errors. A typical workflow has multiple steps. Each step may +// have a `Status` message for error reporting. +// +// - Batch operations. If a client uses batch request and batch response, the +// `Status` message should be used directly inside batch response, one for +// each error sub-response. +// +// - Asynchronous operations. If an API call embeds asynchronous operation +// results in its response, the status of those operations should be +// represented directly using the `Status` message. +// +// - Logging. If some API errors are stored in logs, the message `Status` could +// be used directly after any stripping needed for security/privacy reasons. +message Status { + // The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]. + int32 code = 1; + + // A developer-facing error message, which should be in English. Any + // user-facing error message should be localized and sent in the + // [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client. + string message = 2; + + // A list of messages that carry the error details. There is a common set of + // message types for APIs to use. + repeated google.protobuf.Any details = 3; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/color.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/color.proto new file mode 100644 index 0000000000000000000000000000000000000000..2856ce91ee80cb38d2323226ca61e1d9cf9467d8 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/color.proto @@ -0,0 +1,164 @@ +// Copyright 2016 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.type; + +import "google/protobuf/wrappers.proto"; + +option go_package = "google.golang.org/genproto/googleapis/type/color;color"; +option java_multiple_files = true; +option java_outer_classname = "ColorProto"; +option java_package = "com.google.type"; +option objc_class_prefix = "GTP"; + + +// Represents a color in the RGBA color space. This representation is designed +// for simplicity of conversion to/from color representations in various +// languages over compactness; for example, the fields of this representation +// can be trivially provided to the constructor of "java.awt.Color" in Java; it +// can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" +// method in iOS; and, with just a little work, it can be easily formatted into +// a CSS "rgba()" string in JavaScript, as well. Here are some examples: +// +// Example (Java): +// +// import com.google.type.Color; +// +// // ... +// public static java.awt.Color fromProto(Color protocolor) { +// float alpha = protocolor.hasAlpha() +// ? protocolor.getAlpha().getValue() +// : 1.0; +// +// return new java.awt.Color( +// protocolor.getRed(), +// protocolor.getGreen(), +// protocolor.getBlue(), +// alpha); +// } +// +// public static Color toProto(java.awt.Color color) { +// float red = (float) color.getRed(); +// float green = (float) color.getGreen(); +// float blue = (float) color.getBlue(); +// float denominator = 255.0; +// Color.Builder resultBuilder = +// Color +// .newBuilder() +// .setRed(red / denominator) +// .setGreen(green / denominator) +// .setBlue(blue / denominator); +// int alpha = color.getAlpha(); +// if (alpha != 255) { +// result.setAlpha( +// FloatValue +// .newBuilder() +// .setValue(((float) alpha) / denominator) +// .build()); +// } +// return resultBuilder.build(); +// } +// // ... +// +// Example (iOS / Obj-C): +// +// // ... +// static UIColor* fromProto(Color* protocolor) { +// float red = [protocolor red]; +// float green = [protocolor green]; +// float blue = [protocolor blue]; +// FloatValue* alpha_wrapper = [protocolor alpha]; +// float alpha = 1.0; +// if (alpha_wrapper != nil) { +// alpha = [alpha_wrapper value]; +// } +// return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; +// } +// +// static Color* toProto(UIColor* color) { +// CGFloat red, green, blue, alpha; +// if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { +// return nil; +// } +// Color* result = [Color alloc] init]; +// [result setRed:red]; +// [result setGreen:green]; +// [result setBlue:blue]; +// if (alpha <= 0.9999) { +// [result setAlpha:floatWrapperWithValue(alpha)]; +// } +// [result autorelease]; +// return result; +// } +// // ... +// +// Example (JavaScript): +// +// // ... +// +// var protoToCssColor = function(rgb_color) { +// var redFrac = rgb_color.red || 0.0; +// var greenFrac = rgb_color.green || 0.0; +// var blueFrac = rgb_color.blue || 0.0; +// var red = Math.floor(redFrac * 255); +// var green = Math.floor(greenFrac * 255); +// var blue = Math.floor(blueFrac * 255); +// +// if (!('alpha' in rgb_color)) { +// return rgbToCssColor_(red, green, blue); +// } +// +// var alphaFrac = rgb_color.alpha.value || 0.0; +// var rgbParams = [red, green, blue].join(','); +// return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); +// }; +// +// var rgbToCssColor_ = function(red, green, blue) { +// var rgbNumber = new Number((red << 16) | (green << 8) | blue); +// var hexString = rgbNumber.toString(16); +// var missingZeros = 6 - hexString.length; +// var resultBuilder = ['#']; +// for (var i = 0; i < missingZeros; i++) { +// resultBuilder.push('0'); +// } +// resultBuilder.push(hexString); +// return resultBuilder.join(''); +// }; +// +// // ... +message Color { + // The amount of red in the color as a value in the interval [0, 1]. + float red = 1; + + // The amount of green in the color as a value in the interval [0, 1]. + float green = 2; + + // The amount of blue in the color as a value in the interval [0, 1]. + float blue = 3; + + // The fraction of this color that should be applied to the pixel. That is, + // the final pixel color is defined by the equation: + // + // pixel color = alpha * (this color) + (1.0 - alpha) * (background color) + // + // This means that a value of 1.0 corresponds to a solid color, whereas + // a value of 0.0 corresponds to a completely transparent color. This + // uses a wrapper message rather than a simple float scalar so that it is + // possible to distinguish between a default value and the value being unset. + // If omitted, this color object is to be rendered as a solid color + // (as if the alpha value had been explicitly given with a value of 1.0). + google.protobuf.FloatValue alpha = 4; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/date.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/date.proto new file mode 100644 index 0000000000000000000000000000000000000000..d873ed462f85431f9b1062b73adb0152a457b796 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/date.proto @@ -0,0 +1,45 @@ +// Copyright 2016 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.type; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/type/date;date"; +option java_multiple_files = true; +option java_outer_classname = "DateProto"; +option java_package = "com.google.type"; +option objc_class_prefix = "GTP"; + + +// Represents a whole calendar date, e.g. date of birth. The time of day and +// time zone are either specified elsewhere or are not significant. The date +// is relative to the Proleptic Gregorian Calendar. The day may be 0 to +// represent a year and month where the day is not significant, e.g. credit card +// expiration date. The year may be 0 to represent a month and day independent +// of year, e.g. anniversary date. Related types are [google.type.TimeOfDay][google.type.TimeOfDay] +// and `google.protobuf.Timestamp`. +message Date { + // Year of date. Must be from 1 to 9999, or 0 if specifying a date without + // a year. + int32 year = 1; + + // Month of year. Must be from 1 to 12. + int32 month = 2; + + // Day of month. Must be from 1 to 31 and valid for the year and month, or 0 + // if specifying a year/month where the day is not significant. + int32 day = 3; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/dayofweek.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/dayofweek.proto new file mode 100644 index 0000000000000000000000000000000000000000..4eaa9e729f741ac6fe22d52d40a3654299cc9e96 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/dayofweek.proto @@ -0,0 +1,51 @@ +// Copyright 2016 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.type; + +option go_package = "google.golang.org/genproto/googleapis/type/dayofweek;dayofweek"; +option java_multiple_files = true; +option java_outer_classname = "DayOfWeekProto"; +option java_package = "com.google.type"; +option objc_class_prefix = "GTP"; + + +// Represents a day of week. +enum DayOfWeek { + // The unspecified day-of-week. + DAY_OF_WEEK_UNSPECIFIED = 0; + + // The day-of-week of Monday. + MONDAY = 1; + + // The day-of-week of Tuesday. + TUESDAY = 2; + + // The day-of-week of Wednesday. + WEDNESDAY = 3; + + // The day-of-week of Thursday. + THURSDAY = 4; + + // The day-of-week of Friday. + FRIDAY = 5; + + // The day-of-week of Saturday. + SATURDAY = 6; + + // The day-of-week of Sunday. + SUNDAY = 7; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/latlng.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/latlng.proto new file mode 100644 index 0000000000000000000000000000000000000000..4e8c65d227af0e04bc369aeb8ee215d921c7dab4 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/latlng.proto @@ -0,0 +1,71 @@ +// Copyright 2016 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.type; + +option go_package = "google.golang.org/genproto/googleapis/type/latlng;latlng"; +option java_multiple_files = true; +option java_outer_classname = "LatLngProto"; +option java_package = "com.google.type"; +option objc_class_prefix = "GTP"; + + +// An object representing a latitude/longitude pair. This is expressed as a pair +// of doubles representing degrees latitude and degrees longitude. Unless +// specified otherwise, this must conform to the +// <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 +// standard</a>. Values must be within normalized ranges. +// +// Example of normalization code in Python: +// +// def NormalizeLongitude(longitude): +// """Wraps decimal degrees longitude to [-180.0, 180.0].""" +// q, r = divmod(longitude, 360.0) +// if r > 180.0 or (r == 180.0 and q <= -1.0): +// return r - 360.0 +// return r +// +// def NormalizeLatLng(latitude, longitude): +// """Wraps decimal degrees latitude and longitude to +// [-90.0, 90.0] and [-180.0, 180.0], respectively.""" +// r = latitude % 360.0 +// if r <= 90.0: +// return r, NormalizeLongitude(longitude) +// elif r >= 270.0: +// return r - 360, NormalizeLongitude(longitude) +// else: +// return 180 - r, NormalizeLongitude(longitude + 180.0) +// +// assert 180.0 == NormalizeLongitude(180.0) +// assert -180.0 == NormalizeLongitude(-180.0) +// assert -179.0 == NormalizeLongitude(181.0) +// assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) +// assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) +// assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) +// assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) +// assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) +// assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) +// assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) +// assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) +// assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) +// assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) +message LatLng { + // The latitude in degrees. It must be in the range [-90.0, +90.0]. + double latitude = 1; + + // The longitude in degrees. It must be in the range [-180.0, +180.0]. + double longitude = 2; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/money.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/money.proto new file mode 100644 index 0000000000000000000000000000000000000000..154acc9f295fc29a3c9aff6c90e8aff95adc34a6 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/money.proto @@ -0,0 +1,42 @@ +// Copyright 2016 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.type; + +option go_package = "google.golang.org/genproto/googleapis/type/money;money"; +option java_multiple_files = true; +option java_outer_classname = "MoneyProto"; +option java_package = "com.google.type"; +option objc_class_prefix = "GTP"; + + +// Represents an amount of money with its currency type. +message Money { + // The 3-letter currency code defined in ISO 4217. + string currency_code = 1; + + // The whole units of the amount. + // For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. + int64 units = 2; + + // Number of nano (10^-9) units of the amount. + // The value must be between -999,999,999 and +999,999,999 inclusive. + // If `units` is positive, `nanos` must be positive or zero. + // If `units` is zero, `nanos` can be positive, zero, or negative. + // If `units` is negative, `nanos` must be negative or zero. + // For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000. + int32 nanos = 3; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/postal_address.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/postal_address.proto new file mode 100644 index 0000000000000000000000000000000000000000..b08b61726acc522b0eaa51658d96a67a2c0716b6 --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/postal_address.proto @@ -0,0 +1,132 @@ +// Copyright 2016 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.type; + +option go_package = "google.golang.org/genproto/googleapis/type/postaladdress;postaladdress"; +option java_multiple_files = true; +option java_outer_classname = "PostalAddressProto"; +option java_package = "com.google.type"; +option objc_class_prefix = "GTP"; + + +// Represents a postal address, e.g. for postal delivery or payments addresses. +// Given a postal address, a postal service can deliver items to a premise, P.O. +// Box or similar. +// It is not intended to model geographical locations (roads, towns, +// mountains). +// +// In typical usage an address would be created via user input or from importing +// existing data, depending on the type of process. +// +// Advice on address input / editing: +// - Use an i18n-ready address widget such as +// https://github.com/googlei18n/libaddressinput) +// - Users should not be presented with UI elements for input or editing of +// fields outside countries where that field is used. +// +// For more guidance on how to use this schema, please see: +// https://support.google.com/business/answer/6397478 +message PostalAddress { + // The schema revision of the `PostalAddress`. + // All new revisions **must** be backward compatible with old revisions. + int32 revision = 1; + + // Required. CLDR region code of the country/region of the address. This + // is never inferred and it is up to the user to ensure the value is + // correct. See http://cldr.unicode.org/ and + // http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html + // for details. Example: "CH" for Switzerland. + string region_code = 2; + + // Optional. BCP-47 language code of the contents of this address (if + // known). This is often the UI language of the input form or is expected + // to match one of the languages used in the address' country/region, or their + // transliterated equivalents. + // This can affect formatting in certain countries, but is not critical + // to the correctness of the data and will never affect any validation or + // other non-formatting related operations. + // + // If this value is not known, it should be omitted (rather than specifying a + // possibly incorrect default). + // + // Examples: "zh-Hant", "ja", "ja-Latn", "en". + string language_code = 3; + + // Optional. Postal code of the address. Not all countries use or require + // postal codes to be present, but where they are used, they may trigger + // additional validation with other parts of the address (e.g. state/zip + // validation in the U.S.A.). + string postal_code = 4; + + // Optional. Additional, country-specific, sorting code. This is not used + // in most regions. Where it is used, the value is either a string like + // "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number + // alone, representing the "sector code" (Jamaica), "delivery area indicator" + // (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). + string sorting_code = 5; + + // Optional. Highest administrative subdivision which is used for postal + // addresses of a country or region. + // For example, this can be a state, a province, an oblast, or a prefecture. + // Specifically, for Spain this is the province and not the autonomous + // community (e.g. "Barcelona" and not "Catalonia"). + // Many countries don't use an administrative area in postal addresses. E.g. + // in Switzerland this should be left unpopulated. + string administrative_area = 6; + + // Optional. Generally refers to the city/town portion of the address. + // Examples: US city, IT comune, UK post town. + // In regions of the world where localities are not well defined or do not fit + // into this structure well, leave locality empty and use address_lines. + string locality = 7; + + // Optional. Sublocality of the address. + // For example, this can be neighborhoods, boroughs, districts. + string sublocality = 8; + + // Unstructured address lines describing the lower levels of an address. + // + // Because values in address_lines do not have type information and may + // sometimes contain multiple values in a single field (e.g. + // "Austin, TX"), it is important that the line order is clear. The order of + // address lines should be "envelope order" for the country/region of the + // address. In places where this can vary (e.g. Japan), address_language is + // used to make it explicit (e.g. "ja" for large-to-small ordering and + // "ja-Latn" or "en" for small-to-large). This way, the most specific line of + // an address can be selected based on the language. + // + // The minimum permitted structural representation of an address consists + // of a region_code with all remaining information placed in the + // address_lines. It would be possible to format such an address very + // approximately without geocoding, but no semantic reasoning could be + // made about any of the address components until it was at least + // partially resolved. + // + // Creating an address only containing a region_code and address_lines, and + // then geocoding is the recommended way to handle completely unstructured + // addresses (as opposed to guessing which parts of the address should be + // localities or administrative areas). + repeated string address_lines = 9; + + // Optional. The recipient at the address. + // This field may, under certain circumstances, contain multiline information. + // For example, it might contain "care of" information. + repeated string recipients = 10; + + // Optional. The name of the organization at the address. + string organization = 11; +} diff --git a/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/timeofday.proto b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/timeofday.proto new file mode 100644 index 0000000000000000000000000000000000000000..b130256e2239166d2a0f39b659d6972659ed50de --- /dev/null +++ b/Interface/target/protoc-dependencies/4d18ccebbc1a4a4429e6c72ae40f8a54/google/type/timeofday.proto @@ -0,0 +1,43 @@ +// Copyright 2016 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.type; + +option go_package = "google.golang.org/genproto/googleapis/type/timeofday;timeofday"; +option java_multiple_files = true; +option java_outer_classname = "TimeOfDayProto"; +option java_package = "com.google.type"; +option objc_class_prefix = "GTP"; + + +// Represents a time of day. The date and time zone are either not significant +// or are specified elsewhere. An API may chose to allow leap seconds. Related +// types are [google.type.Date][google.type.Date] and `google.protobuf.Timestamp`. +message TimeOfDay { + // Hours of day in 24 hour format. Should be from 0 to 23. An API may choose + // to allow the value "24:00:00" for scenarios like business closing time. + int32 hours = 1; + + // Minutes of hour of day. Must be from 0 to 59. + int32 minutes = 2; + + // Seconds of minutes of the time. Must normally be from 0 to 59. An API may + // allow the value 60 if it allows leap-seconds. + int32 seconds = 3; + + // Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + int32 nanos = 4; +} diff --git a/Interface/target/protoc-dependencies/546d62a47c98180a66cd4cc6dd073f1e/grpc/binlog/v1/binarylog.proto b/Interface/target/protoc-dependencies/546d62a47c98180a66cd4cc6dd073f1e/grpc/binlog/v1/binarylog.proto new file mode 100644 index 0000000000000000000000000000000000000000..9ed1733e2d88b69622618c547f45f40e6b9d8934 --- /dev/null +++ b/Interface/target/protoc-dependencies/546d62a47c98180a66cd4cc6dd073f1e/grpc/binlog/v1/binarylog.proto @@ -0,0 +1,209 @@ +// Copyright 2018 The gRPC Authors +// All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// The canonical version of this proto can be found at +// https://github.com/grpc/grpc-proto/blob/master/grpc/binlog/v1/binarylog.proto + +syntax = "proto3"; + +package grpc.binarylog.v1; + +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "google.golang.org/grpc/binarylog/grpc_binarylog_v1"; +option java_multiple_files = true; +option java_package = "io.grpc.binarylog.v1"; +option java_outer_classname = "BinaryLogProto"; + +// Log entry we store in binary logs +message GrpcLogEntry { + // Enumerates the type of event + // Note the terminology is different from the RPC semantics + // definition, but the same meaning is expressed here. + enum EventType { + EVENT_TYPE_UNKNOWN = 0; + // Header sent from client to server + EVENT_TYPE_CLIENT_HEADER = 1; + // Header sent from server to client + EVENT_TYPE_SERVER_HEADER = 2; + // Message sent from client to server + EVENT_TYPE_CLIENT_MESSAGE = 3; + // Message sent from server to client + EVENT_TYPE_SERVER_MESSAGE = 4; + // A signal that client is done sending + EVENT_TYPE_CLIENT_HALF_CLOSE = 5; + // Trailer indicates the end of the RPC. + // On client side, this event means a trailer was either received + // from the network or the gRPC library locally generated a status + // to inform the application about a failure. + // On server side, this event means the server application requested + // to send a trailer. Note: EVENT_TYPE_CANCEL may still arrive after + // this due to races on server side. + EVENT_TYPE_SERVER_TRAILER = 6; + // A signal that the RPC is cancelled. On client side, this + // indicates the client application requests a cancellation. + // On server side, this indicates that cancellation was detected. + // Note: This marks the end of the RPC. Events may arrive after + // this due to races. For example, on client side a trailer + // may arrive even though the application requested to cancel the RPC. + EVENT_TYPE_CANCEL = 7; + } + + // Enumerates the entity that generates the log entry + enum Logger { + LOGGER_UNKNOWN = 0; + LOGGER_CLIENT = 1; + LOGGER_SERVER = 2; + } + + // The timestamp of the binary log message + google.protobuf.Timestamp timestamp = 1; + + // Uniquely identifies a call. The value must not be 0 in order to disambiguate + // from an unset value. + // Each call may have several log entries, they will all have the same call_id. + // Nothing is guaranteed about their value other than they are unique across + // different RPCs in the same gRPC process. + uint64 call_id = 2; + + // The entry sequence id for this call. The first GrpcLogEntry has a + // value of 1, to disambiguate from an unset value. The purpose of + // this field is to detect missing entries in environments where + // durability or ordering is not guaranteed. + uint64 sequence_id_within_call = 3; + + EventType type = 4; + Logger logger = 5; // One of the above Logger enum + + // The logger uses one of the following fields to record the payload, + // according to the type of the log entry. + oneof payload { + ClientHeader client_header = 6; + ServerHeader server_header = 7; + // Used by EVENT_TYPE_CLIENT_MESSAGE, EVENT_TYPE_SERVER_MESSAGE + Message message = 8; + Trailer trailer = 9; + } + + // true if payload does not represent the full message or metadata. + bool payload_truncated = 10; + + // Peer address information, will only be recorded on the first + // incoming event. On client side, peer is logged on + // EVENT_TYPE_SERVER_HEADER normally or EVENT_TYPE_SERVER_TRAILER in + // the case of trailers-only. On server side, peer is always + // logged on EVENT_TYPE_CLIENT_HEADER. + Address peer = 11; +}; + +message ClientHeader { + // This contains only the metadata from the application. + Metadata metadata = 1; + + // The name of the RPC method, which looks something like: + // /<service>/<method> + // Note the leading "/" character. + string method_name = 2; + + // A single process may be used to run multiple virtual + // servers with different identities. + // The authority is the name of such a server identitiy. + // It is typically a portion of the URI in the form of + // <host> or <host>:<port> . + string authority = 3; + + // the RPC timeout + google.protobuf.Duration timeout = 4; +} + +message ServerHeader { + // This contains only the metadata from the application. + Metadata metadata = 1; +} + +message Trailer { + // This contains only the metadata from the application. + Metadata metadata = 1; + + // The gRPC status code. + uint32 status_code = 2; + + // An original status message before any transport specific + // encoding. + string status_message = 3; + + // The value of the 'grpc-status-details-bin' metadata key. If + // present, this is always an encoded 'google.rpc.Status' message. + bytes status_details = 4; +} + +// Message payload, used by CLIENT_MESSAGE and SERVER_MESSAGE +message Message { + // Length of the message. It may not be the same as the length of the + // data field, as the logging payload can be truncated or omitted. + uint32 length = 1; + // May be truncated or omitted. + bytes data = 2; +} + +// A list of metadata pairs, used in the payload of client header, +// server header, and server trailer. +// Implementations may omit some entries to honor the header limits +// of GRPC_BINARY_LOG_CONFIG. +// +// Header keys added by gRPC are omitted. To be more specific, +// implementations will not log the following entries, and this is +// not to be treated as a truncation: +// - entries handled by grpc that are not user visible, such as those +// that begin with 'grpc-' (with exception of grpc-trace-bin) +// or keys like 'lb-token' +// - transport specific entries, including but not limited to: +// ':path', ':authority', 'content-encoding', 'user-agent', 'te', etc +// - entries added for call credentials +// +// Implementations must always log grpc-trace-bin if it is present. +// Practically speaking it will only be visible on server side because +// grpc-trace-bin is managed by low level client side mechanisms +// inaccessible from the application level. On server side, the +// header is just a normal metadata key. +// The pair will not count towards the size limit. +message Metadata { + repeated MetadataEntry entry = 1; +} + +// A metadata key value pair +message MetadataEntry { + string key = 1; + bytes value = 2; +} + +// Address information +message Address { + enum Type { + TYPE_UNKNOWN = 0; + // address is in 1.2.3.4 form + TYPE_IPV4 = 1; + // address is in IPv6 canonical form (RFC5952 section 4) + // The scope is NOT included in the address string. + TYPE_IPV6 = 2; + // address is UDS string + TYPE_UNIX = 3; + }; + Type type = 1; + string address = 2; + // only for TYPE_IPV4 and TYPE_IPV6 + uint32 ip_port = 3; +} diff --git a/Interface/target/protoc-dependencies/546d62a47c98180a66cd4cc6dd073f1e/grpc/channelz/v1/channelz.proto b/Interface/target/protoc-dependencies/546d62a47c98180a66cd4cc6dd073f1e/grpc/channelz/v1/channelz.proto new file mode 100644 index 0000000000000000000000000000000000000000..20de23f7fa3451f3f4951ea4b73b0da3929ac9a5 --- /dev/null +++ b/Interface/target/protoc-dependencies/546d62a47c98180a66cd4cc6dd073f1e/grpc/channelz/v1/channelz.proto @@ -0,0 +1,564 @@ +// Copyright 2018 The gRPC Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This file defines an interface for exporting monitoring information +// out of gRPC servers. See the full design at +// https://github.com/grpc/proposal/blob/master/A14-channelz.md +// +// The canonical version of this proto can be found at +// https://github.com/grpc/grpc-proto/blob/master/grpc/channelz/v1/channelz.proto + +syntax = "proto3"; + +package grpc.channelz.v1; + +import "google/protobuf/any.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/wrappers.proto"; + +option go_package = "google.golang.org/grpc/channelz/grpc_channelz_v1"; +option java_multiple_files = true; +option java_package = "io.grpc.channelz.v1"; +option java_outer_classname = "ChannelzProto"; + +// Channel is a logical grouping of channels, subchannels, and sockets. +message Channel { + // The identifier for this channel. This should bet set. + ChannelRef ref = 1; + // Data specific to this channel. + ChannelData data = 2; + // At most one of 'channel_ref+subchannel_ref' and 'socket' is set. + + // There are no ordering guarantees on the order of channel refs. + // There may not be cycles in the ref graph. + // A channel ref may be present in more than one channel or subchannel. + repeated ChannelRef channel_ref = 3; + + // At most one of 'channel_ref+subchannel_ref' and 'socket' is set. + // There are no ordering guarantees on the order of subchannel refs. + // There may not be cycles in the ref graph. + // A sub channel ref may be present in more than one channel or subchannel. + repeated SubchannelRef subchannel_ref = 4; + + // There are no ordering guarantees on the order of sockets. + repeated SocketRef socket_ref = 5; +} + +// Subchannel is a logical grouping of channels, subchannels, and sockets. +// A subchannel is load balanced over by it's ancestor +message Subchannel { + // The identifier for this channel. + SubchannelRef ref = 1; + // Data specific to this channel. + ChannelData data = 2; + // At most one of 'channel_ref+subchannel_ref' and 'socket' is set. + + // There are no ordering guarantees on the order of channel refs. + // There may not be cycles in the ref graph. + // A channel ref may be present in more than one channel or subchannel. + repeated ChannelRef channel_ref = 3; + + // At most one of 'channel_ref+subchannel_ref' and 'socket' is set. + // There are no ordering guarantees on the order of subchannel refs. + // There may not be cycles in the ref graph. + // A sub channel ref may be present in more than one channel or subchannel. + repeated SubchannelRef subchannel_ref = 4; + + // There are no ordering guarantees on the order of sockets. + repeated SocketRef socket_ref = 5; +} + +// These come from the specified states in this document: +// https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md +message ChannelConnectivityState { + enum State { + UNKNOWN = 0; + IDLE = 1; + CONNECTING = 2; + READY = 3; + TRANSIENT_FAILURE = 4; + SHUTDOWN = 5; + } + State state = 1; +} + +// Channel data is data related to a specific Channel or Subchannel. +message ChannelData { + // The connectivity state of the channel or subchannel. Implementations + // should always set this. + ChannelConnectivityState state = 1; + + // The target this channel originally tried to connect to. May be absent + string target = 2; + + // A trace of recent events on the channel. May be absent. + ChannelTrace trace = 3; + + // The number of calls started on the channel + int64 calls_started = 4; + // The number of calls that have completed with an OK status + int64 calls_succeeded = 5; + // The number of calls that have completed with a non-OK status + int64 calls_failed = 6; + + // The last time a call was started on the channel. + google.protobuf.Timestamp last_call_started_timestamp = 7; +} + +// A trace event is an interesting thing that happened to a channel or +// subchannel, such as creation, address resolution, subchannel creation, etc. +message ChannelTraceEvent { + // High level description of the event. + string description = 1; + // The supported severity levels of trace events. + enum Severity { + CT_UNKNOWN = 0; + CT_INFO = 1; + CT_WARNING = 2; + CT_ERROR = 3; + } + // the severity of the trace event + Severity severity = 2; + // When this event occurred. + google.protobuf.Timestamp timestamp = 3; + // ref of referenced channel or subchannel. + // Optional, only present if this event refers to a child object. For example, + // this field would be filled if this trace event was for a subchannel being + // created. + oneof child_ref { + ChannelRef channel_ref = 4; + SubchannelRef subchannel_ref = 5; + } +} + +// ChannelTrace represents the recent events that have occurred on the channel. +message ChannelTrace { + // Number of events ever logged in this tracing object. This can differ from + // events.size() because events can be overwritten or garbage collected by + // implementations. + int64 num_events_logged = 1; + // Time that this channel was created. + google.protobuf.Timestamp creation_timestamp = 2; + // List of events that have occurred on this channel. + repeated ChannelTraceEvent events = 3; +} + +// ChannelRef is a reference to a Channel. +message ChannelRef { + // The globally unique id for this channel. Must be a positive number. + int64 channel_id = 1; + // An optional name associated with the channel. + string name = 2; + // Intentionally don't use field numbers from other refs. + reserved 3, 4, 5, 6, 7, 8; +} + +// ChannelRef is a reference to a Subchannel. +message SubchannelRef { + // The globally unique id for this subchannel. Must be a positive number. + int64 subchannel_id = 7; + // An optional name associated with the subchannel. + string name = 8; + // Intentionally don't use field numbers from other refs. + reserved 1, 2, 3, 4, 5, 6; +} + +// SocketRef is a reference to a Socket. +message SocketRef { + // The globally unique id for this socket. Must be a positive number. + int64 socket_id = 3; + // An optional name associated with the socket. + string name = 4; + // Intentionally don't use field numbers from other refs. + reserved 1, 2, 5, 6, 7, 8; +} + +// ServerRef is a reference to a Server. +message ServerRef { + // A globally unique identifier for this server. Must be a positive number. + int64 server_id = 5; + // An optional name associated with the server. + string name = 6; + // Intentionally don't use field numbers from other refs. + reserved 1, 2, 3, 4, 7, 8; +} + +// Server represents a single server. There may be multiple servers in a single +// program. +message Server { + // The identifier for a Server. This should be set. + ServerRef ref = 1; + // The associated data of the Server. + ServerData data = 2; + + // The sockets that the server is listening on. There are no ordering + // guarantees. This may be absent. + repeated SocketRef listen_socket = 3; +} + +// ServerData is data for a specific Server. +message ServerData { + // A trace of recent events on the server. May be absent. + ChannelTrace trace = 1; + + // The number of incoming calls started on the server + int64 calls_started = 2; + // The number of incoming calls that have completed with an OK status + int64 calls_succeeded = 3; + // The number of incoming calls that have a completed with a non-OK status + int64 calls_failed = 4; + + // The last time a call was started on the server. + google.protobuf.Timestamp last_call_started_timestamp = 5; +} + +// Information about an actual connection. Pronounced "sock-ay". +message Socket { + // The identifier for the Socket. + SocketRef ref = 1; + + // Data specific to this Socket. + SocketData data = 2; + // The locally bound address. + Address local = 3; + // The remote bound address. May be absent. + Address remote = 4; + // Security details for this socket. May be absent if not available, or + // there is no security on the socket. + Security security = 5; + + // Optional, represents the name of the remote endpoint, if different than + // the original target name. + string remote_name = 6; +} + +// SocketData is data associated for a specific Socket. The fields present +// are specific to the implementation, so there may be minor differences in +// the semantics. (e.g. flow control windows) +message SocketData { + // The number of streams that have been started. + int64 streams_started = 1; + // The number of streams that have ended successfully: + // On client side, received frame with eos bit set; + // On server side, sent frame with eos bit set. + int64 streams_succeeded = 2; + // The number of streams that have ended unsuccessfully: + // On client side, ended without receiving frame with eos bit set; + // On server side, ended without sending frame with eos bit set. + int64 streams_failed = 3; + // The number of grpc messages successfully sent on this socket. + int64 messages_sent = 4; + // The number of grpc messages received on this socket. + int64 messages_received = 5; + + // The number of keep alives sent. This is typically implemented with HTTP/2 + // ping messages. + int64 keep_alives_sent = 6; + + // The last time a stream was created by this endpoint. Usually unset for + // servers. + google.protobuf.Timestamp last_local_stream_created_timestamp = 7; + // The last time a stream was created by the remote endpoint. Usually unset + // for clients. + google.protobuf.Timestamp last_remote_stream_created_timestamp = 8; + + // The last time a message was sent by this endpoint. + google.protobuf.Timestamp last_message_sent_timestamp = 9; + // The last time a message was received by this endpoint. + google.protobuf.Timestamp last_message_received_timestamp = 10; + + // The amount of window, granted to the local endpoint by the remote endpoint. + // This may be slightly out of date due to network latency. This does NOT + // include stream level or TCP level flow control info. + google.protobuf.Int64Value local_flow_control_window = 11; + + // The amount of window, granted to the remote endpoint by the local endpoint. + // This may be slightly out of date due to network latency. This does NOT + // include stream level or TCP level flow control info. + google.protobuf.Int64Value remote_flow_control_window = 12; + + // Socket options set on this socket. May be absent if 'summary' is set + // on GetSocketRequest. + repeated SocketOption option = 13; +} + +// Address represents the address used to create the socket. +message Address { + message TcpIpAddress { + // Either the IPv4 or IPv6 address in bytes. Will be either 4 bytes or 16 + // bytes in length. + bytes ip_address = 1; + // 0-64k, or -1 if not appropriate. + int32 port = 2; + } + // A Unix Domain Socket address. + message UdsAddress { + string filename = 1; + } + // An address type not included above. + message OtherAddress { + // The human readable version of the value. This value should be set. + string name = 1; + // The actual address message. + google.protobuf.Any value = 2; + } + + oneof address { + TcpIpAddress tcpip_address = 1; + UdsAddress uds_address = 2; + OtherAddress other_address = 3; + } +} + +// Security represents details about how secure the socket is. +message Security { + message Tls { + oneof cipher_suite { + // The cipher suite name in the RFC 4346 format: + // https://tools.ietf.org/html/rfc4346#appendix-C + string standard_name = 1; + // Some other way to describe the cipher suite if + // the RFC 4346 name is not available. + string other_name = 2; + } + // the certificate used by this endpoint. + bytes local_certificate = 3; + // the certificate used by the remote endpoint. + bytes remote_certificate = 4; + } + message OtherSecurity { + // The human readable version of the value. + string name = 1; + // The actual security details message. + google.protobuf.Any value = 2; + } + oneof model { + Tls tls = 1; + OtherSecurity other = 2; + } +} + +// SocketOption represents socket options for a socket. Specifically, these +// are the options returned by getsockopt(). +message SocketOption { + // The full name of the socket option. Typically this will be the upper case + // name, such as "SO_REUSEPORT". + string name = 1; + // The human readable value of this socket option. At least one of value or + // additional will be set. + string value = 2; + // Additional data associated with the socket option. At least one of value + // or additional will be set. + google.protobuf.Any additional = 3; +} + +// For use with SocketOption's additional field. This is primarily used for +// SO_RCVTIMEO and SO_SNDTIMEO +message SocketOptionTimeout { + google.protobuf.Duration duration = 1; +} + +// For use with SocketOption's additional field. This is primarily used for +// SO_LINGER. +message SocketOptionLinger { + // active maps to `struct linger.l_onoff` + bool active = 1; + // duration maps to `struct linger.l_linger` + google.protobuf.Duration duration = 2; +} + +// For use with SocketOption's additional field. Tcp info for +// SOL_TCP and TCP_INFO. +message SocketOptionTcpInfo { + uint32 tcpi_state = 1; + + uint32 tcpi_ca_state = 2; + uint32 tcpi_retransmits = 3; + uint32 tcpi_probes = 4; + uint32 tcpi_backoff = 5; + uint32 tcpi_options = 6; + uint32 tcpi_snd_wscale = 7; + uint32 tcpi_rcv_wscale = 8; + + uint32 tcpi_rto = 9; + uint32 tcpi_ato = 10; + uint32 tcpi_snd_mss = 11; + uint32 tcpi_rcv_mss = 12; + + uint32 tcpi_unacked = 13; + uint32 tcpi_sacked = 14; + uint32 tcpi_lost = 15; + uint32 tcpi_retrans = 16; + uint32 tcpi_fackets = 17; + + uint32 tcpi_last_data_sent = 18; + uint32 tcpi_last_ack_sent = 19; + uint32 tcpi_last_data_recv = 20; + uint32 tcpi_last_ack_recv = 21; + + uint32 tcpi_pmtu = 22; + uint32 tcpi_rcv_ssthresh = 23; + uint32 tcpi_rtt = 24; + uint32 tcpi_rttvar = 25; + uint32 tcpi_snd_ssthresh = 26; + uint32 tcpi_snd_cwnd = 27; + uint32 tcpi_advmss = 28; + uint32 tcpi_reordering = 29; +} + +// Channelz is a service exposed by gRPC servers that provides detailed debug +// information. +service Channelz { + // Gets all root channels (i.e. channels the application has directly + // created). This does not include subchannels nor non-top level channels. + rpc GetTopChannels(GetTopChannelsRequest) returns (GetTopChannelsResponse); + // Gets all servers that exist in the process. + rpc GetServers(GetServersRequest) returns (GetServersResponse); + // Returns a single Server, or else a NOT_FOUND code. + rpc GetServer(GetServerRequest) returns (GetServerResponse); + // Gets all server sockets that exist in the process. + rpc GetServerSockets(GetServerSocketsRequest) returns (GetServerSocketsResponse); + // Returns a single Channel, or else a NOT_FOUND code. + rpc GetChannel(GetChannelRequest) returns (GetChannelResponse); + // Returns a single Subchannel, or else a NOT_FOUND code. + rpc GetSubchannel(GetSubchannelRequest) returns (GetSubchannelResponse); + // Returns a single Socket or else a NOT_FOUND code. + rpc GetSocket(GetSocketRequest) returns (GetSocketResponse); +} + +message GetTopChannelsRequest { + // start_channel_id indicates that only channels at or above this id should be + // included in the results. + // To request the first page, this should be set to 0. To request + // subsequent pages, the client generates this value by adding 1 to + // the highest seen result ID. + int64 start_channel_id = 1; + + // If non-zero, the server will return a page of results containing + // at most this many items. If zero, the server will choose a + // reasonable page size. Must never be negative. + int64 max_results = 2; +} + +message GetTopChannelsResponse { + // list of channels that the connection detail service knows about. Sorted in + // ascending channel_id order. + // Must contain at least 1 result, otherwise 'end' must be true. + repeated Channel channel = 1; + // If set, indicates that the list of channels is the final list. Requesting + // more channels can only return more if they are created after this RPC + // completes. + bool end = 2; +} + +message GetServersRequest { + // start_server_id indicates that only servers at or above this id should be + // included in the results. + // To request the first page, this must be set to 0. To request + // subsequent pages, the client generates this value by adding 1 to + // the highest seen result ID. + int64 start_server_id = 1; + + // If non-zero, the server will return a page of results containing + // at most this many items. If zero, the server will choose a + // reasonable page size. Must never be negative. + int64 max_results = 2; +} + +message GetServersResponse { + // list of servers that the connection detail service knows about. Sorted in + // ascending server_id order. + // Must contain at least 1 result, otherwise 'end' must be true. + repeated Server server = 1; + // If set, indicates that the list of servers is the final list. Requesting + // more servers will only return more if they are created after this RPC + // completes. + bool end = 2; +} + +message GetServerRequest { + // server_id is the identifier of the specific server to get. + int64 server_id = 1; +} + +message GetServerResponse { + // The Server that corresponds to the requested server_id. This field + // should be set. + Server server = 1; +} + +message GetServerSocketsRequest { + int64 server_id = 1; + // start_socket_id indicates that only sockets at or above this id should be + // included in the results. + // To request the first page, this must be set to 0. To request + // subsequent pages, the client generates this value by adding 1 to + // the highest seen result ID. + int64 start_socket_id = 2; + + // If non-zero, the server will return a page of results containing + // at most this many items. If zero, the server will choose a + // reasonable page size. Must never be negative. + int64 max_results = 3; +} + +message GetServerSocketsResponse { + // list of socket refs that the connection detail service knows about. Sorted in + // ascending socket_id order. + // Must contain at least 1 result, otherwise 'end' must be true. + repeated SocketRef socket_ref = 1; + // If set, indicates that the list of sockets is the final list. Requesting + // more sockets will only return more if they are created after this RPC + // completes. + bool end = 2; +} + +message GetChannelRequest { + // channel_id is the identifier of the specific channel to get. + int64 channel_id = 1; +} + +message GetChannelResponse { + // The Channel that corresponds to the requested channel_id. This field + // should be set. + Channel channel = 1; +} + +message GetSubchannelRequest { + // subchannel_id is the identifier of the specific subchannel to get. + int64 subchannel_id = 1; +} + +message GetSubchannelResponse { + // The Subchannel that corresponds to the requested subchannel_id. This + // field should be set. + Subchannel subchannel = 1; +} + +message GetSocketRequest { + // socket_id is the identifier of the specific socket to get. + int64 socket_id = 1; + + // If true, the response will contain only high level information + // that is inexpensive to obtain. Fields thay may be omitted are + // documented. + bool summary = 2; +} + +message GetSocketResponse { + // The Socket that corresponds to the requested socket_id. This field + // should be set. + Socket socket = 1; +} diff --git a/Interface/target/protoc-dependencies/546d62a47c98180a66cd4cc6dd073f1e/grpc/health/v1/health.proto b/Interface/target/protoc-dependencies/546d62a47c98180a66cd4cc6dd073f1e/grpc/health/v1/health.proto new file mode 100644 index 0000000000000000000000000000000000000000..38843ff1e73ac3ad339b16f551c9b9806a7f02a6 --- /dev/null +++ b/Interface/target/protoc-dependencies/546d62a47c98180a66cd4cc6dd073f1e/grpc/health/v1/health.proto @@ -0,0 +1,63 @@ +// Copyright 2015 The gRPC Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// The canonical version of this proto can be found at +// https://github.com/grpc/grpc-proto/blob/master/grpc/health/v1/health.proto + +syntax = "proto3"; + +package grpc.health.v1; + +option csharp_namespace = "Grpc.Health.V1"; +option go_package = "google.golang.org/grpc/health/grpc_health_v1"; +option java_multiple_files = true; +option java_outer_classname = "HealthProto"; +option java_package = "io.grpc.health.v1"; + +message HealthCheckRequest { + string service = 1; +} + +message HealthCheckResponse { + enum ServingStatus { + UNKNOWN = 0; + SERVING = 1; + NOT_SERVING = 2; + SERVICE_UNKNOWN = 3; // Used only by the Watch method. + } + ServingStatus status = 1; +} + +service Health { + // If the requested service is unknown, the call will fail with status + // NOT_FOUND. + rpc Check(HealthCheckRequest) returns (HealthCheckResponse); + + // Performs a watch for the serving status of the requested service. + // The server will immediately send back a message indicating the current + // serving status. It will then subsequently send a new message whenever + // the service's serving status changes. + // + // If the requested service is unknown when the call is received, the + // server will send a message setting the serving status to + // SERVICE_UNKNOWN but will *not* terminate the call. If at some + // future point, the serving status of the service becomes known, the + // server will send a new message with the service's serving status. + // + // If the call terminates with status UNIMPLEMENTED, then clients + // should assume this method is not supported and should not retry the + // call. If the call terminates with any other status (including OK), + // clients should retry the call with appropriate exponential backoff. + rpc Watch(HealthCheckRequest) returns (stream HealthCheckResponse); +} diff --git a/Interface/target/protoc-dependencies/546d62a47c98180a66cd4cc6dd073f1e/grpc/reflection/v1alpha/reflection.proto b/Interface/target/protoc-dependencies/546d62a47c98180a66cd4cc6dd073f1e/grpc/reflection/v1alpha/reflection.proto new file mode 100644 index 0000000000000000000000000000000000000000..8c5e06fe1485d92bbb56d08c1709e3ae46d9c763 --- /dev/null +++ b/Interface/target/protoc-dependencies/546d62a47c98180a66cd4cc6dd073f1e/grpc/reflection/v1alpha/reflection.proto @@ -0,0 +1,144 @@ +// Copyright 2016 The gRPC Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// Service exported by server reflection + + +// Warning: this entire file is deprecated. Use this instead: +// https://github.com/grpc/grpc-proto/blob/master/grpc/reflection/v1/reflection.proto + +syntax = "proto3"; + +package grpc.reflection.v1alpha; + +option deprecated = true; +option java_multiple_files = true; +option java_package = "io.grpc.reflection.v1alpha"; +option java_outer_classname = "ServerReflectionProto"; + +service ServerReflection { + // The reflection service is structured as a bidirectional stream, ensuring + // all related requests go to a single server. + rpc ServerReflectionInfo(stream ServerReflectionRequest) + returns (stream ServerReflectionResponse); +} + +// The message sent by the client when calling ServerReflectionInfo method. +message ServerReflectionRequest { + string host = 1; + // To use reflection service, the client should set one of the following + // fields in message_request. The server distinguishes requests by their + // defined field and then handles them using corresponding methods. + oneof message_request { + // Find a proto file by the file name. + string file_by_filename = 3; + + // Find the proto file that declares the given fully-qualified symbol name. + // This field should be a fully-qualified symbol name + // (e.g. <package>.<service>[.<method>] or <package>.<type>). + string file_containing_symbol = 4; + + // Find the proto file which defines an extension extending the given + // message type with the given field number. + ExtensionRequest file_containing_extension = 5; + + // Finds the tag numbers used by all known extensions of extendee_type, and + // appends them to ExtensionNumberResponse in an undefined order. + // Its corresponding method is best-effort: it's not guaranteed that the + // reflection service will implement this method, and it's not guaranteed + // that this method will provide all extensions. Returns + // StatusCode::UNIMPLEMENTED if it's not implemented. + // This field should be a fully-qualified type name. The format is + // <package>.<type> + string all_extension_numbers_of_type = 6; + + // List the full names of registered services. The content will not be + // checked. + string list_services = 7; + } +} + +// The type name and extension number sent by the client when requesting +// file_containing_extension. +message ExtensionRequest { + // Fully-qualified type name. The format should be <package>.<type> + string containing_type = 1; + int32 extension_number = 2; +} + +// The message sent by the server to answer ServerReflectionInfo method. +message ServerReflectionResponse { + string valid_host = 1; + ServerReflectionRequest original_request = 2; + // The server set one of the following fields accroding to the message_request + // in the request. + oneof message_response { + // This message is used to answer file_by_filename, file_containing_symbol, + // file_containing_extension requests with transitive dependencies. As + // the repeated label is not allowed in oneof fields, we use a + // FileDescriptorResponse message to encapsulate the repeated fields. + // The reflection service is allowed to avoid sending FileDescriptorProtos + // that were previously sent in response to earlier requests in the stream. + FileDescriptorResponse file_descriptor_response = 4; + + // This message is used to answer all_extension_numbers_of_type requst. + ExtensionNumberResponse all_extension_numbers_response = 5; + + // This message is used to answer list_services request. + ListServiceResponse list_services_response = 6; + + // This message is used when an error occurs. + ErrorResponse error_response = 7; + } +} + +// Serialized FileDescriptorProto messages sent by the server answering +// a file_by_filename, file_containing_symbol, or file_containing_extension +// request. +message FileDescriptorResponse { + // Serialized FileDescriptorProto messages. We avoid taking a dependency on + // descriptor.proto, which uses proto2 only features, by making them opaque + // bytes instead. + repeated bytes file_descriptor_proto = 1; +} + +// A list of extension numbers sent by the server answering +// all_extension_numbers_of_type request. +message ExtensionNumberResponse { + // Full name of the base type, including the package name. The format + // is <package>.<type> + string base_type_name = 1; + repeated int32 extension_number = 2; +} + +// A list of ServiceResponse sent by the server answering list_services request. +message ListServiceResponse { + // The information of each service may be expanded in the future, so we use + // ServiceResponse message to encapsulate it. + repeated ServiceResponse service = 1; +} + +// The information of a single service used by ListServiceResponse to answer +// list_services request. +message ServiceResponse { + // Full name of a registered service, including its package name. The format + // is <package>.<service> + string name = 1; +} + +// The error code and error message sent by the server when an error occurs. +message ErrorResponse { + // This field uses the error codes defined in grpc::StatusCode. + int32 error_code = 1; + string error_message = 2; +} diff --git a/Interface/target/protoc-plugins/protoc-3.7.1-linux-x86_64.exe b/Interface/target/protoc-plugins/protoc-3.7.1-linux-x86_64.exe new file mode 100755 index 0000000000000000000000000000000000000000..d2796df3a0b37362c6f1473ae452c3dd92779a2b Binary files /dev/null and b/Interface/target/protoc-plugins/protoc-3.7.1-linux-x86_64.exe differ diff --git a/Interface/target/protoc-plugins/protoc-gen-grpc-java-1.20.0-linux-x86_64.exe b/Interface/target/protoc-plugins/protoc-gen-grpc-java-1.20.0-linux-x86_64.exe new file mode 100755 index 0000000000000000000000000000000000000000..592c20712cfe5b3bf8983d3048aafcfafd41c2be Binary files /dev/null and b/Interface/target/protoc-plugins/protoc-gen-grpc-java-1.20.0-linux-x86_64.exe differ diff --git a/PythonAi/CMsgBotWorldState_pb2.py b/PythonAi/CMsgBotWorldState_pb2.py new file mode 100644 index 0000000000000000000000000000000000000000..05473d33f3095df58e8310509b6590154e1ccaac --- /dev/null +++ b/PythonAi/CMsgBotWorldState_pb2.py @@ -0,0 +1,5157 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: CMsgBotWorldState.proto + +import sys +_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='CMsgBotWorldState.proto', + package='', + syntax='proto2', + serialized_options=_b('H\001\200\001\000'), + serialized_pb=_b('\n\x17\x43MsgBotWorldState.proto\"\xe5m\n\x11\x43MsgBotWorldState\x12\x0f\n\x07team_id\x18\x01 \x01(\r\x12\x11\n\tgame_time\x18\x02 \x01(\x02\x12\x11\n\tdota_time\x18\x03 \x01(\x02\x12\x12\n\ngame_state\x18\x04 \x01(\r\x12\x17\n\x0fhero_pick_state\x18\x05 \x01(\r\x12\x13\n\x0btime_of_day\x18\x06 \x01(\x02\x12\x16\n\x0eglyph_cooldown\x18\x07 \x01(\x02\x12\x1c\n\x14glyph_cooldown_enemy\x18\x08 \x01(\r\x12*\n\x07players\x18\n \x03(\x0b\x32\x19.CMsgBotWorldState.Player\x12&\n\x05units\x18\x0b \x03(\x0b\x32\x17.CMsgBotWorldState.Unit\x12\x35\n\rdropped_items\x18\x0c \x03(\x0b\x32\x1e.CMsgBotWorldState.DroppedItem\x12/\n\nrune_infos\x18\r \x03(\x0b\x32\x1b.CMsgBotWorldState.RuneInfo\x12;\n\x12incoming_teleports\x18\x0e \x03(\x0b\x32\x1f.CMsgBotWorldState.TeleportInfo\x12?\n\x12linear_projectiles\x18\x0f \x03(\x0b\x32#.CMsgBotWorldState.LinearProjectile\x12\x39\n\x0f\x61voidance_zones\x18\x10 \x03(\x0b\x32 .CMsgBotWorldState.AvoidanceZone\x12,\n\x08\x63ouriers\x18\x11 \x03(\x0b\x32\x1a.CMsgBotWorldState.Courier\x12\x37\n\x0e\x61\x62ility_events\x18\x14 \x03(\x0b\x32\x1f.CMsgBotWorldState.EventAbility\x12\x35\n\rdamage_events\x18\x15 \x03(\x0b\x32\x1e.CMsgBotWorldState.EventDamage\x12\x44\n\x15\x63ourier_killed_events\x18\x16 \x03(\x0b\x32%.CMsgBotWorldState.EventCourierKilled\x12\x42\n\x14roshan_killed_events\x18\x17 \x03(\x0b\x32$.CMsgBotWorldState.EventRoshanKilled\x12\x31\n\x0btree_events\x18\x18 \x03(\x0b\x32\x1c.CMsgBotWorldState.EventTree\x1a)\n\x06Vector\x12\t\n\x01x\x18\x01 \x02(\x02\x12\t\n\x01y\x18\x02 \x02(\x02\x12\t\n\x01z\x18\x03 \x02(\x02\x1a\x95\x01\n\x06Player\x12\x11\n\tplayer_id\x18\x01 \x01(\x05\x12\x0f\n\x07hero_id\x18\x02 \x01(\r\x12\x10\n\x08is_alive\x18\x03 \x01(\x08\x12\x14\n\x0crespawn_time\x18\x04 \x01(\x02\x12\r\n\x05kills\x18\x05 \x01(\r\x12\x0e\n\x06\x64\x65\x61ths\x18\x06 \x01(\r\x12\x0f\n\x07\x61ssists\x18\x07 \x01(\r\x12\x0f\n\x07team_id\x18\x08 \x01(\r\x1a\x9d\x03\n\x07\x41\x62ility\x12\x0e\n\x06handle\x18\x01 \x01(\r\x12\x12\n\nability_id\x18\x02 \x01(\r\x12\x0c\n\x04slot\x18\x03 \x01(\r\x12\x15\n\rcaster_handle\x18\x05 \x01(\r\x12\r\n\x05level\x18\x06 \x01(\r\x12\x12\n\ncast_range\x18\n \x01(\r\x12\x14\n\x0c\x63hannel_time\x18\x0b \x01(\x02\x12\x1d\n\x12\x63ooldown_remaining\x18\x0c \x01(\x02:\x01\x30\x12\x14\n\x0cis_activated\x18\x14 \x01(\x08\x12\x12\n\nis_toggled\x18\x15 \x01(\x08\x12\x1b\n\x13is_in_ability_phase\x18\x16 \x01(\x08\x12\x15\n\ris_channeling\x18\x17 \x01(\x08\x12\x11\n\tis_stolen\x18\x18 \x01(\x08\x12\x19\n\x11is_fully_castable\x18\x19 \x01(\x08\x12\x0f\n\x07\x63harges\x18\x1e \x01(\r\x12\x19\n\x11secondary_charges\x18\x1f \x01(\r\x12\x1a\n\x12is_combined_locked\x18( \x01(\x08\x12\x1d\n\x11power_treads_stat\x18\x32 \x01(\x05:\x02-1\x1aK\n\x0b\x44roppedItem\x12\x0f\n\x07item_id\x18\x01 \x01(\r\x12+\n\x08location\x18\x02 \x01(\x0b\x32\x19.CMsgBotWorldState.Vector\x1an\n\x08RuneInfo\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12+\n\x08location\x18\x02 \x01(\x0b\x32\x19.CMsgBotWorldState.Vector\x12\x0e\n\x06status\x18\x03 \x01(\r\x12\x17\n\x0ftime_since_seen\x18\x04 \x01(\x02\x1a\x66\n\x0cTeleportInfo\x12\x11\n\tplayer_id\x18\x01 \x01(\x05\x12+\n\x08location\x18\x02 \x01(\x0b\x32\x19.CMsgBotWorldState.Vector\x12\x16\n\x0etime_remaining\x18\x03 \x01(\x02\x1a\x96\x01\n\x08Modifier\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bstack_count\x18\x02 \x01(\r\x12\x16\n\x0e\x61\x62ility_handle\x18\x03 \x01(\r\x12\x12\n\nability_id\x18\x04 \x01(\r\x12\x1a\n\x12remaining_duration\x18\x05 \x01(\x02\x12\x1f\n\x17\x61uxiliary_units_handles\x18\x06 \x03(\r\x1a\xa9\x02\n\x10LinearProjectile\x12\x0e\n\x06handle\x18\x01 \x01(\r\x12\x15\n\rcaster_handle\x18\x02 \x01(\r\x12>\n\x10\x63\x61ster_unit_type\x18\t \x01(\x0e\x32\x1b.CMsgBotWorldState.UnitType:\x07INVALID\x12\x18\n\x10\x63\x61ster_player_id\x18\x03 \x01(\x05\x12\x16\n\x0e\x61\x62ility_handle\x18\x04 \x01(\r\x12\x12\n\nability_id\x18\x05 \x01(\r\x12+\n\x08location\x18\x06 \x01(\x0b\x32\x19.CMsgBotWorldState.Vector\x12+\n\x08velocity\x18\x07 \x01(\x0b\x32\x19.CMsgBotWorldState.Vector\x12\x0e\n\x06radius\x18\x08 \x01(\r\x1a\x99\x02\n\x12TrackingProjectile\x12\x15\n\rcaster_handle\x18\x01 \x01(\r\x12>\n\x10\x63\x61ster_unit_type\x18\t \x01(\x0e\x32\x1b.CMsgBotWorldState.UnitType:\x07INVALID\x12\x18\n\x10\x63\x61ster_player_id\x18\x02 \x01(\x05\x12\x16\n\x0e\x61\x62ility_handle\x18\x03 \x01(\r\x12\x12\n\nability_id\x18\x04 \x01(\r\x12+\n\x08location\x18\x05 \x01(\x0b\x32\x19.CMsgBotWorldState.Vector\x12\x10\n\x08velocity\x18\x06 \x01(\r\x12\x14\n\x0cis_dodgeable\x18\x07 \x01(\x08\x12\x11\n\tis_attack\x18\x08 \x01(\x08\x1a\xe9\x01\n\rAvoidanceZone\x12+\n\x08location\x18\x01 \x01(\x0b\x32\x19.CMsgBotWorldState.Vector\x12\x15\n\rcaster_handle\x18\x02 \x01(\r\x12>\n\x10\x63\x61ster_unit_type\x18\x07 \x01(\x0e\x32\x1b.CMsgBotWorldState.UnitType:\x07INVALID\x12\x18\n\x10\x63\x61ster_player_id\x18\x03 \x01(\x05\x12\x16\n\x0e\x61\x62ility_handle\x18\x04 \x01(\r\x12\x12\n\nability_id\x18\x05 \x01(\r\x12\x0e\n\x06radius\x18\x06 \x01(\r\x1ap\n\x07\x43ourier\x12\x0e\n\x06handle\x18\x01 \x01(\r\x12\x42\n\x05state\x18\x02 \x01(\x0e\x32\x1f.CMsgBotWorldState.CourierState:\x12\x43OURIER_STATE_INIT\x12\x11\n\tplayer_id\x18\x03 \x01(\x05\x1a\x91\x01\n\x0c\x45ventAbility\x12\x12\n\nability_id\x18\x01 \x01(\r\x12\x11\n\tplayer_id\x18\x02 \x01(\x05\x12\x13\n\x0bunit_handle\x18\x03 \x01(\r\x12+\n\x08location\x18\x04 \x01(\x0b\x32\x19.CMsgBotWorldState.Vector\x12\x18\n\x10is_channel_start\x18\x05 \x01(\x08\x1a\xa1\x01\n\x0b\x45ventDamage\x12\x0e\n\x06\x64\x61mage\x18\x01 \x01(\r\x12\x18\n\x10victim_player_id\x18\x02 \x01(\x05\x12\x1a\n\x12victim_unit_handle\x18\x03 \x01(\r\x12\x1a\n\x12\x61ttacker_player_id\x18\x04 \x01(\x05\x12\x1c\n\x14\x61ttacker_unit_handle\x18\x05 \x01(\r\x12\x12\n\nability_id\x18\x06 \x01(\r\x1ax\n\x12\x45ventCourierKilled\x12\x0f\n\x07team_id\x18\x01 \x01(\r\x12\x1b\n\x13\x63ourier_unit_handle\x18\x02 \x01(\r\x12\x18\n\x10killer_player_id\x18\x03 \x01(\x05\x12\x1a\n\x12killer_unit_handle\x18\x04 \x01(\r\x1aI\n\x11\x45ventRoshanKilled\x12\x18\n\x10killer_player_id\x18\x01 \x01(\x05\x12\x1a\n\x12killer_unit_handle\x18\x02 \x01(\r\x1a\x80\x01\n\tEventTree\x12\x0f\n\x07tree_id\x18\x01 \x01(\r\x12\x11\n\tdestroyed\x18\x02 \x01(\x08\x12\x11\n\trespawned\x18\x03 \x01(\x08\x12+\n\x08location\x18\x04 \x01(\x0b\x32\x19.CMsgBotWorldState.Vector\x12\x0f\n\x07\x64\x65layed\x18\x05 \x01(\x08\x1a\xf0\x11\n\x04Unit\x12\x0e\n\x06handle\x18\x01 \x01(\r\x12\x37\n\tunit_type\x18\x02 \x01(\x0e\x32\x1b.CMsgBotWorldState.UnitType:\x07INVALID\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0f\n\x07team_id\x18\x04 \x01(\r\x12\r\n\x05level\x18\x05 \x01(\r\x12+\n\x08location\x18\x06 \x01(\x0b\x32\x19.CMsgBotWorldState.Vector\x12\x10\n\x08is_alive\x18\x07 \x01(\x08\x12\x11\n\tplayer_id\x18\x08 \x01(\x05\x12\x17\n\x0f\x62ounding_radius\x18\n \x01(\x05\x12\x0e\n\x06\x66\x61\x63ing\x18\x0b \x01(\x05\x12\x15\n\rground_height\x18\x0c \x01(\r\x12\x1c\n\x14vision_range_daytime\x18\x0f \x01(\r\x12\x1e\n\x16vision_range_nighttime\x18\x10 \x01(\r\x12\x0e\n\x06health\x18\x14 \x01(\x05\x12\x12\n\nhealth_max\x18\x15 \x01(\x05\x12\x14\n\x0chealth_regen\x18\x16 \x01(\x02\x12\x0c\n\x04mana\x18\x19 \x01(\x05\x12\x10\n\x08mana_max\x18\x1a \x01(\x05\x12\x12\n\nmana_regen\x18\x1b \x01(\x02\x12\x1b\n\x13\x62\x61se_movement_speed\x18\x1e \x01(\x05\x12\x1e\n\x16\x63urrent_movement_speed\x18\x1f \x01(\x05\x12\x15\n\ranim_activity\x18# \x01(\x05\x12\x12\n\nanim_cycle\x18$ \x01(\x02\x12\x13\n\x0b\x62\x61se_damage\x18( \x01(\x05\x12\x1c\n\x14\x62\x61se_damage_variance\x18) \x01(\x05\x12\x14\n\x0c\x62onus_damage\x18* \x01(\x05\x12\x15\n\rattack_damage\x18+ \x01(\x05\x12\x14\n\x0c\x61ttack_range\x18, \x01(\x05\x12\x14\n\x0c\x61ttack_speed\x18- \x01(\x02\x12\x19\n\x11\x61ttack_anim_point\x18. \x01(\x02\x12 \n\x18\x61ttack_acquisition_range\x18/ \x01(\x05\x12\x1f\n\x17\x61ttack_projectile_speed\x18\x30 \x01(\x05\x12\x1c\n\x14\x61ttack_target_handle\x18\x31 \x01(\r\x12\x1a\n\x12\x61ttack_target_name\x18\x34 \x01(\t\x12\x1e\n\x12\x61ttacks_per_second\x18\x32 \x01(\x05:\x02-1\x12\x1c\n\x10last_attack_time\x18\x33 \x01(\x02:\x02-1\x12\x11\n\tbounty_xp\x18< \x01(\r\x12\x17\n\x0f\x62ounty_gold_min\x18= \x01(\r\x12\x17\n\x0f\x62ounty_gold_max\x18> \x01(\r\x12\x15\n\ris_channeling\x18\x41 \x01(\x08\x12\x1d\n\x15\x61\x63tive_ability_handle\x18\x42 \x01(\r\x12\x18\n\x10is_attack_immune\x18\x46 \x01(\x08\x12\x10\n\x08is_blind\x18G \x01(\x08\x12\x19\n\x11is_block_disabled\x18H \x01(\x08\x12\x13\n\x0bis_disarmed\x18I \x01(\x08\x12\x14\n\x0cis_dominated\x18J \x01(\x08\x12\x19\n\x11is_evade_disabled\x18K \x01(\x08\x12\x10\n\x08is_hexed\x18L \x01(\x08\x12\x14\n\x0cis_invisible\x18M \x01(\x08\x12\x17\n\x0fis_invulnerable\x18N \x01(\x08\x12\x17\n\x0fis_magic_immune\x18O \x01(\x08\x12\x10\n\x08is_muted\x18P \x01(\x08\x12\x15\n\ris_nightmared\x18R \x01(\x08\x12\x11\n\tis_rooted\x18S \x01(\x08\x12\x13\n\x0bis_silenced\x18T \x01(\x08\x12\x1d\n\x15is_specially_deniable\x18U \x01(\x08\x12\x12\n\nis_stunned\x18V \x01(\x08\x12\x19\n\x11is_unable_to_miss\x18W \x01(\x08\x12\x13\n\x0bhas_scepter\x18X \x01(\x08\x12-\n\tabilities\x18Z \x03(\x0b\x32\x1a.CMsgBotWorldState.Ability\x12)\n\x05items\x18[ \x03(\x0b\x32\x1a.CMsgBotWorldState.Ability\x12.\n\tmodifiers\x18\\ \x03(\x0b\x32\x1b.CMsgBotWorldState.Modifier\x12L\n\x1dincoming_tracking_projectiles\x18] \x03(\x0b\x32%.CMsgBotWorldState.TrackingProjectile\x12\x13\n\x0b\x61\x63tion_type\x18\x64 \x01(\r\x12\x1d\n\x15\x61\x62ility_target_handle\x18\x65 \x01(\r\x12\x1b\n\x13\x61\x62ility_target_name\x18g \x01(\t\x12\x18\n\x10is_using_ability\x18\x66 \x01(\x08\x12\x19\n\x11primary_attribute\x18n \x01(\r\x12\x13\n\x0bis_illusion\x18o \x01(\x08\x12\x14\n\x0crespawn_time\x18p \x01(\x02\x12\x14\n\x0c\x62uyback_cost\x18q \x01(\r\x12\x18\n\x10\x62uyback_cooldown\x18r \x01(\x02\x12\x1b\n\x13spell_amplification\x18s \x01(\x02\x12\r\n\x05\x61rmor\x18t \x01(\x02\x12\x14\n\x0cmagic_resist\x18u \x01(\x02\x12\x0f\n\x07\x65vasion\x18v \x01(\x02\x12\x1a\n\x12xp_needed_to_level\x18x \x01(\r\x12\x16\n\x0e\x61\x62ility_points\x18y \x01(\r\x12\x19\n\rreliable_gold\x18z \x01(\x05:\x02-1\x12\x1b\n\x0funreliable_gold\x18{ \x01(\x05:\x02-1\x12\x11\n\tlast_hits\x18| \x01(\r\x12\x0e\n\x06\x64\x65nies\x18} \x01(\r\x12\x11\n\tnet_worth\x18~ \x01(\r\x12\x10\n\x08strength\x18\x7f \x01(\r\x12\x10\n\x07\x61gility\x18\x80\x01 \x01(\r\x12\x15\n\x0cintelligence\x18\x81\x01 \x01(\r\x12\x1b\n\x12remaining_lifespan\x18\x82\x01 \x01(\x02\x12\x17\n\x0e\x66lying_courier\x18\x8c\x01 \x01(\x08\x12\x18\n\x0fshrine_cooldown\x18\x96\x01 \x01(\x02\x12\x1a\n\x11is_shrine_healing\x18\x97\x01 \x01(\x08\x1a\xaa\x04\n\x07\x41\x63tions\x12\x17\n\tdota_time\x18\x01 \x01(\x02:\x04-100\x12*\n\x07\x61\x63tions\x18\x02 \x03(\x0b\x32\x19.CMsgBotWorldState.Action\x12\x11\n\textraData\x18\x03 \x01(\t\x12\x43\n\x0foceanAnnotation\x18\x04 \x01(\x0b\x32*.CMsgBotWorldState.Actions.OceanAnnotation\x12\x31\n\x06header\x18\x05 \x01(\x0b\x32!.CMsgBotWorldState.Actions.Header\x1a\xa3\x02\n\x0fOceanAnnotation\x12?\n\x06heroes\x18\x01 \x03(\x0b\x32/.CMsgBotWorldState.Actions.OceanAnnotation.Hero\x12\x0f\n\x07\x61gentID\x18\x05 \x01(\t\x12\x0f\n\x07rewards\x18\x06 \x03(\x02\x12\x14\n\x0creward_names\x18\x07 \x03(\t\x1a\x96\x01\n\x04Hero\x12\x10\n\x08playerID\x18\x01 \x02(\x05\x12\x15\n\rvalueFunction\x18\x02 \x01(\x02\x12\x12\n\nactionLogp\x18\x03 \x01(\x02\x12\x0e\n\x06reward\x18\x04 \x01(\x02\x12\x16\n\x0einternalAction\x18\x05 \x03(\x05\x12\x12\n\nactionName\x18\x06 \x01(\t\x12\x15\n\rdetailedStats\x18\x07 \x01(\x0c\x1a)\n\x06Header\x12\x11\n\tstartTime\x18\x01 \x01(\x02\x12\x0c\n\x04name\x18\x02 \x01(\t\x1a\xd3\x38\n\x06\x41\x63tion\x12H\n\nactionType\x18\x01 \x02(\x0e\x32\x1e.CMsgBotWorldState.Action.Type:\x14\x44OTA_UNIT_ORDER_NONE\x12\x12\n\x06player\x18\x02 \x01(\x05:\x02-1\x12\x14\n\x08\x61\x63tionID\x18\x04 \x01(\x05:\x02-1\x12\x16\n\x0b\x61\x63tionDelay\x18\n \x01(\x05:\x01\x30\x12\x42\n\x0emoveToLocation\x18\x65 \x01(\x0b\x32(.CMsgBotWorldState.Action.MoveToLocationH\x00\x12>\n\x0cmoveToTarget\x18\x66 \x01(\x0b\x32&.CMsgBotWorldState.Action.MoveToTargetH\x00\x12:\n\nattackMove\x18g \x01(\x0b\x32$.CMsgBotWorldState.Action.AttackMoveH\x00\x12>\n\x0c\x61ttackTarget\x18h \x01(\x0b\x32&.CMsgBotWorldState.Action.AttackTargetH\x00\x12>\n\x0c\x63\x61stLocation\x18i \x01(\x0b\x32&.CMsgBotWorldState.Action.CastLocationH\x00\x12:\n\ncastTarget\x18j \x01(\x0b\x32$.CMsgBotWorldState.Action.CastTargetH\x00\x12\x36\n\x08\x63\x61stTree\x18k \x01(\x0b\x32\".CMsgBotWorldState.Action.CastTreeH\x00\x12.\n\x04\x63\x61st\x18l \x01(\x0b\x32\x1e.CMsgBotWorldState.Action.CastH\x00\x12:\n\ncastToggle\x18m \x01(\x0b\x32$.CMsgBotWorldState.Action.CastToggleH\x00\x12>\n\x0choldLocation\x18n \x01(\x0b\x32&.CMsgBotWorldState.Action.HoldLocationH\x00\x12>\n\x0ctrainAbility\x18o \x01(\x0b\x32&.CMsgBotWorldState.Action.TrainAbilityH\x00\x12\x36\n\x08\x64ropItem\x18p \x01(\x0b\x32\".CMsgBotWorldState.Action.DropItemH\x00\x12:\n\npickUpItem\x18r \x01(\x0b\x32$.CMsgBotWorldState.Action.PickUpItemH\x00\x12:\n\npickupRune\x18s \x01(\x0b\x32$.CMsgBotWorldState.Action.PickupRuneH\x00\x12>\n\x0cpurchaseItem\x18t \x01(\x0b\x32&.CMsgBotWorldState.Action.PurchaseItemH\x00\x12\x36\n\x08sellItem\x18u \x01(\x0b\x32\".CMsgBotWorldState.Action.SellItemH\x00\x12\x44\n\x0f\x64isassembleItem\x18v \x01(\x0b\x32).CMsgBotWorldState.Action.DisassembleItemH\x00\x12K\n\x12setCombineLockItem\x18\x84\x01 \x01(\x0b\x32,.CMsgBotWorldState.Action.SetCombineLockItemH\x00\x12.\n\x04stop\x18y \x01(\x0b\x32\x1e.CMsgBotWorldState.Action.StopH\x00\x12/\n\x04\x63hat\x18\x8c\x01 \x01(\x0b\x32\x1e.CMsgBotWorldState.Action.ChatH\x00\x12\x39\n\tswapItems\x18\x8d\x01 \x01(\x0b\x32#.CMsgBotWorldState.Action.SwapItemsH\x00\x12\x39\n\tuseShrine\x18\x8e\x01 \x01(\x0b\x32#.CMsgBotWorldState.Action.UseShrineH\x00\x12\x35\n\x07\x63ourier\x18\x8f\x01 \x01(\x0b\x32!.CMsgBotWorldState.Action.CourierH\x00\x12U\n\x17getActualIncomingDamage\x18\x90\x01 \x01(\x0b\x32\x31.CMsgBotWorldState.Action.GetActualIncomingDamageH\x00\x12[\n\x1agetEstimatedDamageToTarget\x18\x91\x01 \x01(\x0b\x32\x34.CMsgBotWorldState.Action.GetEstimatedDamageToTargetH\x00\x12\x31\n\x05glyph\x18\x92\x01 \x01(\x0b\x32\x1f.CMsgBotWorldState.Action.GlyphH\x00\x12\x39\n\tsoftReset\x18\x94\x01 \x01(\x0b\x32#.CMsgBotWorldState.Action.SoftResetH\x00\x12\x35\n\x07\x62uyback\x18\x95\x01 \x01(\x0b\x32!.CMsgBotWorldState.Action.BuybackH\x00\x12S\n\x16scriptingDebugDrawText\x18\x96\x01 \x01(\x0b\x32\x30.CMsgBotWorldState.Action.ScriptingDebugDrawTextH\x00\x12S\n\x16scriptingDebugDrawLine\x18\x97\x01 \x01(\x0b\x32\x30.CMsgBotWorldState.Action.ScriptingDebugDrawLineH\x00\x12_\n\x1cscriptingDebugDrawScreenText\x18\x98\x01 \x01(\x0b\x32\x36.CMsgBotWorldState.Action.ScriptingDebugDrawScreenTextH\x00\x12Q\n\x15scriptingDebugDrawBox\x18\x99\x01 \x01(\x0b\x32/.CMsgBotWorldState.Action.ScriptingDebugDrawBoxH\x00\x12W\n\x18scriptingDebugDrawCircle\x18\x9a\x01 \x01(\x0b\x32\x32.CMsgBotWorldState.Action.ScriptingDebugDrawCircleH\x00\x12U\n\x17scriptingDebugDrawClear\x18\x9b\x01 \x01(\x0b\x32\x31.CMsgBotWorldState.Action.ScriptingDebugDrawClearH\x00\x12\x63\n\x1escriptingDebugScreenTextPretty\x18\x9f\x01 \x01(\x0b\x32\x38.CMsgBotWorldState.Action.ScriptingDebugScreenTextPrettyH\x00\x12\x41\n\x0cmoveDirectly\x18\x9c\x01 \x01(\x0b\x32(.CMsgBotWorldState.Action.MoveToLocationH\x00\x12?\n\x0coceanWinGame\x18\x9d\x01 \x01(\x0b\x32&.CMsgBotWorldState.Action.OceanWinGameH\x00\x12S\n\x16oceanReplayCorrectTime\x18\x9e\x01 \x01(\x0b\x32\x30.CMsgBotWorldState.Action.OceanReplayCorrectTimeH\x00\x1aL\n\x0eMoveToLocation\x12\r\n\x05units\x18\x01 \x03(\x05\x12+\n\x08location\x18\x02 \x02(\x0b\x32\x19.CMsgBotWorldState.Vector\x1a-\n\x0cMoveToTarget\x12\r\n\x05units\x18\x01 \x03(\x05\x12\x0e\n\x06target\x18\x02 \x02(\x05\x1aH\n\nAttackMove\x12\r\n\x05units\x18\x01 \x03(\x05\x12+\n\x08location\x18\x02 \x02(\x0b\x32\x19.CMsgBotWorldState.Vector\x1a;\n\x0c\x41ttackTarget\x12\r\n\x05units\x18\x01 \x03(\x05\x12\x0e\n\x06target\x18\x02 \x02(\x05\x12\x0c\n\x04once\x18\x03 \x01(\x08\x1a\x1d\n\x0cHoldLocation\x12\r\n\x05units\x18\x01 \x03(\x05\x1a\x15\n\x04Stop\x12\r\n\x05units\x18\x01 \x03(\x05\x1a_\n\x0c\x43\x61stLocation\x12\r\n\x05units\x18\x01 \x03(\x05\x12\x13\n\x0b\x61\x62ilitySlot\x18\x02 \x02(\x05\x12+\n\x08location\x18\x03 \x02(\x0b\x32\x19.CMsgBotWorldState.Vector\x1a@\n\nCastTarget\x12\r\n\x05units\x18\x01 \x03(\x05\x12\x13\n\x0b\x61\x62ilitySlot\x18\x02 \x02(\x05\x12\x0e\n\x06target\x18\x03 \x02(\x05\x1a<\n\x08\x43\x61stTree\x12\r\n\x05units\x18\x01 \x03(\x05\x12\x13\n\x0b\x61\x62ilitySlot\x18\x02 \x02(\x05\x12\x0c\n\x04tree\x18\x03 \x02(\x05\x1a*\n\x04\x43\x61st\x12\r\n\x05units\x18\x01 \x03(\x05\x12\x13\n\x0b\x61\x62ilitySlot\x18\x02 \x02(\x05\x1a\x30\n\nCastToggle\x12\r\n\x05units\x18\x01 \x03(\x05\x12\x13\n\x0b\x61\x62ilitySlot\x18\x02 \x02(\x05\x1a<\n\x0cTrainAbility\x12\x0f\n\x07\x61\x62ility\x18\x01 \x02(\t\x12\r\n\x05level\x18\x02 \x01(\x05\x12\x0c\n\x04unit\x18\x03 \x01(\x05\x1aS\n\x08\x44ropItem\x12\x0c\n\x04unit\x18\x01 \x01(\x05\x12\x0c\n\x04slot\x18\x02 \x01(\x05\x12+\n\x08location\x18\x03 \x01(\x0b\x32\x19.CMsgBotWorldState.Vector\x1a*\n\nPickUpItem\x12\x0c\n\x04unit\x18\x01 \x01(\x05\x12\x0e\n\x06itemId\x18\x02 \x01(\x05\x1a=\n\x0cPurchaseItem\x12\x0c\n\x04item\x18\x01 \x01(\x05\x12\x11\n\titem_name\x18\x02 \x01(\t\x12\x0c\n\x04unit\x18\x03 \x01(\x05\x1a\x34\n\x08SellItem\x12\x0c\n\x04item\x18\x01 \x01(\x05\x12\x0c\n\x04slot\x18\x02 \x01(\x05\x12\x0c\n\x04unit\x18\x03 \x01(\x05\x1a\x39\n\tSwapItems\x12\x0e\n\x06slot_a\x18\x01 \x02(\x05\x12\x0e\n\x06slot_b\x18\x02 \x02(\x05\x12\x0c\n\x04unit\x18\x03 \x01(\x05\x1a\x1f\n\x0f\x44isassembleItem\x12\x0c\n\x04slot\x18\x01 \x02(\x05\x1a\x31\n\x12SetCombineLockItem\x12\x0c\n\x04slot\x18\x01 \x02(\x05\x12\r\n\x05value\x18\x02 \x02(\x08\x1a)\n\nPickupRune\x12\r\n\x05units\x18\x01 \x03(\x05\x12\x0c\n\x04rune\x18\x02 \x02(\x05\x1a+\n\x04\x43hat\x12\x0f\n\x07message\x18\x01 \x02(\t\x12\x12\n\nto_allchat\x18\x02 \x02(\x08\x1a*\n\tUseShrine\x12\r\n\x05units\x18\x01 \x03(\x05\x12\x0e\n\x06shrine\x18\x02 \x02(\x05\x1a\x38\n\x07\x43ourier\x12\x0c\n\x04unit\x18\x01 \x02(\x05\x12\x0f\n\x07\x63ourier\x18\x02 \x02(\x05\x12\x0e\n\x06\x61\x63tion\x18\x03 \x02(\x05\x1aM\n\x17GetActualIncomingDamage\x12\x0c\n\x04unit\x18\x01 \x02(\x05\x12\x0f\n\x07nDamage\x18\x02 \x02(\x02\x12\x13\n\x0bnDamageType\x18\x03 \x02(\x05\x1a\x81\x01\n\x1aGetEstimatedDamageToTarget\x12\x0c\n\x04unit\x18\x01 \x02(\x05\x12\x1b\n\x13\x62\x43urrentlyAvailable\x18\x02 \x02(\x08\x12\x0f\n\x07hTarget\x18\x03 \x02(\x05\x12\x11\n\tfDuration\x18\x04 \x02(\x02\x12\x14\n\x0cnDamageTypes\x18\x05 \x02(\x05\x1a\x15\n\x05Glyph\x12\x0c\n\x04unit\x18\x01 \x02(\x05\x1a\x39\n\tSoftReset\x12\x16\n\x0eminigameConfig\x18\x01 \x01(\t\x12\x14\n\x0csnapshotData\x18\x02 \x01(\t\x1a\x17\n\x07\x42uyback\x12\x0c\n\x04unit\x18\x01 \x02(\x05\x1aw\n\x16ScriptingDebugDrawText\x12)\n\x06origin\x18\x01 \x02(\x0b\x32\x19.CMsgBotWorldState.Vector\x12\x0c\n\x04text\x18\x02 \x02(\t\x12\x12\n\nbViewCheck\x18\x03 \x02(\x08\x12\x10\n\x08\x64uration\x18\x04 \x02(\x02\x1a\xb0\x01\n\x16ScriptingDebugDrawLine\x12)\n\x06origin\x18\x01 \x02(\x0b\x32\x19.CMsgBotWorldState.Vector\x12)\n\x06target\x18\x02 \x02(\x0b\x32\x19.CMsgBotWorldState.Vector\x12\t\n\x01r\x18\x03 \x02(\x05\x12\t\n\x01g\x18\x04 \x02(\x05\x12\t\n\x01\x62\x18\x05 \x02(\x05\x12\r\n\x05ztest\x18\x06 \x02(\x08\x12\x10\n\x08\x64uration\x18\x07 \x02(\x02\x1a\x94\x01\n\x1cScriptingDebugDrawScreenText\x12\t\n\x01x\x18\x01 \x02(\x02\x12\t\n\x01y\x18\x02 \x02(\x02\x12\x12\n\nlineOffset\x18\x03 \x02(\x05\x12\x0c\n\x04text\x18\x04 \x02(\t\x12\t\n\x01r\x18\x05 \x02(\x05\x12\t\n\x01g\x18\x06 \x02(\x05\x12\t\n\x01\x62\x18\x07 \x02(\x05\x12\t\n\x01\x61\x18\x08 \x02(\x05\x12\x10\n\x08\x64uration\x18\t \x02(\x02\x1a\xc1\x01\n\x1eScriptingDebugScreenTextPretty\x12\t\n\x01x\x18\x01 \x02(\x02\x12\t\n\x01y\x18\x02 \x02(\x02\x12\x12\n\nlineOffset\x18\x03 \x02(\x05\x12\x0c\n\x04text\x18\x04 \x02(\t\x12\t\n\x01r\x18\x05 \x02(\x05\x12\t\n\x01g\x18\x06 \x02(\x05\x12\t\n\x01\x62\x18\x07 \x02(\x05\x12\t\n\x01\x61\x18\x08 \x02(\x05\x12\x10\n\x08\x64uration\x18\t \x02(\x02\x12\x0c\n\x04\x66ont\x18\n \x02(\t\x12\x0c\n\x04size\x18\x0b \x02(\x02\x12\r\n\x05\x62\x42old\x18\x0c \x02(\x08\x1a\xd8\x01\n\x15ScriptingDebugDrawBox\x12)\n\x06origin\x18\x01 \x02(\x0b\x32\x19.CMsgBotWorldState.Vector\x12*\n\x07minimum\x18\x02 \x02(\x0b\x32\x19.CMsgBotWorldState.Vector\x12*\n\x07maximum\x18\x03 \x02(\x0b\x32\x19.CMsgBotWorldState.Vector\x12\t\n\x01r\x18\x04 \x02(\x05\x12\t\n\x01g\x18\x05 \x02(\x05\x12\t\n\x01\x62\x18\x06 \x02(\x05\x12\t\n\x01\x61\x18\x07 \x02(\x05\x12\x10\n\x08\x64uration\x18\x08 \x02(\x02\x1a\xa7\x01\n\x18ScriptingDebugDrawCircle\x12)\n\x06\x63\x65nter\x18\x01 \x02(\x0b\x32\x19.CMsgBotWorldState.Vector\x12\'\n\x04vRgb\x18\x02 \x02(\x0b\x32\x19.CMsgBotWorldState.Vector\x12\t\n\x01\x61\x18\x03 \x02(\x02\x12\x0b\n\x03rad\x18\x04 \x02(\x02\x12\r\n\x05ztest\x18\x05 \x02(\x08\x12\x10\n\x08\x64uration\x18\x06 \x02(\x02\x1a\x19\n\x17ScriptingDebugDrawClear\x1a,\n\x0cOceanWinGame\x12\x0c\n\x04team\x18\x01 \x02(\t\x12\x0e\n\x06reward\x18\x02 \x01(\x02\x1a\'\n\x16OceanReplayCorrectTime\x12\r\n\x05\x64\x65lta\x18\x01 \x02(\x02\"\xea\r\n\x04Type\x12\x18\n\x14\x44OTA_UNIT_ORDER_NONE\x10\x00\x12$\n DOTA_UNIT_ORDER_MOVE_TO_POSITION\x10\x01\x12\"\n\x1e\x44OTA_UNIT_ORDER_MOVE_TO_TARGET\x10\x02\x12\x1f\n\x1b\x44OTA_UNIT_ORDER_ATTACK_MOVE\x10\x03\x12!\n\x1d\x44OTA_UNIT_ORDER_ATTACK_TARGET\x10\x04\x12!\n\x1d\x44OTA_UNIT_ORDER_CAST_POSITION\x10\x05\x12\x1f\n\x1b\x44OTA_UNIT_ORDER_CAST_TARGET\x10\x06\x12$\n DOTA_UNIT_ORDER_CAST_TARGET_TREE\x10\x07\x12\"\n\x1e\x44OTA_UNIT_ORDER_CAST_NO_TARGET\x10\x08\x12\x1f\n\x1b\x44OTA_UNIT_ORDER_CAST_TOGGLE\x10\t\x12!\n\x1d\x44OTA_UNIT_ORDER_HOLD_POSITION\x10\n\x12!\n\x1d\x44OTA_UNIT_ORDER_TRAIN_ABILITY\x10\x0b\x12\x1d\n\x19\x44OTA_UNIT_ORDER_DROP_ITEM\x10\x0c\x12\x1d\n\x19\x44OTA_UNIT_ORDER_GIVE_ITEM\x10\r\x12\x1f\n\x1b\x44OTA_UNIT_ORDER_PICKUP_ITEM\x10\x0e\x12\x1f\n\x1b\x44OTA_UNIT_ORDER_PICKUP_RUNE\x10\x0f\x12!\n\x1d\x44OTA_UNIT_ORDER_PURCHASE_ITEM\x10\x10\x12\x1d\n\x19\x44OTA_UNIT_ORDER_SELL_ITEM\x10\x11\x12$\n DOTA_UNIT_ORDER_DISASSEMBLE_ITEM\x10\x12\x12\x1d\n\x19\x44OTA_UNIT_ORDER_MOVE_ITEM\x10\x13\x12$\n DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO\x10\x14\x12\x18\n\x14\x44OTA_UNIT_ORDER_STOP\x10\x15\x12\x19\n\x15\x44OTA_UNIT_ORDER_TAUNT\x10\x16\x12\x1b\n\x17\x44OTA_UNIT_ORDER_BUYBACK\x10\x17\x12\x19\n\x15\x44OTA_UNIT_ORDER_GLYPH\x10\x18\x12)\n%DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH\x10\x19\x12\x1d\n\x19\x44OTA_UNIT_ORDER_CAST_RUNE\x10\x1a\x12 \n\x1c\x44OTA_UNIT_ORDER_PING_ABILITY\x10\x1b\x12%\n!DOTA_UNIT_ORDER_MOVE_TO_DIRECTION\x10\x1c\x12\x1a\n\x16\x44OTA_UNIT_ORDER_PATROL\x10\x1d\x12*\n&DOTA_UNIT_ORDER_VECTOR_TARGET_POSITION\x10\x1e\x12\x19\n\x15\x44OTA_UNIT_ORDER_RADAR\x10\x1f\x12)\n%DOTA_UNIT_ORDER_SET_ITEM_COMBINE_LOCK\x10 \x12\x1c\n\x18\x44OTA_UNIT_ORDER_CONTINUE\x10!\x12\x0f\n\x0b\x41\x43TION_CHAT\x10(\x12\x15\n\x11\x41\x43TION_SWAP_ITEMS\x10)\x12\x15\n\x11\x41\x43TION_USE_SHRINE\x10*\x12\x12\n\x0e\x41\x43TION_COURIER\x10+\x12\"\n\x1eRPC_GET_ACTUAL_INCOMING_DAMAGE\x10,\x12&\n\"RPC_GET_ESTIMATED_DAMAGE_TO_TARGET\x10-\x12\x15\n\x11OCEAN_FULL_UPDATE\x10\x32\x12\x15\n\x11OCEAN_RELOAD_CODE\x10\x33\x12\x14\n\x10OCEAN_SOFT_RESET\x10\x34\x12\x18\n\x14OCEAN_HOLD_FRAMESKIP\x10\x36\x12\x12\n\x0eOCEAN_WIN_GAME\x10?\x12\x1d\n\x19OCEAN_REPLAY_CORRECT_TIME\x10@\x12\x1d\n\x19SCRIPTING_DEBUG_DRAW_TEXT\x10\x37\x12\x1d\n\x19SCRIPTING_DEBUG_DRAW_LINE\x10\x38\x12.\n*SCRIPTING_DOTA_UNIT_ORDER_MOVE_TO_POSITION\x10\x39\x12$\n SCRIPTING_DEBUG_DRAW_SCREEN_TEXT\x10:\x12\x1c\n\x18SCRIPTING_DEBUG_DRAW_BOX\x10;\x12\x1f\n\x1bSCRIPTING_DEBUG_DRAW_CIRCLE\x10<\x12\x1e\n\x1aSCRIPTING_DEBUG_DRAW_CLEAR\x10=\x12&\n\"SCRIPTING_DEBUG_SCREEN_TEXT_PRETTY\x10\x41\x12!\n\x1d\x44OTA_UNIT_ORDER_MOVE_DIRECTLY\x10>B\x0c\n\nActionData\"\xb3\x01\n\x08UnitType\x12\x0b\n\x07INVALID\x10\x00\x12\x08\n\x04HERO\x10\x01\x12\x0e\n\nCREEP_HERO\x10\x02\x12\x0e\n\nLANE_CREEP\x10\x03\x12\x10\n\x0cJUNGLE_CREEP\x10\x04\x12\n\n\x06ROSHAN\x10\x05\x12\t\n\x05TOWER\x10\x06\x12\x0c\n\x08\x42\x41RRACKS\x10\x07\x12\n\n\x06SHRINE\x10\x08\x12\x08\n\x04\x46ORT\x10\t\x12\x0c\n\x08\x42UILDING\x10\n\x12\x0b\n\x07\x43OURIER\x10\x0b\x12\x08\n\x04WARD\x10\x0c\"\xdd\x01\n\x0c\x43ourierState\x12\x1f\n\x12\x43OURIER_STATE_INIT\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x16\n\x12\x43OURIER_STATE_IDLE\x10\x00\x12\x19\n\x15\x43OURIER_STATE_AT_BASE\x10\x01\x12\x18\n\x14\x43OURIER_STATE_MOVING\x10\x02\x12\"\n\x1e\x43OURIER_STATE_DELIVERING_ITEMS\x10\x03\x12#\n\x1f\x43OURIER_STATE_RETURNING_TO_BASE\x10\x04\x12\x16\n\x12\x43OURIER_STATE_DEAD\x10\x05\x42\x05H\x01\x80\x01\x00') +) + + + +_CMSGBOTWORLDSTATE_ACTION_TYPE = _descriptor.EnumDescriptor( + name='Type', + full_name='CMsgBotWorldState.Action.Type', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_NONE', index=0, number=0, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_MOVE_TO_POSITION', index=1, number=1, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_MOVE_TO_TARGET', index=2, number=2, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_ATTACK_MOVE', index=3, number=3, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_ATTACK_TARGET', index=4, number=4, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_CAST_POSITION', index=5, number=5, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_CAST_TARGET', index=6, number=6, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_CAST_TARGET_TREE', index=7, number=7, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_CAST_NO_TARGET', index=8, number=8, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_CAST_TOGGLE', index=9, number=9, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_HOLD_POSITION', index=10, number=10, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_TRAIN_ABILITY', index=11, number=11, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_DROP_ITEM', index=12, number=12, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_GIVE_ITEM', index=13, number=13, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_PICKUP_ITEM', index=14, number=14, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_PICKUP_RUNE', index=15, number=15, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_PURCHASE_ITEM', index=16, number=16, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_SELL_ITEM', index=17, number=17, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_DISASSEMBLE_ITEM', index=18, number=18, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_MOVE_ITEM', index=19, number=19, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO', index=20, number=20, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_STOP', index=21, number=21, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_TAUNT', index=22, number=22, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_BUYBACK', index=23, number=23, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_GLYPH', index=24, number=24, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH', index=25, number=25, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_CAST_RUNE', index=26, number=26, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_PING_ABILITY', index=27, number=27, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_MOVE_TO_DIRECTION', index=28, number=28, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_PATROL', index=29, number=29, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_VECTOR_TARGET_POSITION', index=30, number=30, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_RADAR', index=31, number=31, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_SET_ITEM_COMBINE_LOCK', index=32, number=32, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_CONTINUE', index=33, number=33, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='ACTION_CHAT', index=34, number=40, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='ACTION_SWAP_ITEMS', index=35, number=41, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='ACTION_USE_SHRINE', index=36, number=42, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='ACTION_COURIER', index=37, number=43, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='RPC_GET_ACTUAL_INCOMING_DAMAGE', index=38, number=44, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='RPC_GET_ESTIMATED_DAMAGE_TO_TARGET', index=39, number=45, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='OCEAN_FULL_UPDATE', index=40, number=50, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='OCEAN_RELOAD_CODE', index=41, number=51, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='OCEAN_SOFT_RESET', index=42, number=52, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='OCEAN_HOLD_FRAMESKIP', index=43, number=54, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='OCEAN_WIN_GAME', index=44, number=63, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='OCEAN_REPLAY_CORRECT_TIME', index=45, number=64, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='SCRIPTING_DEBUG_DRAW_TEXT', index=46, number=55, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='SCRIPTING_DEBUG_DRAW_LINE', index=47, number=56, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='SCRIPTING_DOTA_UNIT_ORDER_MOVE_TO_POSITION', index=48, number=57, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='SCRIPTING_DEBUG_DRAW_SCREEN_TEXT', index=49, number=58, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='SCRIPTING_DEBUG_DRAW_BOX', index=50, number=59, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='SCRIPTING_DEBUG_DRAW_CIRCLE', index=51, number=60, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='SCRIPTING_DEBUG_DRAW_CLEAR', index=52, number=61, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='SCRIPTING_DEBUG_SCREEN_TEXT_PRETTY', index=53, number=65, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DOTA_UNIT_ORDER_MOVE_DIRECTLY', index=54, number=62, + serialized_options=None, + type=None), + ], + containing_type=None, + serialized_options=None, + serialized_start=11891, + serialized_end=13661, +) +_sym_db.RegisterEnumDescriptor(_CMSGBOTWORLDSTATE_ACTION_TYPE) + +_CMSGBOTWORLDSTATE_UNITTYPE = _descriptor.EnumDescriptor( + name='UnitType', + full_name='CMsgBotWorldState.UnitType', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='INVALID', index=0, number=0, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='HERO', index=1, number=1, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='CREEP_HERO', index=2, number=2, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='LANE_CREEP', index=3, number=3, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='JUNGLE_CREEP', index=4, number=4, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='ROSHAN', index=5, number=5, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='TOWER', index=6, number=6, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BARRACKS', index=7, number=7, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='SHRINE', index=8, number=8, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='FORT', index=9, number=9, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BUILDING', index=10, number=10, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='COURIER', index=11, number=11, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='WARD', index=12, number=12, + serialized_options=None, + type=None), + ], + containing_type=None, + serialized_options=None, + serialized_start=13678, + serialized_end=13857, +) +_sym_db.RegisterEnumDescriptor(_CMSGBOTWORLDSTATE_UNITTYPE) + +_CMSGBOTWORLDSTATE_COURIERSTATE = _descriptor.EnumDescriptor( + name='CourierState', + full_name='CMsgBotWorldState.CourierState', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='COURIER_STATE_INIT', index=0, number=-1, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='COURIER_STATE_IDLE', index=1, number=0, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='COURIER_STATE_AT_BASE', index=2, number=1, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='COURIER_STATE_MOVING', index=3, number=2, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='COURIER_STATE_DELIVERING_ITEMS', index=4, number=3, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='COURIER_STATE_RETURNING_TO_BASE', index=5, number=4, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='COURIER_STATE_DEAD', index=6, number=5, + serialized_options=None, + type=None), + ], + containing_type=None, + serialized_options=None, + serialized_start=13860, + serialized_end=14081, +) +_sym_db.RegisterEnumDescriptor(_CMSGBOTWORLDSTATE_COURIERSTATE) + + +_CMSGBOTWORLDSTATE_VECTOR = _descriptor.Descriptor( + name='Vector', + full_name='CMsgBotWorldState.Vector', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='x', full_name='CMsgBotWorldState.Vector.x', index=0, + number=1, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='y', full_name='CMsgBotWorldState.Vector.y', index=1, + number=2, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='z', full_name='CMsgBotWorldState.Vector.z', index=2, + number=3, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=944, + serialized_end=985, +) + +_CMSGBOTWORLDSTATE_PLAYER = _descriptor.Descriptor( + name='Player', + full_name='CMsgBotWorldState.Player', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='player_id', full_name='CMsgBotWorldState.Player.player_id', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='hero_id', full_name='CMsgBotWorldState.Player.hero_id', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_alive', full_name='CMsgBotWorldState.Player.is_alive', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='respawn_time', full_name='CMsgBotWorldState.Player.respawn_time', index=3, + number=4, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='kills', full_name='CMsgBotWorldState.Player.kills', index=4, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='deaths', full_name='CMsgBotWorldState.Player.deaths', index=5, + number=6, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='assists', full_name='CMsgBotWorldState.Player.assists', index=6, + number=7, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='team_id', full_name='CMsgBotWorldState.Player.team_id', index=7, + number=8, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=988, + serialized_end=1137, +) + +_CMSGBOTWORLDSTATE_ABILITY = _descriptor.Descriptor( + name='Ability', + full_name='CMsgBotWorldState.Ability', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='handle', full_name='CMsgBotWorldState.Ability.handle', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ability_id', full_name='CMsgBotWorldState.Ability.ability_id', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='slot', full_name='CMsgBotWorldState.Ability.slot', index=2, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='caster_handle', full_name='CMsgBotWorldState.Ability.caster_handle', index=3, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='level', full_name='CMsgBotWorldState.Ability.level', index=4, + number=6, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='cast_range', full_name='CMsgBotWorldState.Ability.cast_range', index=5, + number=10, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='channel_time', full_name='CMsgBotWorldState.Ability.channel_time', index=6, + number=11, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='cooldown_remaining', full_name='CMsgBotWorldState.Ability.cooldown_remaining', index=7, + number=12, type=2, cpp_type=6, label=1, + has_default_value=True, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_activated', full_name='CMsgBotWorldState.Ability.is_activated', index=8, + number=20, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_toggled', full_name='CMsgBotWorldState.Ability.is_toggled', index=9, + number=21, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_in_ability_phase', full_name='CMsgBotWorldState.Ability.is_in_ability_phase', index=10, + number=22, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_channeling', full_name='CMsgBotWorldState.Ability.is_channeling', index=11, + number=23, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_stolen', full_name='CMsgBotWorldState.Ability.is_stolen', index=12, + number=24, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_fully_castable', full_name='CMsgBotWorldState.Ability.is_fully_castable', index=13, + number=25, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='charges', full_name='CMsgBotWorldState.Ability.charges', index=14, + number=30, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='secondary_charges', full_name='CMsgBotWorldState.Ability.secondary_charges', index=15, + number=31, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_combined_locked', full_name='CMsgBotWorldState.Ability.is_combined_locked', index=16, + number=40, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='power_treads_stat', full_name='CMsgBotWorldState.Ability.power_treads_stat', index=17, + number=50, type=5, cpp_type=1, label=1, + has_default_value=True, default_value=-1, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1140, + serialized_end=1553, +) + +_CMSGBOTWORLDSTATE_DROPPEDITEM = _descriptor.Descriptor( + name='DroppedItem', + full_name='CMsgBotWorldState.DroppedItem', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='item_id', full_name='CMsgBotWorldState.DroppedItem.item_id', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='location', full_name='CMsgBotWorldState.DroppedItem.location', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1555, + serialized_end=1630, +) + +_CMSGBOTWORLDSTATE_RUNEINFO = _descriptor.Descriptor( + name='RuneInfo', + full_name='CMsgBotWorldState.RuneInfo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='type', full_name='CMsgBotWorldState.RuneInfo.type', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='location', full_name='CMsgBotWorldState.RuneInfo.location', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='status', full_name='CMsgBotWorldState.RuneInfo.status', index=2, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='time_since_seen', full_name='CMsgBotWorldState.RuneInfo.time_since_seen', index=3, + number=4, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1632, + serialized_end=1742, +) + +_CMSGBOTWORLDSTATE_TELEPORTINFO = _descriptor.Descriptor( + name='TeleportInfo', + full_name='CMsgBotWorldState.TeleportInfo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='player_id', full_name='CMsgBotWorldState.TeleportInfo.player_id', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='location', full_name='CMsgBotWorldState.TeleportInfo.location', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='time_remaining', full_name='CMsgBotWorldState.TeleportInfo.time_remaining', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1744, + serialized_end=1846, +) + +_CMSGBOTWORLDSTATE_MODIFIER = _descriptor.Descriptor( + name='Modifier', + full_name='CMsgBotWorldState.Modifier', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='CMsgBotWorldState.Modifier.name', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='stack_count', full_name='CMsgBotWorldState.Modifier.stack_count', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ability_handle', full_name='CMsgBotWorldState.Modifier.ability_handle', index=2, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ability_id', full_name='CMsgBotWorldState.Modifier.ability_id', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='remaining_duration', full_name='CMsgBotWorldState.Modifier.remaining_duration', index=4, + number=5, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='auxiliary_units_handles', full_name='CMsgBotWorldState.Modifier.auxiliary_units_handles', index=5, + number=6, type=13, cpp_type=3, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1849, + serialized_end=1999, +) + +_CMSGBOTWORLDSTATE_LINEARPROJECTILE = _descriptor.Descriptor( + name='LinearProjectile', + full_name='CMsgBotWorldState.LinearProjectile', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='handle', full_name='CMsgBotWorldState.LinearProjectile.handle', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='caster_handle', full_name='CMsgBotWorldState.LinearProjectile.caster_handle', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='caster_unit_type', full_name='CMsgBotWorldState.LinearProjectile.caster_unit_type', index=2, + number=9, type=14, cpp_type=8, label=1, + has_default_value=True, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='caster_player_id', full_name='CMsgBotWorldState.LinearProjectile.caster_player_id', index=3, + number=3, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ability_handle', full_name='CMsgBotWorldState.LinearProjectile.ability_handle', index=4, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ability_id', full_name='CMsgBotWorldState.LinearProjectile.ability_id', index=5, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='location', full_name='CMsgBotWorldState.LinearProjectile.location', index=6, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='velocity', full_name='CMsgBotWorldState.LinearProjectile.velocity', index=7, + number=7, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='radius', full_name='CMsgBotWorldState.LinearProjectile.radius', index=8, + number=8, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2002, + serialized_end=2299, +) + +_CMSGBOTWORLDSTATE_TRACKINGPROJECTILE = _descriptor.Descriptor( + name='TrackingProjectile', + full_name='CMsgBotWorldState.TrackingProjectile', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='caster_handle', full_name='CMsgBotWorldState.TrackingProjectile.caster_handle', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='caster_unit_type', full_name='CMsgBotWorldState.TrackingProjectile.caster_unit_type', index=1, + number=9, type=14, cpp_type=8, label=1, + has_default_value=True, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='caster_player_id', full_name='CMsgBotWorldState.TrackingProjectile.caster_player_id', index=2, + number=2, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ability_handle', full_name='CMsgBotWorldState.TrackingProjectile.ability_handle', index=3, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ability_id', full_name='CMsgBotWorldState.TrackingProjectile.ability_id', index=4, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='location', full_name='CMsgBotWorldState.TrackingProjectile.location', index=5, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='velocity', full_name='CMsgBotWorldState.TrackingProjectile.velocity', index=6, + number=6, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_dodgeable', full_name='CMsgBotWorldState.TrackingProjectile.is_dodgeable', index=7, + number=7, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_attack', full_name='CMsgBotWorldState.TrackingProjectile.is_attack', index=8, + number=8, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2302, + serialized_end=2583, +) + +_CMSGBOTWORLDSTATE_AVOIDANCEZONE = _descriptor.Descriptor( + name='AvoidanceZone', + full_name='CMsgBotWorldState.AvoidanceZone', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='location', full_name='CMsgBotWorldState.AvoidanceZone.location', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='caster_handle', full_name='CMsgBotWorldState.AvoidanceZone.caster_handle', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='caster_unit_type', full_name='CMsgBotWorldState.AvoidanceZone.caster_unit_type', index=2, + number=7, type=14, cpp_type=8, label=1, + has_default_value=True, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='caster_player_id', full_name='CMsgBotWorldState.AvoidanceZone.caster_player_id', index=3, + number=3, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ability_handle', full_name='CMsgBotWorldState.AvoidanceZone.ability_handle', index=4, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ability_id', full_name='CMsgBotWorldState.AvoidanceZone.ability_id', index=5, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='radius', full_name='CMsgBotWorldState.AvoidanceZone.radius', index=6, + number=6, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2586, + serialized_end=2819, +) + +_CMSGBOTWORLDSTATE_COURIER = _descriptor.Descriptor( + name='Courier', + full_name='CMsgBotWorldState.Courier', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='handle', full_name='CMsgBotWorldState.Courier.handle', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='state', full_name='CMsgBotWorldState.Courier.state', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=True, default_value=-1, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='player_id', full_name='CMsgBotWorldState.Courier.player_id', index=2, + number=3, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2821, + serialized_end=2933, +) + +_CMSGBOTWORLDSTATE_EVENTABILITY = _descriptor.Descriptor( + name='EventAbility', + full_name='CMsgBotWorldState.EventAbility', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='ability_id', full_name='CMsgBotWorldState.EventAbility.ability_id', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='player_id', full_name='CMsgBotWorldState.EventAbility.player_id', index=1, + number=2, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='unit_handle', full_name='CMsgBotWorldState.EventAbility.unit_handle', index=2, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='location', full_name='CMsgBotWorldState.EventAbility.location', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_channel_start', full_name='CMsgBotWorldState.EventAbility.is_channel_start', index=4, + number=5, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2936, + serialized_end=3081, +) + +_CMSGBOTWORLDSTATE_EVENTDAMAGE = _descriptor.Descriptor( + name='EventDamage', + full_name='CMsgBotWorldState.EventDamage', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='damage', full_name='CMsgBotWorldState.EventDamage.damage', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='victim_player_id', full_name='CMsgBotWorldState.EventDamage.victim_player_id', index=1, + number=2, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='victim_unit_handle', full_name='CMsgBotWorldState.EventDamage.victim_unit_handle', index=2, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='attacker_player_id', full_name='CMsgBotWorldState.EventDamage.attacker_player_id', index=3, + number=4, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='attacker_unit_handle', full_name='CMsgBotWorldState.EventDamage.attacker_unit_handle', index=4, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ability_id', full_name='CMsgBotWorldState.EventDamage.ability_id', index=5, + number=6, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3084, + serialized_end=3245, +) + +_CMSGBOTWORLDSTATE_EVENTCOURIERKILLED = _descriptor.Descriptor( + name='EventCourierKilled', + full_name='CMsgBotWorldState.EventCourierKilled', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='team_id', full_name='CMsgBotWorldState.EventCourierKilled.team_id', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='courier_unit_handle', full_name='CMsgBotWorldState.EventCourierKilled.courier_unit_handle', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='killer_player_id', full_name='CMsgBotWorldState.EventCourierKilled.killer_player_id', index=2, + number=3, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='killer_unit_handle', full_name='CMsgBotWorldState.EventCourierKilled.killer_unit_handle', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3247, + serialized_end=3367, +) + +_CMSGBOTWORLDSTATE_EVENTROSHANKILLED = _descriptor.Descriptor( + name='EventRoshanKilled', + full_name='CMsgBotWorldState.EventRoshanKilled', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='killer_player_id', full_name='CMsgBotWorldState.EventRoshanKilled.killer_player_id', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='killer_unit_handle', full_name='CMsgBotWorldState.EventRoshanKilled.killer_unit_handle', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3369, + serialized_end=3442, +) + +_CMSGBOTWORLDSTATE_EVENTTREE = _descriptor.Descriptor( + name='EventTree', + full_name='CMsgBotWorldState.EventTree', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='tree_id', full_name='CMsgBotWorldState.EventTree.tree_id', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='destroyed', full_name='CMsgBotWorldState.EventTree.destroyed', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='respawned', full_name='CMsgBotWorldState.EventTree.respawned', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='location', full_name='CMsgBotWorldState.EventTree.location', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='delayed', full_name='CMsgBotWorldState.EventTree.delayed', index=4, + number=5, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3445, + serialized_end=3573, +) + +_CMSGBOTWORLDSTATE_UNIT = _descriptor.Descriptor( + name='Unit', + full_name='CMsgBotWorldState.Unit', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='handle', full_name='CMsgBotWorldState.Unit.handle', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='unit_type', full_name='CMsgBotWorldState.Unit.unit_type', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=True, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='name', full_name='CMsgBotWorldState.Unit.name', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='team_id', full_name='CMsgBotWorldState.Unit.team_id', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='level', full_name='CMsgBotWorldState.Unit.level', index=4, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='location', full_name='CMsgBotWorldState.Unit.location', index=5, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_alive', full_name='CMsgBotWorldState.Unit.is_alive', index=6, + number=7, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='player_id', full_name='CMsgBotWorldState.Unit.player_id', index=7, + number=8, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='bounding_radius', full_name='CMsgBotWorldState.Unit.bounding_radius', index=8, + number=10, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='facing', full_name='CMsgBotWorldState.Unit.facing', index=9, + number=11, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ground_height', full_name='CMsgBotWorldState.Unit.ground_height', index=10, + number=12, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='vision_range_daytime', full_name='CMsgBotWorldState.Unit.vision_range_daytime', index=11, + number=15, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='vision_range_nighttime', full_name='CMsgBotWorldState.Unit.vision_range_nighttime', index=12, + number=16, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='health', full_name='CMsgBotWorldState.Unit.health', index=13, + number=20, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='health_max', full_name='CMsgBotWorldState.Unit.health_max', index=14, + number=21, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='health_regen', full_name='CMsgBotWorldState.Unit.health_regen', index=15, + number=22, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='mana', full_name='CMsgBotWorldState.Unit.mana', index=16, + number=25, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='mana_max', full_name='CMsgBotWorldState.Unit.mana_max', index=17, + number=26, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='mana_regen', full_name='CMsgBotWorldState.Unit.mana_regen', index=18, + number=27, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='base_movement_speed', full_name='CMsgBotWorldState.Unit.base_movement_speed', index=19, + number=30, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='current_movement_speed', full_name='CMsgBotWorldState.Unit.current_movement_speed', index=20, + number=31, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='anim_activity', full_name='CMsgBotWorldState.Unit.anim_activity', index=21, + number=35, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='anim_cycle', full_name='CMsgBotWorldState.Unit.anim_cycle', index=22, + number=36, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='base_damage', full_name='CMsgBotWorldState.Unit.base_damage', index=23, + number=40, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='base_damage_variance', full_name='CMsgBotWorldState.Unit.base_damage_variance', index=24, + number=41, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='bonus_damage', full_name='CMsgBotWorldState.Unit.bonus_damage', index=25, + number=42, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='attack_damage', full_name='CMsgBotWorldState.Unit.attack_damage', index=26, + number=43, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='attack_range', full_name='CMsgBotWorldState.Unit.attack_range', index=27, + number=44, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='attack_speed', full_name='CMsgBotWorldState.Unit.attack_speed', index=28, + number=45, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='attack_anim_point', full_name='CMsgBotWorldState.Unit.attack_anim_point', index=29, + number=46, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='attack_acquisition_range', full_name='CMsgBotWorldState.Unit.attack_acquisition_range', index=30, + number=47, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='attack_projectile_speed', full_name='CMsgBotWorldState.Unit.attack_projectile_speed', index=31, + number=48, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='attack_target_handle', full_name='CMsgBotWorldState.Unit.attack_target_handle', index=32, + number=49, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='attack_target_name', full_name='CMsgBotWorldState.Unit.attack_target_name', index=33, + number=52, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='attacks_per_second', full_name='CMsgBotWorldState.Unit.attacks_per_second', index=34, + number=50, type=5, cpp_type=1, label=1, + has_default_value=True, default_value=-1, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='last_attack_time', full_name='CMsgBotWorldState.Unit.last_attack_time', index=35, + number=51, type=2, cpp_type=6, label=1, + has_default_value=True, default_value=float(-1), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='bounty_xp', full_name='CMsgBotWorldState.Unit.bounty_xp', index=36, + number=60, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='bounty_gold_min', full_name='CMsgBotWorldState.Unit.bounty_gold_min', index=37, + number=61, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='bounty_gold_max', full_name='CMsgBotWorldState.Unit.bounty_gold_max', index=38, + number=62, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_channeling', full_name='CMsgBotWorldState.Unit.is_channeling', index=39, + number=65, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='active_ability_handle', full_name='CMsgBotWorldState.Unit.active_ability_handle', index=40, + number=66, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_attack_immune', full_name='CMsgBotWorldState.Unit.is_attack_immune', index=41, + number=70, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_blind', full_name='CMsgBotWorldState.Unit.is_blind', index=42, + number=71, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_block_disabled', full_name='CMsgBotWorldState.Unit.is_block_disabled', index=43, + number=72, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_disarmed', full_name='CMsgBotWorldState.Unit.is_disarmed', index=44, + number=73, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_dominated', full_name='CMsgBotWorldState.Unit.is_dominated', index=45, + number=74, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_evade_disabled', full_name='CMsgBotWorldState.Unit.is_evade_disabled', index=46, + number=75, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_hexed', full_name='CMsgBotWorldState.Unit.is_hexed', index=47, + number=76, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_invisible', full_name='CMsgBotWorldState.Unit.is_invisible', index=48, + number=77, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_invulnerable', full_name='CMsgBotWorldState.Unit.is_invulnerable', index=49, + number=78, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_magic_immune', full_name='CMsgBotWorldState.Unit.is_magic_immune', index=50, + number=79, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_muted', full_name='CMsgBotWorldState.Unit.is_muted', index=51, + number=80, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_nightmared', full_name='CMsgBotWorldState.Unit.is_nightmared', index=52, + number=82, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_rooted', full_name='CMsgBotWorldState.Unit.is_rooted', index=53, + number=83, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_silenced', full_name='CMsgBotWorldState.Unit.is_silenced', index=54, + number=84, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_specially_deniable', full_name='CMsgBotWorldState.Unit.is_specially_deniable', index=55, + number=85, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_stunned', full_name='CMsgBotWorldState.Unit.is_stunned', index=56, + number=86, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_unable_to_miss', full_name='CMsgBotWorldState.Unit.is_unable_to_miss', index=57, + number=87, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='has_scepter', full_name='CMsgBotWorldState.Unit.has_scepter', index=58, + number=88, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='abilities', full_name='CMsgBotWorldState.Unit.abilities', index=59, + number=90, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='items', full_name='CMsgBotWorldState.Unit.items', index=60, + number=91, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='modifiers', full_name='CMsgBotWorldState.Unit.modifiers', index=61, + number=92, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='incoming_tracking_projectiles', full_name='CMsgBotWorldState.Unit.incoming_tracking_projectiles', index=62, + number=93, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='action_type', full_name='CMsgBotWorldState.Unit.action_type', index=63, + number=100, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ability_target_handle', full_name='CMsgBotWorldState.Unit.ability_target_handle', index=64, + number=101, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ability_target_name', full_name='CMsgBotWorldState.Unit.ability_target_name', index=65, + number=103, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_using_ability', full_name='CMsgBotWorldState.Unit.is_using_ability', index=66, + number=102, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='primary_attribute', full_name='CMsgBotWorldState.Unit.primary_attribute', index=67, + number=110, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_illusion', full_name='CMsgBotWorldState.Unit.is_illusion', index=68, + number=111, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='respawn_time', full_name='CMsgBotWorldState.Unit.respawn_time', index=69, + number=112, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='buyback_cost', full_name='CMsgBotWorldState.Unit.buyback_cost', index=70, + number=113, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='buyback_cooldown', full_name='CMsgBotWorldState.Unit.buyback_cooldown', index=71, + number=114, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='spell_amplification', full_name='CMsgBotWorldState.Unit.spell_amplification', index=72, + number=115, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='armor', full_name='CMsgBotWorldState.Unit.armor', index=73, + number=116, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='magic_resist', full_name='CMsgBotWorldState.Unit.magic_resist', index=74, + number=117, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='evasion', full_name='CMsgBotWorldState.Unit.evasion', index=75, + number=118, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='xp_needed_to_level', full_name='CMsgBotWorldState.Unit.xp_needed_to_level', index=76, + number=120, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ability_points', full_name='CMsgBotWorldState.Unit.ability_points', index=77, + number=121, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='reliable_gold', full_name='CMsgBotWorldState.Unit.reliable_gold', index=78, + number=122, type=5, cpp_type=1, label=1, + has_default_value=True, default_value=-1, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='unreliable_gold', full_name='CMsgBotWorldState.Unit.unreliable_gold', index=79, + number=123, type=5, cpp_type=1, label=1, + has_default_value=True, default_value=-1, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='last_hits', full_name='CMsgBotWorldState.Unit.last_hits', index=80, + number=124, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='denies', full_name='CMsgBotWorldState.Unit.denies', index=81, + number=125, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='net_worth', full_name='CMsgBotWorldState.Unit.net_worth', index=82, + number=126, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='strength', full_name='CMsgBotWorldState.Unit.strength', index=83, + number=127, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='agility', full_name='CMsgBotWorldState.Unit.agility', index=84, + number=128, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='intelligence', full_name='CMsgBotWorldState.Unit.intelligence', index=85, + number=129, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='remaining_lifespan', full_name='CMsgBotWorldState.Unit.remaining_lifespan', index=86, + number=130, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='flying_courier', full_name='CMsgBotWorldState.Unit.flying_courier', index=87, + number=140, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='shrine_cooldown', full_name='CMsgBotWorldState.Unit.shrine_cooldown', index=88, + number=150, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='is_shrine_healing', full_name='CMsgBotWorldState.Unit.is_shrine_healing', index=89, + number=151, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3576, + serialized_end=5864, +) + +_CMSGBOTWORLDSTATE_ACTIONS_OCEANANNOTATION_HERO = _descriptor.Descriptor( + name='Hero', + full_name='CMsgBotWorldState.Actions.OceanAnnotation.Hero', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='playerID', full_name='CMsgBotWorldState.Actions.OceanAnnotation.Hero.playerID', index=0, + number=1, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='valueFunction', full_name='CMsgBotWorldState.Actions.OceanAnnotation.Hero.valueFunction', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='actionLogp', full_name='CMsgBotWorldState.Actions.OceanAnnotation.Hero.actionLogp', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='reward', full_name='CMsgBotWorldState.Actions.OceanAnnotation.Hero.reward', index=3, + number=4, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='internalAction', full_name='CMsgBotWorldState.Actions.OceanAnnotation.Hero.internalAction', index=4, + number=5, type=5, cpp_type=1, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='actionName', full_name='CMsgBotWorldState.Actions.OceanAnnotation.Hero.actionName', index=5, + number=6, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='detailedStats', full_name='CMsgBotWorldState.Actions.OceanAnnotation.Hero.detailedStats', index=6, + number=7, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=_b(""), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6228, + serialized_end=6378, +) + +_CMSGBOTWORLDSTATE_ACTIONS_OCEANANNOTATION = _descriptor.Descriptor( + name='OceanAnnotation', + full_name='CMsgBotWorldState.Actions.OceanAnnotation', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='heroes', full_name='CMsgBotWorldState.Actions.OceanAnnotation.heroes', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='agentID', full_name='CMsgBotWorldState.Actions.OceanAnnotation.agentID', index=1, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='rewards', full_name='CMsgBotWorldState.Actions.OceanAnnotation.rewards', index=2, + number=6, type=2, cpp_type=6, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='reward_names', full_name='CMsgBotWorldState.Actions.OceanAnnotation.reward_names', index=3, + number=7, type=9, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_CMSGBOTWORLDSTATE_ACTIONS_OCEANANNOTATION_HERO, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6087, + serialized_end=6378, +) + +_CMSGBOTWORLDSTATE_ACTIONS_HEADER = _descriptor.Descriptor( + name='Header', + full_name='CMsgBotWorldState.Actions.Header', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='startTime', full_name='CMsgBotWorldState.Actions.Header.startTime', index=0, + number=1, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='name', full_name='CMsgBotWorldState.Actions.Header.name', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6380, + serialized_end=6421, +) + +_CMSGBOTWORLDSTATE_ACTIONS = _descriptor.Descriptor( + name='Actions', + full_name='CMsgBotWorldState.Actions', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='dota_time', full_name='CMsgBotWorldState.Actions.dota_time', index=0, + number=1, type=2, cpp_type=6, label=1, + has_default_value=True, default_value=float(-100), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='actions', full_name='CMsgBotWorldState.Actions.actions', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='extraData', full_name='CMsgBotWorldState.Actions.extraData', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='oceanAnnotation', full_name='CMsgBotWorldState.Actions.oceanAnnotation', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='header', full_name='CMsgBotWorldState.Actions.header', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_CMSGBOTWORLDSTATE_ACTIONS_OCEANANNOTATION, _CMSGBOTWORLDSTATE_ACTIONS_HEADER, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5867, + serialized_end=6421, +) + +_CMSGBOTWORLDSTATE_ACTION_MOVETOLOCATION = _descriptor.Descriptor( + name='MoveToLocation', + full_name='CMsgBotWorldState.Action.MoveToLocation', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='units', full_name='CMsgBotWorldState.Action.MoveToLocation.units', index=0, + number=1, type=5, cpp_type=1, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='location', full_name='CMsgBotWorldState.Action.MoveToLocation.location', index=1, + number=2, type=11, cpp_type=10, label=2, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9148, + serialized_end=9224, +) + +_CMSGBOTWORLDSTATE_ACTION_MOVETOTARGET = _descriptor.Descriptor( + name='MoveToTarget', + full_name='CMsgBotWorldState.Action.MoveToTarget', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='units', full_name='CMsgBotWorldState.Action.MoveToTarget.units', index=0, + number=1, type=5, cpp_type=1, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='target', full_name='CMsgBotWorldState.Action.MoveToTarget.target', index=1, + number=2, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9226, + serialized_end=9271, +) + +_CMSGBOTWORLDSTATE_ACTION_ATTACKMOVE = _descriptor.Descriptor( + name='AttackMove', + full_name='CMsgBotWorldState.Action.AttackMove', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='units', full_name='CMsgBotWorldState.Action.AttackMove.units', index=0, + number=1, type=5, cpp_type=1, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='location', full_name='CMsgBotWorldState.Action.AttackMove.location', index=1, + number=2, type=11, cpp_type=10, label=2, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9273, + serialized_end=9345, +) + +_CMSGBOTWORLDSTATE_ACTION_ATTACKTARGET = _descriptor.Descriptor( + name='AttackTarget', + full_name='CMsgBotWorldState.Action.AttackTarget', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='units', full_name='CMsgBotWorldState.Action.AttackTarget.units', index=0, + number=1, type=5, cpp_type=1, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='target', full_name='CMsgBotWorldState.Action.AttackTarget.target', index=1, + number=2, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='once', full_name='CMsgBotWorldState.Action.AttackTarget.once', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9347, + serialized_end=9406, +) + +_CMSGBOTWORLDSTATE_ACTION_HOLDLOCATION = _descriptor.Descriptor( + name='HoldLocation', + full_name='CMsgBotWorldState.Action.HoldLocation', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='units', full_name='CMsgBotWorldState.Action.HoldLocation.units', index=0, + number=1, type=5, cpp_type=1, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9408, + serialized_end=9437, +) + +_CMSGBOTWORLDSTATE_ACTION_STOP = _descriptor.Descriptor( + name='Stop', + full_name='CMsgBotWorldState.Action.Stop', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='units', full_name='CMsgBotWorldState.Action.Stop.units', index=0, + number=1, type=5, cpp_type=1, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9439, + serialized_end=9460, +) + +_CMSGBOTWORLDSTATE_ACTION_CASTLOCATION = _descriptor.Descriptor( + name='CastLocation', + full_name='CMsgBotWorldState.Action.CastLocation', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='units', full_name='CMsgBotWorldState.Action.CastLocation.units', index=0, + number=1, type=5, cpp_type=1, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='abilitySlot', full_name='CMsgBotWorldState.Action.CastLocation.abilitySlot', index=1, + number=2, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='location', full_name='CMsgBotWorldState.Action.CastLocation.location', index=2, + number=3, type=11, cpp_type=10, label=2, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9462, + serialized_end=9557, +) + +_CMSGBOTWORLDSTATE_ACTION_CASTTARGET = _descriptor.Descriptor( + name='CastTarget', + full_name='CMsgBotWorldState.Action.CastTarget', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='units', full_name='CMsgBotWorldState.Action.CastTarget.units', index=0, + number=1, type=5, cpp_type=1, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='abilitySlot', full_name='CMsgBotWorldState.Action.CastTarget.abilitySlot', index=1, + number=2, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='target', full_name='CMsgBotWorldState.Action.CastTarget.target', index=2, + number=3, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9559, + serialized_end=9623, +) + +_CMSGBOTWORLDSTATE_ACTION_CASTTREE = _descriptor.Descriptor( + name='CastTree', + full_name='CMsgBotWorldState.Action.CastTree', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='units', full_name='CMsgBotWorldState.Action.CastTree.units', index=0, + number=1, type=5, cpp_type=1, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='abilitySlot', full_name='CMsgBotWorldState.Action.CastTree.abilitySlot', index=1, + number=2, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='tree', full_name='CMsgBotWorldState.Action.CastTree.tree', index=2, + number=3, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9625, + serialized_end=9685, +) + +_CMSGBOTWORLDSTATE_ACTION_CAST = _descriptor.Descriptor( + name='Cast', + full_name='CMsgBotWorldState.Action.Cast', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='units', full_name='CMsgBotWorldState.Action.Cast.units', index=0, + number=1, type=5, cpp_type=1, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='abilitySlot', full_name='CMsgBotWorldState.Action.Cast.abilitySlot', index=1, + number=2, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9687, + serialized_end=9729, +) + +_CMSGBOTWORLDSTATE_ACTION_CASTTOGGLE = _descriptor.Descriptor( + name='CastToggle', + full_name='CMsgBotWorldState.Action.CastToggle', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='units', full_name='CMsgBotWorldState.Action.CastToggle.units', index=0, + number=1, type=5, cpp_type=1, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='abilitySlot', full_name='CMsgBotWorldState.Action.CastToggle.abilitySlot', index=1, + number=2, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9731, + serialized_end=9779, +) + +_CMSGBOTWORLDSTATE_ACTION_TRAINABILITY = _descriptor.Descriptor( + name='TrainAbility', + full_name='CMsgBotWorldState.Action.TrainAbility', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='ability', full_name='CMsgBotWorldState.Action.TrainAbility.ability', index=0, + number=1, type=9, cpp_type=9, label=2, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='level', full_name='CMsgBotWorldState.Action.TrainAbility.level', index=1, + number=2, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='unit', full_name='CMsgBotWorldState.Action.TrainAbility.unit', index=2, + number=3, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9781, + serialized_end=9841, +) + +_CMSGBOTWORLDSTATE_ACTION_DROPITEM = _descriptor.Descriptor( + name='DropItem', + full_name='CMsgBotWorldState.Action.DropItem', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='unit', full_name='CMsgBotWorldState.Action.DropItem.unit', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='slot', full_name='CMsgBotWorldState.Action.DropItem.slot', index=1, + number=2, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='location', full_name='CMsgBotWorldState.Action.DropItem.location', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9843, + serialized_end=9926, +) + +_CMSGBOTWORLDSTATE_ACTION_PICKUPITEM = _descriptor.Descriptor( + name='PickUpItem', + full_name='CMsgBotWorldState.Action.PickUpItem', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='unit', full_name='CMsgBotWorldState.Action.PickUpItem.unit', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='itemId', full_name='CMsgBotWorldState.Action.PickUpItem.itemId', index=1, + number=2, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9928, + serialized_end=9970, +) + +_CMSGBOTWORLDSTATE_ACTION_PURCHASEITEM = _descriptor.Descriptor( + name='PurchaseItem', + full_name='CMsgBotWorldState.Action.PurchaseItem', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='item', full_name='CMsgBotWorldState.Action.PurchaseItem.item', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='item_name', full_name='CMsgBotWorldState.Action.PurchaseItem.item_name', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='unit', full_name='CMsgBotWorldState.Action.PurchaseItem.unit', index=2, + number=3, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9972, + serialized_end=10033, +) + +_CMSGBOTWORLDSTATE_ACTION_SELLITEM = _descriptor.Descriptor( + name='SellItem', + full_name='CMsgBotWorldState.Action.SellItem', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='item', full_name='CMsgBotWorldState.Action.SellItem.item', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='slot', full_name='CMsgBotWorldState.Action.SellItem.slot', index=1, + number=2, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='unit', full_name='CMsgBotWorldState.Action.SellItem.unit', index=2, + number=3, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10035, + serialized_end=10087, +) + +_CMSGBOTWORLDSTATE_ACTION_SWAPITEMS = _descriptor.Descriptor( + name='SwapItems', + full_name='CMsgBotWorldState.Action.SwapItems', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='slot_a', full_name='CMsgBotWorldState.Action.SwapItems.slot_a', index=0, + number=1, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='slot_b', full_name='CMsgBotWorldState.Action.SwapItems.slot_b', index=1, + number=2, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='unit', full_name='CMsgBotWorldState.Action.SwapItems.unit', index=2, + number=3, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10089, + serialized_end=10146, +) + +_CMSGBOTWORLDSTATE_ACTION_DISASSEMBLEITEM = _descriptor.Descriptor( + name='DisassembleItem', + full_name='CMsgBotWorldState.Action.DisassembleItem', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='slot', full_name='CMsgBotWorldState.Action.DisassembleItem.slot', index=0, + number=1, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10148, + serialized_end=10179, +) + +_CMSGBOTWORLDSTATE_ACTION_SETCOMBINELOCKITEM = _descriptor.Descriptor( + name='SetCombineLockItem', + full_name='CMsgBotWorldState.Action.SetCombineLockItem', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='slot', full_name='CMsgBotWorldState.Action.SetCombineLockItem.slot', index=0, + number=1, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='CMsgBotWorldState.Action.SetCombineLockItem.value', index=1, + number=2, type=8, cpp_type=7, label=2, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10181, + serialized_end=10230, +) + +_CMSGBOTWORLDSTATE_ACTION_PICKUPRUNE = _descriptor.Descriptor( + name='PickupRune', + full_name='CMsgBotWorldState.Action.PickupRune', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='units', full_name='CMsgBotWorldState.Action.PickupRune.units', index=0, + number=1, type=5, cpp_type=1, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='rune', full_name='CMsgBotWorldState.Action.PickupRune.rune', index=1, + number=2, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10232, + serialized_end=10273, +) + +_CMSGBOTWORLDSTATE_ACTION_CHAT = _descriptor.Descriptor( + name='Chat', + full_name='CMsgBotWorldState.Action.Chat', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='message', full_name='CMsgBotWorldState.Action.Chat.message', index=0, + number=1, type=9, cpp_type=9, label=2, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='to_allchat', full_name='CMsgBotWorldState.Action.Chat.to_allchat', index=1, + number=2, type=8, cpp_type=7, label=2, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10275, + serialized_end=10318, +) + +_CMSGBOTWORLDSTATE_ACTION_USESHRINE = _descriptor.Descriptor( + name='UseShrine', + full_name='CMsgBotWorldState.Action.UseShrine', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='units', full_name='CMsgBotWorldState.Action.UseShrine.units', index=0, + number=1, type=5, cpp_type=1, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='shrine', full_name='CMsgBotWorldState.Action.UseShrine.shrine', index=1, + number=2, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10320, + serialized_end=10362, +) + +_CMSGBOTWORLDSTATE_ACTION_COURIER = _descriptor.Descriptor( + name='Courier', + full_name='CMsgBotWorldState.Action.Courier', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='unit', full_name='CMsgBotWorldState.Action.Courier.unit', index=0, + number=1, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='courier', full_name='CMsgBotWorldState.Action.Courier.courier', index=1, + number=2, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='action', full_name='CMsgBotWorldState.Action.Courier.action', index=2, + number=3, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10364, + serialized_end=10420, +) + +_CMSGBOTWORLDSTATE_ACTION_GETACTUALINCOMINGDAMAGE = _descriptor.Descriptor( + name='GetActualIncomingDamage', + full_name='CMsgBotWorldState.Action.GetActualIncomingDamage', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='unit', full_name='CMsgBotWorldState.Action.GetActualIncomingDamage.unit', index=0, + number=1, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='nDamage', full_name='CMsgBotWorldState.Action.GetActualIncomingDamage.nDamage', index=1, + number=2, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='nDamageType', full_name='CMsgBotWorldState.Action.GetActualIncomingDamage.nDamageType', index=2, + number=3, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10422, + serialized_end=10499, +) + +_CMSGBOTWORLDSTATE_ACTION_GETESTIMATEDDAMAGETOTARGET = _descriptor.Descriptor( + name='GetEstimatedDamageToTarget', + full_name='CMsgBotWorldState.Action.GetEstimatedDamageToTarget', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='unit', full_name='CMsgBotWorldState.Action.GetEstimatedDamageToTarget.unit', index=0, + number=1, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='bCurrentlyAvailable', full_name='CMsgBotWorldState.Action.GetEstimatedDamageToTarget.bCurrentlyAvailable', index=1, + number=2, type=8, cpp_type=7, label=2, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='hTarget', full_name='CMsgBotWorldState.Action.GetEstimatedDamageToTarget.hTarget', index=2, + number=3, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='fDuration', full_name='CMsgBotWorldState.Action.GetEstimatedDamageToTarget.fDuration', index=3, + number=4, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='nDamageTypes', full_name='CMsgBotWorldState.Action.GetEstimatedDamageToTarget.nDamageTypes', index=4, + number=5, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10502, + serialized_end=10631, +) + +_CMSGBOTWORLDSTATE_ACTION_GLYPH = _descriptor.Descriptor( + name='Glyph', + full_name='CMsgBotWorldState.Action.Glyph', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='unit', full_name='CMsgBotWorldState.Action.Glyph.unit', index=0, + number=1, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10633, + serialized_end=10654, +) + +_CMSGBOTWORLDSTATE_ACTION_SOFTRESET = _descriptor.Descriptor( + name='SoftReset', + full_name='CMsgBotWorldState.Action.SoftReset', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='minigameConfig', full_name='CMsgBotWorldState.Action.SoftReset.minigameConfig', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='snapshotData', full_name='CMsgBotWorldState.Action.SoftReset.snapshotData', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10656, + serialized_end=10713, +) + +_CMSGBOTWORLDSTATE_ACTION_BUYBACK = _descriptor.Descriptor( + name='Buyback', + full_name='CMsgBotWorldState.Action.Buyback', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='unit', full_name='CMsgBotWorldState.Action.Buyback.unit', index=0, + number=1, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10715, + serialized_end=10738, +) + +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWTEXT = _descriptor.Descriptor( + name='ScriptingDebugDrawText', + full_name='CMsgBotWorldState.Action.ScriptingDebugDrawText', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='origin', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawText.origin', index=0, + number=1, type=11, cpp_type=10, label=2, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='text', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawText.text', index=1, + number=2, type=9, cpp_type=9, label=2, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='bViewCheck', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawText.bViewCheck', index=2, + number=3, type=8, cpp_type=7, label=2, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='duration', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawText.duration', index=3, + number=4, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10740, + serialized_end=10859, +) + +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWLINE = _descriptor.Descriptor( + name='ScriptingDebugDrawLine', + full_name='CMsgBotWorldState.Action.ScriptingDebugDrawLine', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='origin', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawLine.origin', index=0, + number=1, type=11, cpp_type=10, label=2, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='target', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawLine.target', index=1, + number=2, type=11, cpp_type=10, label=2, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='r', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawLine.r', index=2, + number=3, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='g', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawLine.g', index=3, + number=4, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='b', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawLine.b', index=4, + number=5, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ztest', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawLine.ztest', index=5, + number=6, type=8, cpp_type=7, label=2, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='duration', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawLine.duration', index=6, + number=7, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10862, + serialized_end=11038, +) + +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWSCREENTEXT = _descriptor.Descriptor( + name='ScriptingDebugDrawScreenText', + full_name='CMsgBotWorldState.Action.ScriptingDebugDrawScreenText', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='x', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.x', index=0, + number=1, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='y', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.y', index=1, + number=2, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='lineOffset', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.lineOffset', index=2, + number=3, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='text', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.text', index=3, + number=4, type=9, cpp_type=9, label=2, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='r', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.r', index=4, + number=5, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='g', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.g', index=5, + number=6, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='b', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.b', index=6, + number=7, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='a', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.a', index=7, + number=8, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='duration', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawScreenText.duration', index=8, + number=9, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=11041, + serialized_end=11189, +) + +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGSCREENTEXTPRETTY = _descriptor.Descriptor( + name='ScriptingDebugScreenTextPretty', + full_name='CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='x', full_name='CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.x', index=0, + number=1, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='y', full_name='CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.y', index=1, + number=2, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='lineOffset', full_name='CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.lineOffset', index=2, + number=3, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='text', full_name='CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.text', index=3, + number=4, type=9, cpp_type=9, label=2, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='r', full_name='CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.r', index=4, + number=5, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='g', full_name='CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.g', index=5, + number=6, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='b', full_name='CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.b', index=6, + number=7, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='a', full_name='CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.a', index=7, + number=8, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='duration', full_name='CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.duration', index=8, + number=9, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='font', full_name='CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.font', index=9, + number=10, type=9, cpp_type=9, label=2, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='size', full_name='CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.size', index=10, + number=11, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='bBold', full_name='CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty.bBold', index=11, + number=12, type=8, cpp_type=7, label=2, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=11192, + serialized_end=11385, +) + +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWBOX = _descriptor.Descriptor( + name='ScriptingDebugDrawBox', + full_name='CMsgBotWorldState.Action.ScriptingDebugDrawBox', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='origin', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawBox.origin', index=0, + number=1, type=11, cpp_type=10, label=2, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='minimum', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawBox.minimum', index=1, + number=2, type=11, cpp_type=10, label=2, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='maximum', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawBox.maximum', index=2, + number=3, type=11, cpp_type=10, label=2, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='r', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawBox.r', index=3, + number=4, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='g', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawBox.g', index=4, + number=5, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='b', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawBox.b', index=5, + number=6, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='a', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawBox.a', index=6, + number=7, type=5, cpp_type=1, label=2, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='duration', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawBox.duration', index=7, + number=8, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=11388, + serialized_end=11604, +) + +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWCIRCLE = _descriptor.Descriptor( + name='ScriptingDebugDrawCircle', + full_name='CMsgBotWorldState.Action.ScriptingDebugDrawCircle', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='center', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawCircle.center', index=0, + number=1, type=11, cpp_type=10, label=2, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='vRgb', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawCircle.vRgb', index=1, + number=2, type=11, cpp_type=10, label=2, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='a', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawCircle.a', index=2, + number=3, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='rad', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawCircle.rad', index=3, + number=4, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ztest', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawCircle.ztest', index=4, + number=5, type=8, cpp_type=7, label=2, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='duration', full_name='CMsgBotWorldState.Action.ScriptingDebugDrawCircle.duration', index=5, + number=6, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=11607, + serialized_end=11774, +) + +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWCLEAR = _descriptor.Descriptor( + name='ScriptingDebugDrawClear', + full_name='CMsgBotWorldState.Action.ScriptingDebugDrawClear', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=11776, + serialized_end=11801, +) + +_CMSGBOTWORLDSTATE_ACTION_OCEANWINGAME = _descriptor.Descriptor( + name='OceanWinGame', + full_name='CMsgBotWorldState.Action.OceanWinGame', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='team', full_name='CMsgBotWorldState.Action.OceanWinGame.team', index=0, + number=1, type=9, cpp_type=9, label=2, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='reward', full_name='CMsgBotWorldState.Action.OceanWinGame.reward', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=11803, + serialized_end=11847, +) + +_CMSGBOTWORLDSTATE_ACTION_OCEANREPLAYCORRECTTIME = _descriptor.Descriptor( + name='OceanReplayCorrectTime', + full_name='CMsgBotWorldState.Action.OceanReplayCorrectTime', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='delta', full_name='CMsgBotWorldState.Action.OceanReplayCorrectTime.delta', index=0, + number=1, type=2, cpp_type=6, label=2, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=11849, + serialized_end=11888, +) + +_CMSGBOTWORLDSTATE_ACTION = _descriptor.Descriptor( + name='Action', + full_name='CMsgBotWorldState.Action', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='actionType', full_name='CMsgBotWorldState.Action.actionType', index=0, + number=1, type=14, cpp_type=8, label=2, + has_default_value=True, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='player', full_name='CMsgBotWorldState.Action.player', index=1, + number=2, type=5, cpp_type=1, label=1, + has_default_value=True, default_value=-1, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='actionID', full_name='CMsgBotWorldState.Action.actionID', index=2, + number=4, type=5, cpp_type=1, label=1, + has_default_value=True, default_value=-1, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='actionDelay', full_name='CMsgBotWorldState.Action.actionDelay', index=3, + number=10, type=5, cpp_type=1, label=1, + has_default_value=True, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='moveToLocation', full_name='CMsgBotWorldState.Action.moveToLocation', index=4, + number=101, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='moveToTarget', full_name='CMsgBotWorldState.Action.moveToTarget', index=5, + number=102, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='attackMove', full_name='CMsgBotWorldState.Action.attackMove', index=6, + number=103, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='attackTarget', full_name='CMsgBotWorldState.Action.attackTarget', index=7, + number=104, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='castLocation', full_name='CMsgBotWorldState.Action.castLocation', index=8, + number=105, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='castTarget', full_name='CMsgBotWorldState.Action.castTarget', index=9, + number=106, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='castTree', full_name='CMsgBotWorldState.Action.castTree', index=10, + number=107, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='cast', full_name='CMsgBotWorldState.Action.cast', index=11, + number=108, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='castToggle', full_name='CMsgBotWorldState.Action.castToggle', index=12, + number=109, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='holdLocation', full_name='CMsgBotWorldState.Action.holdLocation', index=13, + number=110, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='trainAbility', full_name='CMsgBotWorldState.Action.trainAbility', index=14, + number=111, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='dropItem', full_name='CMsgBotWorldState.Action.dropItem', index=15, + number=112, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='pickUpItem', full_name='CMsgBotWorldState.Action.pickUpItem', index=16, + number=114, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='pickupRune', full_name='CMsgBotWorldState.Action.pickupRune', index=17, + number=115, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='purchaseItem', full_name='CMsgBotWorldState.Action.purchaseItem', index=18, + number=116, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='sellItem', full_name='CMsgBotWorldState.Action.sellItem', index=19, + number=117, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='disassembleItem', full_name='CMsgBotWorldState.Action.disassembleItem', index=20, + number=118, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='setCombineLockItem', full_name='CMsgBotWorldState.Action.setCombineLockItem', index=21, + number=132, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='stop', full_name='CMsgBotWorldState.Action.stop', index=22, + number=121, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='chat', full_name='CMsgBotWorldState.Action.chat', index=23, + number=140, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='swapItems', full_name='CMsgBotWorldState.Action.swapItems', index=24, + number=141, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='useShrine', full_name='CMsgBotWorldState.Action.useShrine', index=25, + number=142, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='courier', full_name='CMsgBotWorldState.Action.courier', index=26, + number=143, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='getActualIncomingDamage', full_name='CMsgBotWorldState.Action.getActualIncomingDamage', index=27, + number=144, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='getEstimatedDamageToTarget', full_name='CMsgBotWorldState.Action.getEstimatedDamageToTarget', index=28, + number=145, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='glyph', full_name='CMsgBotWorldState.Action.glyph', index=29, + number=146, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='softReset', full_name='CMsgBotWorldState.Action.softReset', index=30, + number=148, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='buyback', full_name='CMsgBotWorldState.Action.buyback', index=31, + number=149, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='scriptingDebugDrawText', full_name='CMsgBotWorldState.Action.scriptingDebugDrawText', index=32, + number=150, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='scriptingDebugDrawLine', full_name='CMsgBotWorldState.Action.scriptingDebugDrawLine', index=33, + number=151, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='scriptingDebugDrawScreenText', full_name='CMsgBotWorldState.Action.scriptingDebugDrawScreenText', index=34, + number=152, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='scriptingDebugDrawBox', full_name='CMsgBotWorldState.Action.scriptingDebugDrawBox', index=35, + number=153, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='scriptingDebugDrawCircle', full_name='CMsgBotWorldState.Action.scriptingDebugDrawCircle', index=36, + number=154, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='scriptingDebugDrawClear', full_name='CMsgBotWorldState.Action.scriptingDebugDrawClear', index=37, + number=155, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='scriptingDebugScreenTextPretty', full_name='CMsgBotWorldState.Action.scriptingDebugScreenTextPretty', index=38, + number=159, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='moveDirectly', full_name='CMsgBotWorldState.Action.moveDirectly', index=39, + number=156, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='oceanWinGame', full_name='CMsgBotWorldState.Action.oceanWinGame', index=40, + number=157, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='oceanReplayCorrectTime', full_name='CMsgBotWorldState.Action.oceanReplayCorrectTime', index=41, + number=158, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_CMSGBOTWORLDSTATE_ACTION_MOVETOLOCATION, _CMSGBOTWORLDSTATE_ACTION_MOVETOTARGET, _CMSGBOTWORLDSTATE_ACTION_ATTACKMOVE, _CMSGBOTWORLDSTATE_ACTION_ATTACKTARGET, _CMSGBOTWORLDSTATE_ACTION_HOLDLOCATION, _CMSGBOTWORLDSTATE_ACTION_STOP, _CMSGBOTWORLDSTATE_ACTION_CASTLOCATION, _CMSGBOTWORLDSTATE_ACTION_CASTTARGET, _CMSGBOTWORLDSTATE_ACTION_CASTTREE, _CMSGBOTWORLDSTATE_ACTION_CAST, _CMSGBOTWORLDSTATE_ACTION_CASTTOGGLE, _CMSGBOTWORLDSTATE_ACTION_TRAINABILITY, _CMSGBOTWORLDSTATE_ACTION_DROPITEM, _CMSGBOTWORLDSTATE_ACTION_PICKUPITEM, _CMSGBOTWORLDSTATE_ACTION_PURCHASEITEM, _CMSGBOTWORLDSTATE_ACTION_SELLITEM, _CMSGBOTWORLDSTATE_ACTION_SWAPITEMS, _CMSGBOTWORLDSTATE_ACTION_DISASSEMBLEITEM, _CMSGBOTWORLDSTATE_ACTION_SETCOMBINELOCKITEM, _CMSGBOTWORLDSTATE_ACTION_PICKUPRUNE, _CMSGBOTWORLDSTATE_ACTION_CHAT, _CMSGBOTWORLDSTATE_ACTION_USESHRINE, _CMSGBOTWORLDSTATE_ACTION_COURIER, _CMSGBOTWORLDSTATE_ACTION_GETACTUALINCOMINGDAMAGE, _CMSGBOTWORLDSTATE_ACTION_GETESTIMATEDDAMAGETOTARGET, _CMSGBOTWORLDSTATE_ACTION_GLYPH, _CMSGBOTWORLDSTATE_ACTION_SOFTRESET, _CMSGBOTWORLDSTATE_ACTION_BUYBACK, _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWTEXT, _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWLINE, _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWSCREENTEXT, _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGSCREENTEXTPRETTY, _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWBOX, _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWCIRCLE, _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWCLEAR, _CMSGBOTWORLDSTATE_ACTION_OCEANWINGAME, _CMSGBOTWORLDSTATE_ACTION_OCEANREPLAYCORRECTTIME, ], + enum_types=[ + _CMSGBOTWORLDSTATE_ACTION_TYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='ActionData', full_name='CMsgBotWorldState.Action.ActionData', + index=0, containing_type=None, fields=[]), + ], + serialized_start=6424, + serialized_end=13675, +) + +_CMSGBOTWORLDSTATE = _descriptor.Descriptor( + name='CMsgBotWorldState', + full_name='CMsgBotWorldState', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='team_id', full_name='CMsgBotWorldState.team_id', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='game_time', full_name='CMsgBotWorldState.game_time', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='dota_time', full_name='CMsgBotWorldState.dota_time', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='game_state', full_name='CMsgBotWorldState.game_state', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='hero_pick_state', full_name='CMsgBotWorldState.hero_pick_state', index=4, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='time_of_day', full_name='CMsgBotWorldState.time_of_day', index=5, + number=6, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='glyph_cooldown', full_name='CMsgBotWorldState.glyph_cooldown', index=6, + number=7, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='glyph_cooldown_enemy', full_name='CMsgBotWorldState.glyph_cooldown_enemy', index=7, + number=8, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='players', full_name='CMsgBotWorldState.players', index=8, + number=10, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='units', full_name='CMsgBotWorldState.units', index=9, + number=11, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='dropped_items', full_name='CMsgBotWorldState.dropped_items', index=10, + number=12, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='rune_infos', full_name='CMsgBotWorldState.rune_infos', index=11, + number=13, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='incoming_teleports', full_name='CMsgBotWorldState.incoming_teleports', index=12, + number=14, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='linear_projectiles', full_name='CMsgBotWorldState.linear_projectiles', index=13, + number=15, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='avoidance_zones', full_name='CMsgBotWorldState.avoidance_zones', index=14, + number=16, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='couriers', full_name='CMsgBotWorldState.couriers', index=15, + number=17, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ability_events', full_name='CMsgBotWorldState.ability_events', index=16, + number=20, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='damage_events', full_name='CMsgBotWorldState.damage_events', index=17, + number=21, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='courier_killed_events', full_name='CMsgBotWorldState.courier_killed_events', index=18, + number=22, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='roshan_killed_events', full_name='CMsgBotWorldState.roshan_killed_events', index=19, + number=23, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='tree_events', full_name='CMsgBotWorldState.tree_events', index=20, + number=24, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_CMSGBOTWORLDSTATE_VECTOR, _CMSGBOTWORLDSTATE_PLAYER, _CMSGBOTWORLDSTATE_ABILITY, _CMSGBOTWORLDSTATE_DROPPEDITEM, _CMSGBOTWORLDSTATE_RUNEINFO, _CMSGBOTWORLDSTATE_TELEPORTINFO, _CMSGBOTWORLDSTATE_MODIFIER, _CMSGBOTWORLDSTATE_LINEARPROJECTILE, _CMSGBOTWORLDSTATE_TRACKINGPROJECTILE, _CMSGBOTWORLDSTATE_AVOIDANCEZONE, _CMSGBOTWORLDSTATE_COURIER, _CMSGBOTWORLDSTATE_EVENTABILITY, _CMSGBOTWORLDSTATE_EVENTDAMAGE, _CMSGBOTWORLDSTATE_EVENTCOURIERKILLED, _CMSGBOTWORLDSTATE_EVENTROSHANKILLED, _CMSGBOTWORLDSTATE_EVENTTREE, _CMSGBOTWORLDSTATE_UNIT, _CMSGBOTWORLDSTATE_ACTIONS, _CMSGBOTWORLDSTATE_ACTION, ], + enum_types=[ + _CMSGBOTWORLDSTATE_UNITTYPE, + _CMSGBOTWORLDSTATE_COURIERSTATE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=28, + serialized_end=14081, +) + +_CMSGBOTWORLDSTATE_VECTOR.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_PLAYER.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_ABILITY.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_DROPPEDITEM.fields_by_name['location'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_DROPPEDITEM.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_RUNEINFO.fields_by_name['location'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_RUNEINFO.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_TELEPORTINFO.fields_by_name['location'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_TELEPORTINFO.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_MODIFIER.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_LINEARPROJECTILE.fields_by_name['caster_unit_type'].enum_type = _CMSGBOTWORLDSTATE_UNITTYPE +_CMSGBOTWORLDSTATE_LINEARPROJECTILE.fields_by_name['location'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_LINEARPROJECTILE.fields_by_name['velocity'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_LINEARPROJECTILE.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_TRACKINGPROJECTILE.fields_by_name['caster_unit_type'].enum_type = _CMSGBOTWORLDSTATE_UNITTYPE +_CMSGBOTWORLDSTATE_TRACKINGPROJECTILE.fields_by_name['location'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_TRACKINGPROJECTILE.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_AVOIDANCEZONE.fields_by_name['location'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_AVOIDANCEZONE.fields_by_name['caster_unit_type'].enum_type = _CMSGBOTWORLDSTATE_UNITTYPE +_CMSGBOTWORLDSTATE_AVOIDANCEZONE.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_COURIER.fields_by_name['state'].enum_type = _CMSGBOTWORLDSTATE_COURIERSTATE +_CMSGBOTWORLDSTATE_COURIER.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_EVENTABILITY.fields_by_name['location'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_EVENTABILITY.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_EVENTDAMAGE.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_EVENTCOURIERKILLED.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_EVENTROSHANKILLED.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_EVENTTREE.fields_by_name['location'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_EVENTTREE.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_UNIT.fields_by_name['unit_type'].enum_type = _CMSGBOTWORLDSTATE_UNITTYPE +_CMSGBOTWORLDSTATE_UNIT.fields_by_name['location'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_UNIT.fields_by_name['abilities'].message_type = _CMSGBOTWORLDSTATE_ABILITY +_CMSGBOTWORLDSTATE_UNIT.fields_by_name['items'].message_type = _CMSGBOTWORLDSTATE_ABILITY +_CMSGBOTWORLDSTATE_UNIT.fields_by_name['modifiers'].message_type = _CMSGBOTWORLDSTATE_MODIFIER +_CMSGBOTWORLDSTATE_UNIT.fields_by_name['incoming_tracking_projectiles'].message_type = _CMSGBOTWORLDSTATE_TRACKINGPROJECTILE +_CMSGBOTWORLDSTATE_UNIT.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_ACTIONS_OCEANANNOTATION_HERO.containing_type = _CMSGBOTWORLDSTATE_ACTIONS_OCEANANNOTATION +_CMSGBOTWORLDSTATE_ACTIONS_OCEANANNOTATION.fields_by_name['heroes'].message_type = _CMSGBOTWORLDSTATE_ACTIONS_OCEANANNOTATION_HERO +_CMSGBOTWORLDSTATE_ACTIONS_OCEANANNOTATION.containing_type = _CMSGBOTWORLDSTATE_ACTIONS +_CMSGBOTWORLDSTATE_ACTIONS_HEADER.containing_type = _CMSGBOTWORLDSTATE_ACTIONS +_CMSGBOTWORLDSTATE_ACTIONS.fields_by_name['actions'].message_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTIONS.fields_by_name['oceanAnnotation'].message_type = _CMSGBOTWORLDSTATE_ACTIONS_OCEANANNOTATION +_CMSGBOTWORLDSTATE_ACTIONS.fields_by_name['header'].message_type = _CMSGBOTWORLDSTATE_ACTIONS_HEADER +_CMSGBOTWORLDSTATE_ACTIONS.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_ACTION_MOVETOLOCATION.fields_by_name['location'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_ACTION_MOVETOLOCATION.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_MOVETOTARGET.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_ATTACKMOVE.fields_by_name['location'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_ACTION_ATTACKMOVE.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_ATTACKTARGET.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_HOLDLOCATION.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_STOP.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_CASTLOCATION.fields_by_name['location'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_ACTION_CASTLOCATION.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_CASTTARGET.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_CASTTREE.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_CAST.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_CASTTOGGLE.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_TRAINABILITY.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_DROPITEM.fields_by_name['location'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_ACTION_DROPITEM.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_PICKUPITEM.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_PURCHASEITEM.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_SELLITEM.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_SWAPITEMS.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_DISASSEMBLEITEM.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_SETCOMBINELOCKITEM.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_PICKUPRUNE.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_CHAT.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_USESHRINE.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_COURIER.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_GETACTUALINCOMINGDAMAGE.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_GETESTIMATEDDAMAGETOTARGET.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_GLYPH.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_SOFTRESET.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_BUYBACK.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWTEXT.fields_by_name['origin'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWTEXT.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWLINE.fields_by_name['origin'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWLINE.fields_by_name['target'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWLINE.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWSCREENTEXT.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGSCREENTEXTPRETTY.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWBOX.fields_by_name['origin'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWBOX.fields_by_name['minimum'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWBOX.fields_by_name['maximum'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWBOX.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWCIRCLE.fields_by_name['center'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWCIRCLE.fields_by_name['vRgb'].message_type = _CMSGBOTWORLDSTATE_VECTOR +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWCIRCLE.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWCLEAR.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_OCEANWINGAME.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION_OCEANREPLAYCORRECTTIME.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['actionType'].enum_type = _CMSGBOTWORLDSTATE_ACTION_TYPE +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['moveToLocation'].message_type = _CMSGBOTWORLDSTATE_ACTION_MOVETOLOCATION +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['moveToTarget'].message_type = _CMSGBOTWORLDSTATE_ACTION_MOVETOTARGET +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['attackMove'].message_type = _CMSGBOTWORLDSTATE_ACTION_ATTACKMOVE +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['attackTarget'].message_type = _CMSGBOTWORLDSTATE_ACTION_ATTACKTARGET +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['castLocation'].message_type = _CMSGBOTWORLDSTATE_ACTION_CASTLOCATION +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['castTarget'].message_type = _CMSGBOTWORLDSTATE_ACTION_CASTTARGET +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['castTree'].message_type = _CMSGBOTWORLDSTATE_ACTION_CASTTREE +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['cast'].message_type = _CMSGBOTWORLDSTATE_ACTION_CAST +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['castToggle'].message_type = _CMSGBOTWORLDSTATE_ACTION_CASTTOGGLE +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['holdLocation'].message_type = _CMSGBOTWORLDSTATE_ACTION_HOLDLOCATION +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['trainAbility'].message_type = _CMSGBOTWORLDSTATE_ACTION_TRAINABILITY +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['dropItem'].message_type = _CMSGBOTWORLDSTATE_ACTION_DROPITEM +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['pickUpItem'].message_type = _CMSGBOTWORLDSTATE_ACTION_PICKUPITEM +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['pickupRune'].message_type = _CMSGBOTWORLDSTATE_ACTION_PICKUPRUNE +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['purchaseItem'].message_type = _CMSGBOTWORLDSTATE_ACTION_PURCHASEITEM +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['sellItem'].message_type = _CMSGBOTWORLDSTATE_ACTION_SELLITEM +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['disassembleItem'].message_type = _CMSGBOTWORLDSTATE_ACTION_DISASSEMBLEITEM +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['setCombineLockItem'].message_type = _CMSGBOTWORLDSTATE_ACTION_SETCOMBINELOCKITEM +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['stop'].message_type = _CMSGBOTWORLDSTATE_ACTION_STOP +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['chat'].message_type = _CMSGBOTWORLDSTATE_ACTION_CHAT +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['swapItems'].message_type = _CMSGBOTWORLDSTATE_ACTION_SWAPITEMS +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['useShrine'].message_type = _CMSGBOTWORLDSTATE_ACTION_USESHRINE +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['courier'].message_type = _CMSGBOTWORLDSTATE_ACTION_COURIER +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['getActualIncomingDamage'].message_type = _CMSGBOTWORLDSTATE_ACTION_GETACTUALINCOMINGDAMAGE +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['getEstimatedDamageToTarget'].message_type = _CMSGBOTWORLDSTATE_ACTION_GETESTIMATEDDAMAGETOTARGET +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['glyph'].message_type = _CMSGBOTWORLDSTATE_ACTION_GLYPH +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['softReset'].message_type = _CMSGBOTWORLDSTATE_ACTION_SOFTRESET +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['buyback'].message_type = _CMSGBOTWORLDSTATE_ACTION_BUYBACK +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawText'].message_type = _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWTEXT +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawLine'].message_type = _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWLINE +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawScreenText'].message_type = _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWSCREENTEXT +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawBox'].message_type = _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWBOX +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawCircle'].message_type = _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWCIRCLE +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawClear'].message_type = _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWCLEAR +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugScreenTextPretty'].message_type = _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGSCREENTEXTPRETTY +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['moveDirectly'].message_type = _CMSGBOTWORLDSTATE_ACTION_MOVETOLOCATION +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['oceanWinGame'].message_type = _CMSGBOTWORLDSTATE_ACTION_OCEANWINGAME +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['oceanReplayCorrectTime'].message_type = _CMSGBOTWORLDSTATE_ACTION_OCEANREPLAYCORRECTTIME +_CMSGBOTWORLDSTATE_ACTION.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_ACTION_TYPE.containing_type = _CMSGBOTWORLDSTATE_ACTION +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['moveToLocation']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['moveToLocation'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['moveToTarget']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['moveToTarget'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['attackMove']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['attackMove'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['attackTarget']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['attackTarget'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['castLocation']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['castLocation'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['castTarget']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['castTarget'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['castTree']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['castTree'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['cast']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['cast'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['castToggle']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['castToggle'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['holdLocation']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['holdLocation'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['trainAbility']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['trainAbility'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['dropItem']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['dropItem'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['pickUpItem']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['pickUpItem'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['pickupRune']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['pickupRune'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['purchaseItem']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['purchaseItem'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['sellItem']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['sellItem'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['disassembleItem']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['disassembleItem'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['setCombineLockItem']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['setCombineLockItem'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['stop']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['stop'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['chat']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['chat'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['swapItems']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['swapItems'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['useShrine']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['useShrine'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['courier']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['courier'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['getActualIncomingDamage']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['getActualIncomingDamage'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['getEstimatedDamageToTarget']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['getEstimatedDamageToTarget'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['glyph']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['glyph'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['softReset']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['softReset'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['buyback']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['buyback'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawText']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawText'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawLine']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawLine'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawScreenText']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawScreenText'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawBox']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawBox'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawCircle']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawCircle'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawClear']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugDrawClear'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugScreenTextPretty']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['scriptingDebugScreenTextPretty'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['moveDirectly']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['moveDirectly'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['oceanWinGame']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['oceanWinGame'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'].fields.append( + _CMSGBOTWORLDSTATE_ACTION.fields_by_name['oceanReplayCorrectTime']) +_CMSGBOTWORLDSTATE_ACTION.fields_by_name['oceanReplayCorrectTime'].containing_oneof = _CMSGBOTWORLDSTATE_ACTION.oneofs_by_name['ActionData'] +_CMSGBOTWORLDSTATE.fields_by_name['players'].message_type = _CMSGBOTWORLDSTATE_PLAYER +_CMSGBOTWORLDSTATE.fields_by_name['units'].message_type = _CMSGBOTWORLDSTATE_UNIT +_CMSGBOTWORLDSTATE.fields_by_name['dropped_items'].message_type = _CMSGBOTWORLDSTATE_DROPPEDITEM +_CMSGBOTWORLDSTATE.fields_by_name['rune_infos'].message_type = _CMSGBOTWORLDSTATE_RUNEINFO +_CMSGBOTWORLDSTATE.fields_by_name['incoming_teleports'].message_type = _CMSGBOTWORLDSTATE_TELEPORTINFO +_CMSGBOTWORLDSTATE.fields_by_name['linear_projectiles'].message_type = _CMSGBOTWORLDSTATE_LINEARPROJECTILE +_CMSGBOTWORLDSTATE.fields_by_name['avoidance_zones'].message_type = _CMSGBOTWORLDSTATE_AVOIDANCEZONE +_CMSGBOTWORLDSTATE.fields_by_name['couriers'].message_type = _CMSGBOTWORLDSTATE_COURIER +_CMSGBOTWORLDSTATE.fields_by_name['ability_events'].message_type = _CMSGBOTWORLDSTATE_EVENTABILITY +_CMSGBOTWORLDSTATE.fields_by_name['damage_events'].message_type = _CMSGBOTWORLDSTATE_EVENTDAMAGE +_CMSGBOTWORLDSTATE.fields_by_name['courier_killed_events'].message_type = _CMSGBOTWORLDSTATE_EVENTCOURIERKILLED +_CMSGBOTWORLDSTATE.fields_by_name['roshan_killed_events'].message_type = _CMSGBOTWORLDSTATE_EVENTROSHANKILLED +_CMSGBOTWORLDSTATE.fields_by_name['tree_events'].message_type = _CMSGBOTWORLDSTATE_EVENTTREE +_CMSGBOTWORLDSTATE_UNITTYPE.containing_type = _CMSGBOTWORLDSTATE +_CMSGBOTWORLDSTATE_COURIERSTATE.containing_type = _CMSGBOTWORLDSTATE +DESCRIPTOR.message_types_by_name['CMsgBotWorldState'] = _CMSGBOTWORLDSTATE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +CMsgBotWorldState = _reflection.GeneratedProtocolMessageType('CMsgBotWorldState', (_message.Message,), dict( + + Vector = _reflection.GeneratedProtocolMessageType('Vector', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_VECTOR, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Vector) + )) + , + + Player = _reflection.GeneratedProtocolMessageType('Player', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_PLAYER, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Player) + )) + , + + Ability = _reflection.GeneratedProtocolMessageType('Ability', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ABILITY, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Ability) + )) + , + + DroppedItem = _reflection.GeneratedProtocolMessageType('DroppedItem', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_DROPPEDITEM, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.DroppedItem) + )) + , + + RuneInfo = _reflection.GeneratedProtocolMessageType('RuneInfo', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_RUNEINFO, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.RuneInfo) + )) + , + + TeleportInfo = _reflection.GeneratedProtocolMessageType('TeleportInfo', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_TELEPORTINFO, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.TeleportInfo) + )) + , + + Modifier = _reflection.GeneratedProtocolMessageType('Modifier', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_MODIFIER, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Modifier) + )) + , + + LinearProjectile = _reflection.GeneratedProtocolMessageType('LinearProjectile', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_LINEARPROJECTILE, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.LinearProjectile) + )) + , + + TrackingProjectile = _reflection.GeneratedProtocolMessageType('TrackingProjectile', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_TRACKINGPROJECTILE, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.TrackingProjectile) + )) + , + + AvoidanceZone = _reflection.GeneratedProtocolMessageType('AvoidanceZone', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_AVOIDANCEZONE, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.AvoidanceZone) + )) + , + + Courier = _reflection.GeneratedProtocolMessageType('Courier', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_COURIER, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Courier) + )) + , + + EventAbility = _reflection.GeneratedProtocolMessageType('EventAbility', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_EVENTABILITY, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.EventAbility) + )) + , + + EventDamage = _reflection.GeneratedProtocolMessageType('EventDamage', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_EVENTDAMAGE, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.EventDamage) + )) + , + + EventCourierKilled = _reflection.GeneratedProtocolMessageType('EventCourierKilled', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_EVENTCOURIERKILLED, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.EventCourierKilled) + )) + , + + EventRoshanKilled = _reflection.GeneratedProtocolMessageType('EventRoshanKilled', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_EVENTROSHANKILLED, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.EventRoshanKilled) + )) + , + + EventTree = _reflection.GeneratedProtocolMessageType('EventTree', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_EVENTTREE, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.EventTree) + )) + , + + Unit = _reflection.GeneratedProtocolMessageType('Unit', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_UNIT, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Unit) + )) + , + + Actions = _reflection.GeneratedProtocolMessageType('Actions', (_message.Message,), dict( + + OceanAnnotation = _reflection.GeneratedProtocolMessageType('OceanAnnotation', (_message.Message,), dict( + + Hero = _reflection.GeneratedProtocolMessageType('Hero', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTIONS_OCEANANNOTATION_HERO, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Actions.OceanAnnotation.Hero) + )) + , + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTIONS_OCEANANNOTATION, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Actions.OceanAnnotation) + )) + , + + Header = _reflection.GeneratedProtocolMessageType('Header', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTIONS_HEADER, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Actions.Header) + )) + , + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTIONS, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Actions) + )) + , + + Action = _reflection.GeneratedProtocolMessageType('Action', (_message.Message,), dict( + + MoveToLocation = _reflection.GeneratedProtocolMessageType('MoveToLocation', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_MOVETOLOCATION, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.MoveToLocation) + )) + , + + MoveToTarget = _reflection.GeneratedProtocolMessageType('MoveToTarget', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_MOVETOTARGET, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.MoveToTarget) + )) + , + + AttackMove = _reflection.GeneratedProtocolMessageType('AttackMove', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_ATTACKMOVE, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.AttackMove) + )) + , + + AttackTarget = _reflection.GeneratedProtocolMessageType('AttackTarget', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_ATTACKTARGET, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.AttackTarget) + )) + , + + HoldLocation = _reflection.GeneratedProtocolMessageType('HoldLocation', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_HOLDLOCATION, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.HoldLocation) + )) + , + + Stop = _reflection.GeneratedProtocolMessageType('Stop', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_STOP, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.Stop) + )) + , + + CastLocation = _reflection.GeneratedProtocolMessageType('CastLocation', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_CASTLOCATION, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.CastLocation) + )) + , + + CastTarget = _reflection.GeneratedProtocolMessageType('CastTarget', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_CASTTARGET, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.CastTarget) + )) + , + + CastTree = _reflection.GeneratedProtocolMessageType('CastTree', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_CASTTREE, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.CastTree) + )) + , + + Cast = _reflection.GeneratedProtocolMessageType('Cast', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_CAST, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.Cast) + )) + , + + CastToggle = _reflection.GeneratedProtocolMessageType('CastToggle', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_CASTTOGGLE, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.CastToggle) + )) + , + + TrainAbility = _reflection.GeneratedProtocolMessageType('TrainAbility', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_TRAINABILITY, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.TrainAbility) + )) + , + + DropItem = _reflection.GeneratedProtocolMessageType('DropItem', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_DROPITEM, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.DropItem) + )) + , + + PickUpItem = _reflection.GeneratedProtocolMessageType('PickUpItem', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_PICKUPITEM, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.PickUpItem) + )) + , + + PurchaseItem = _reflection.GeneratedProtocolMessageType('PurchaseItem', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_PURCHASEITEM, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.PurchaseItem) + )) + , + + SellItem = _reflection.GeneratedProtocolMessageType('SellItem', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_SELLITEM, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.SellItem) + )) + , + + SwapItems = _reflection.GeneratedProtocolMessageType('SwapItems', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_SWAPITEMS, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.SwapItems) + )) + , + + DisassembleItem = _reflection.GeneratedProtocolMessageType('DisassembleItem', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_DISASSEMBLEITEM, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.DisassembleItem) + )) + , + + SetCombineLockItem = _reflection.GeneratedProtocolMessageType('SetCombineLockItem', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_SETCOMBINELOCKITEM, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.SetCombineLockItem) + )) + , + + PickupRune = _reflection.GeneratedProtocolMessageType('PickupRune', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_PICKUPRUNE, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.PickupRune) + )) + , + + Chat = _reflection.GeneratedProtocolMessageType('Chat', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_CHAT, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.Chat) + )) + , + + UseShrine = _reflection.GeneratedProtocolMessageType('UseShrine', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_USESHRINE, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.UseShrine) + )) + , + + Courier = _reflection.GeneratedProtocolMessageType('Courier', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_COURIER, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.Courier) + )) + , + + GetActualIncomingDamage = _reflection.GeneratedProtocolMessageType('GetActualIncomingDamage', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_GETACTUALINCOMINGDAMAGE, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.GetActualIncomingDamage) + )) + , + + GetEstimatedDamageToTarget = _reflection.GeneratedProtocolMessageType('GetEstimatedDamageToTarget', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_GETESTIMATEDDAMAGETOTARGET, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.GetEstimatedDamageToTarget) + )) + , + + Glyph = _reflection.GeneratedProtocolMessageType('Glyph', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_GLYPH, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.Glyph) + )) + , + + SoftReset = _reflection.GeneratedProtocolMessageType('SoftReset', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_SOFTRESET, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.SoftReset) + )) + , + + Buyback = _reflection.GeneratedProtocolMessageType('Buyback', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_BUYBACK, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.Buyback) + )) + , + + ScriptingDebugDrawText = _reflection.GeneratedProtocolMessageType('ScriptingDebugDrawText', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWTEXT, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.ScriptingDebugDrawText) + )) + , + + ScriptingDebugDrawLine = _reflection.GeneratedProtocolMessageType('ScriptingDebugDrawLine', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWLINE, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.ScriptingDebugDrawLine) + )) + , + + ScriptingDebugDrawScreenText = _reflection.GeneratedProtocolMessageType('ScriptingDebugDrawScreenText', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWSCREENTEXT, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) + )) + , + + ScriptingDebugScreenTextPretty = _reflection.GeneratedProtocolMessageType('ScriptingDebugScreenTextPretty', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGSCREENTEXTPRETTY, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) + )) + , + + ScriptingDebugDrawBox = _reflection.GeneratedProtocolMessageType('ScriptingDebugDrawBox', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWBOX, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.ScriptingDebugDrawBox) + )) + , + + ScriptingDebugDrawCircle = _reflection.GeneratedProtocolMessageType('ScriptingDebugDrawCircle', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWCIRCLE, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.ScriptingDebugDrawCircle) + )) + , + + ScriptingDebugDrawClear = _reflection.GeneratedProtocolMessageType('ScriptingDebugDrawClear', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_SCRIPTINGDEBUGDRAWCLEAR, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.ScriptingDebugDrawClear) + )) + , + + OceanWinGame = _reflection.GeneratedProtocolMessageType('OceanWinGame', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_OCEANWINGAME, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.OceanWinGame) + )) + , + + OceanReplayCorrectTime = _reflection.GeneratedProtocolMessageType('OceanReplayCorrectTime', (_message.Message,), dict( + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION_OCEANREPLAYCORRECTTIME, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action.OceanReplayCorrectTime) + )) + , + DESCRIPTOR = _CMSGBOTWORLDSTATE_ACTION, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState.Action) + )) + , + DESCRIPTOR = _CMSGBOTWORLDSTATE, + __module__ = 'CMsgBotWorldState_pb2' + # @@protoc_insertion_point(class_scope:CMsgBotWorldState) + )) +_sym_db.RegisterMessage(CMsgBotWorldState) +_sym_db.RegisterMessage(CMsgBotWorldState.Vector) +_sym_db.RegisterMessage(CMsgBotWorldState.Player) +_sym_db.RegisterMessage(CMsgBotWorldState.Ability) +_sym_db.RegisterMessage(CMsgBotWorldState.DroppedItem) +_sym_db.RegisterMessage(CMsgBotWorldState.RuneInfo) +_sym_db.RegisterMessage(CMsgBotWorldState.TeleportInfo) +_sym_db.RegisterMessage(CMsgBotWorldState.Modifier) +_sym_db.RegisterMessage(CMsgBotWorldState.LinearProjectile) +_sym_db.RegisterMessage(CMsgBotWorldState.TrackingProjectile) +_sym_db.RegisterMessage(CMsgBotWorldState.AvoidanceZone) +_sym_db.RegisterMessage(CMsgBotWorldState.Courier) +_sym_db.RegisterMessage(CMsgBotWorldState.EventAbility) +_sym_db.RegisterMessage(CMsgBotWorldState.EventDamage) +_sym_db.RegisterMessage(CMsgBotWorldState.EventCourierKilled) +_sym_db.RegisterMessage(CMsgBotWorldState.EventRoshanKilled) +_sym_db.RegisterMessage(CMsgBotWorldState.EventTree) +_sym_db.RegisterMessage(CMsgBotWorldState.Unit) +_sym_db.RegisterMessage(CMsgBotWorldState.Actions) +_sym_db.RegisterMessage(CMsgBotWorldState.Actions.OceanAnnotation) +_sym_db.RegisterMessage(CMsgBotWorldState.Actions.OceanAnnotation.Hero) +_sym_db.RegisterMessage(CMsgBotWorldState.Actions.Header) +_sym_db.RegisterMessage(CMsgBotWorldState.Action) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.MoveToLocation) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.MoveToTarget) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.AttackMove) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.AttackTarget) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.HoldLocation) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.Stop) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.CastLocation) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.CastTarget) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.CastTree) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.Cast) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.CastToggle) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.TrainAbility) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.DropItem) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.PickUpItem) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.PurchaseItem) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.SellItem) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.SwapItems) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.DisassembleItem) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.SetCombineLockItem) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.PickupRune) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.Chat) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.UseShrine) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.Courier) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.GetActualIncomingDamage) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.GetEstimatedDamageToTarget) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.Glyph) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.SoftReset) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.Buyback) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.ScriptingDebugDrawText) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.ScriptingDebugDrawLine) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.ScriptingDebugDrawScreenText) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.ScriptingDebugScreenTextPretty) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.ScriptingDebugDrawBox) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.ScriptingDebugDrawCircle) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.ScriptingDebugDrawClear) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.OceanWinGame) +_sym_db.RegisterMessage(CMsgBotWorldState.Action.OceanReplayCorrectTime) + + +DESCRIPTOR._options = None +# @@protoc_insertion_point(module_scope) diff --git a/PythonAi/OutsideCommunication_pb2.py b/PythonAi/OutsideCommunication_pb2.py new file mode 100644 index 0000000000000000000000000000000000000000..8ca09c59daa0d84eb75d1183dcd221874e1f9bd3 --- /dev/null +++ b/PythonAi/OutsideCommunication_pb2.py @@ -0,0 +1,419 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: OutsideCommunication.proto + +import sys +_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='OutsideCommunication.proto', + package='OKAGG', + syntax='proto3', + serialized_options=_b('P\001'), + serialized_pb=_b('\n\x1aOutsideCommunication.proto\x12\x05OKAGG\")\n\x06Vector\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\"K\n\x07\x43ommand\x12\x11\n\tCommandId\x18\x01 \x01(\x05\x12\x1e\n\x07vectVal\x18\x02 \x01(\x0b\x32\r.OKAGG.Vector\x12\r\n\x05\x42otId\x18\x03 \x01(\x05\"p\n\x12OkaggIaCommMessage\x12\x1a\n\x03loc\x18\x01 \x01(\x0b\x32\r.OKAGG.Vector\x12\x0e\n\x06health\x18\x02 \x01(\x05\x12\x0c\n\x04gold\x18\x03 \x01(\x05\x12\r\n\x05\x64\x65\x61th\x18\x04 \x01(\x05\x12\x11\n\tgameState\x18\x05 \x01(\x05\"\x95\x01\n\x15InstrucionReturnValue\x12\x0e\n\x06intVal\x18\x01 \x01(\x05\x12\x10\n\x08\x66loatVal\x18\x02 \x01(\x02\x12\x1e\n\x07vectVal\x18\x03 \x01(\x0b\x32\r.OKAGG.Vector\x12\x0f\n\x07\x62oolVal\x18\x04 \x01(\x08\x12)\n\x06iaComm\x18\x05 \x01(\x0b\x32\x19.OKAGG.OkaggIaCommMessage\"!\n\x0cGlobalValues\x12\x11\n\tgameState\x18\x01 \x01(\x05\"\x07\n\x05\x45mpty2V\n\x10GameInstructions\x12\x42\n\x12HandleInstructions\x12\x0e.OKAGG.Command\x1a\x1c.OKAGG.InstrucionReturnValue2B\n\nGameValues\x12\x34\n\x0fGetGlobalValues\x12\x0c.OKAGG.Empty\x1a\x13.OKAGG.GlobalValues2?\n\x0fServerManagment\x12,\n\x0cManageServer\x12\x0e.OKAGG.Command\x1a\x0c.OKAGG.EmptyB\x02P\x01\x62\x06proto3') +) + + + + +_VECTOR = _descriptor.Descriptor( + name='Vector', + full_name='OKAGG.Vector', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='x', full_name='OKAGG.Vector.x', index=0, + number=1, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='y', full_name='OKAGG.Vector.y', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='z', full_name='OKAGG.Vector.z', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=37, + serialized_end=78, +) + + +_COMMAND = _descriptor.Descriptor( + name='Command', + full_name='OKAGG.Command', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='CommandId', full_name='OKAGG.Command.CommandId', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='vectVal', full_name='OKAGG.Command.vectVal', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='BotId', full_name='OKAGG.Command.BotId', index=2, + number=3, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=80, + serialized_end=155, +) + + +_OKAGGIACOMMMESSAGE = _descriptor.Descriptor( + name='OkaggIaCommMessage', + full_name='OKAGG.OkaggIaCommMessage', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='loc', full_name='OKAGG.OkaggIaCommMessage.loc', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='health', full_name='OKAGG.OkaggIaCommMessage.health', index=1, + number=2, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='gold', full_name='OKAGG.OkaggIaCommMessage.gold', index=2, + number=3, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='death', full_name='OKAGG.OkaggIaCommMessage.death', index=3, + number=4, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='gameState', full_name='OKAGG.OkaggIaCommMessage.gameState', index=4, + number=5, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=157, + serialized_end=269, +) + + +_INSTRUCIONRETURNVALUE = _descriptor.Descriptor( + name='InstrucionReturnValue', + full_name='OKAGG.InstrucionReturnValue', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='intVal', full_name='OKAGG.InstrucionReturnValue.intVal', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='floatVal', full_name='OKAGG.InstrucionReturnValue.floatVal', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='vectVal', full_name='OKAGG.InstrucionReturnValue.vectVal', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='boolVal', full_name='OKAGG.InstrucionReturnValue.boolVal', index=3, + number=4, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='iaComm', full_name='OKAGG.InstrucionReturnValue.iaComm', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=272, + serialized_end=421, +) + + +_GLOBALVALUES = _descriptor.Descriptor( + name='GlobalValues', + full_name='OKAGG.GlobalValues', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='gameState', full_name='OKAGG.GlobalValues.gameState', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=423, + serialized_end=456, +) + + +_EMPTY = _descriptor.Descriptor( + name='Empty', + full_name='OKAGG.Empty', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=458, + serialized_end=465, +) + +_COMMAND.fields_by_name['vectVal'].message_type = _VECTOR +_OKAGGIACOMMMESSAGE.fields_by_name['loc'].message_type = _VECTOR +_INSTRUCIONRETURNVALUE.fields_by_name['vectVal'].message_type = _VECTOR +_INSTRUCIONRETURNVALUE.fields_by_name['iaComm'].message_type = _OKAGGIACOMMMESSAGE +DESCRIPTOR.message_types_by_name['Vector'] = _VECTOR +DESCRIPTOR.message_types_by_name['Command'] = _COMMAND +DESCRIPTOR.message_types_by_name['OkaggIaCommMessage'] = _OKAGGIACOMMMESSAGE +DESCRIPTOR.message_types_by_name['InstrucionReturnValue'] = _INSTRUCIONRETURNVALUE +DESCRIPTOR.message_types_by_name['GlobalValues'] = _GLOBALVALUES +DESCRIPTOR.message_types_by_name['Empty'] = _EMPTY +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +Vector = _reflection.GeneratedProtocolMessageType('Vector', (_message.Message,), dict( + DESCRIPTOR = _VECTOR, + __module__ = 'OutsideCommunication_pb2' + # @@protoc_insertion_point(class_scope:OKAGG.Vector) + )) +_sym_db.RegisterMessage(Vector) + +Command = _reflection.GeneratedProtocolMessageType('Command', (_message.Message,), dict( + DESCRIPTOR = _COMMAND, + __module__ = 'OutsideCommunication_pb2' + # @@protoc_insertion_point(class_scope:OKAGG.Command) + )) +_sym_db.RegisterMessage(Command) + +OkaggIaCommMessage = _reflection.GeneratedProtocolMessageType('OkaggIaCommMessage', (_message.Message,), dict( + DESCRIPTOR = _OKAGGIACOMMMESSAGE, + __module__ = 'OutsideCommunication_pb2' + # @@protoc_insertion_point(class_scope:OKAGG.OkaggIaCommMessage) + )) +_sym_db.RegisterMessage(OkaggIaCommMessage) + +InstrucionReturnValue = _reflection.GeneratedProtocolMessageType('InstrucionReturnValue', (_message.Message,), dict( + DESCRIPTOR = _INSTRUCIONRETURNVALUE, + __module__ = 'OutsideCommunication_pb2' + # @@protoc_insertion_point(class_scope:OKAGG.InstrucionReturnValue) + )) +_sym_db.RegisterMessage(InstrucionReturnValue) + +GlobalValues = _reflection.GeneratedProtocolMessageType('GlobalValues', (_message.Message,), dict( + DESCRIPTOR = _GLOBALVALUES, + __module__ = 'OutsideCommunication_pb2' + # @@protoc_insertion_point(class_scope:OKAGG.GlobalValues) + )) +_sym_db.RegisterMessage(GlobalValues) + +Empty = _reflection.GeneratedProtocolMessageType('Empty', (_message.Message,), dict( + DESCRIPTOR = _EMPTY, + __module__ = 'OutsideCommunication_pb2' + # @@protoc_insertion_point(class_scope:OKAGG.Empty) + )) +_sym_db.RegisterMessage(Empty) + + +DESCRIPTOR._options = None + +_GAMEINSTRUCTIONS = _descriptor.ServiceDescriptor( + name='GameInstructions', + full_name='OKAGG.GameInstructions', + file=DESCRIPTOR, + index=0, + serialized_options=None, + serialized_start=467, + serialized_end=553, + methods=[ + _descriptor.MethodDescriptor( + name='HandleInstructions', + full_name='OKAGG.GameInstructions.HandleInstructions', + index=0, + containing_service=None, + input_type=_COMMAND, + output_type=_INSTRUCIONRETURNVALUE, + serialized_options=None, + ), +]) +_sym_db.RegisterServiceDescriptor(_GAMEINSTRUCTIONS) + +DESCRIPTOR.services_by_name['GameInstructions'] = _GAMEINSTRUCTIONS + + +_GAMEVALUES = _descriptor.ServiceDescriptor( + name='GameValues', + full_name='OKAGG.GameValues', + file=DESCRIPTOR, + index=1, + serialized_options=None, + serialized_start=555, + serialized_end=621, + methods=[ + _descriptor.MethodDescriptor( + name='GetGlobalValues', + full_name='OKAGG.GameValues.GetGlobalValues', + index=0, + containing_service=None, + input_type=_EMPTY, + output_type=_GLOBALVALUES, + serialized_options=None, + ), +]) +_sym_db.RegisterServiceDescriptor(_GAMEVALUES) + +DESCRIPTOR.services_by_name['GameValues'] = _GAMEVALUES + + +_SERVERMANAGMENT = _descriptor.ServiceDescriptor( + name='ServerManagment', + full_name='OKAGG.ServerManagment', + file=DESCRIPTOR, + index=2, + serialized_options=None, + serialized_start=623, + serialized_end=686, + methods=[ + _descriptor.MethodDescriptor( + name='ManageServer', + full_name='OKAGG.ServerManagment.ManageServer', + index=0, + containing_service=None, + input_type=_COMMAND, + output_type=_EMPTY, + serialized_options=None, + ), +]) +_sym_db.RegisterServiceDescriptor(_SERVERMANAGMENT) + +DESCRIPTOR.services_by_name['ServerManagment'] = _SERVERMANAGMENT + +# @@protoc_insertion_point(module_scope) diff --git a/PythonAi/OutsideCommunication_pb2_grpc.py b/PythonAi/OutsideCommunication_pb2_grpc.py new file mode 100644 index 0000000000000000000000000000000000000000..57ceaac716a879a216af4e4e1dfa56086cdeb4a7 --- /dev/null +++ b/PythonAi/OutsideCommunication_pb2_grpc.py @@ -0,0 +1,130 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +import grpc + +import OutsideCommunication_pb2 as OutsideCommunication__pb2 + + +class GameInstructionsStub(object): + """Used to send action to the game + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.HandleInstructions = channel.unary_unary( + '/OKAGG.GameInstructions/HandleInstructions', + request_serializer=OutsideCommunication__pb2.Command.SerializeToString, + response_deserializer=OutsideCommunication__pb2.InstrucionReturnValue.FromString, + ) + + +class GameInstructionsServicer(object): + """Used to send action to the game + """ + + def HandleInstructions(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_GameInstructionsServicer_to_server(servicer, server): + rpc_method_handlers = { + 'HandleInstructions': grpc.unary_unary_rpc_method_handler( + servicer.HandleInstructions, + request_deserializer=OutsideCommunication__pb2.Command.FromString, + response_serializer=OutsideCommunication__pb2.InstrucionReturnValue.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'OKAGG.GameInstructions', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + +class GameValuesStub(object): + """Used to retrieve infos for the server + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.GetGlobalValues = channel.unary_unary( + '/OKAGG.GameValues/GetGlobalValues', + request_serializer=OutsideCommunication__pb2.Empty.SerializeToString, + response_deserializer=OutsideCommunication__pb2.GlobalValues.FromString, + ) + + +class GameValuesServicer(object): + """Used to retrieve infos for the server + """ + + def GetGlobalValues(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_GameValuesServicer_to_server(servicer, server): + rpc_method_handlers = { + 'GetGlobalValues': grpc.unary_unary_rpc_method_handler( + servicer.GetGlobalValues, + request_deserializer=OutsideCommunication__pb2.Empty.FromString, + response_serializer=OutsideCommunication__pb2.GlobalValues.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'OKAGG.GameValues', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + +class ServerManagmentStub(object): + """Used to manage the server + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.ManageServer = channel.unary_unary( + '/OKAGG.ServerManagment/ManageServer', + request_serializer=OutsideCommunication__pb2.Command.SerializeToString, + response_deserializer=OutsideCommunication__pb2.Empty.FromString, + ) + + +class ServerManagmentServicer(object): + """Used to manage the server + """ + + def ManageServer(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ServerManagmentServicer_to_server(servicer, server): + rpc_method_handlers = { + 'ManageServer': grpc.unary_unary_rpc_method_handler( + servicer.ManageServer, + request_deserializer=OutsideCommunication__pb2.Command.FromString, + response_serializer=OutsideCommunication__pb2.Empty.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'OKAGG.ServerManagment', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) diff --git a/PythonAi/__pycache__/CMsgBotWorldState_pb2.cpython-36.pyc b/PythonAi/__pycache__/CMsgBotWorldState_pb2.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..990f922c68440a273e9fc36ff4cbbad3f7b10985 Binary files /dev/null and b/PythonAi/__pycache__/CMsgBotWorldState_pb2.cpython-36.pyc differ diff --git a/PythonAi/__pycache__/OutsideCommunication_pb2.cpython-36.pyc b/PythonAi/__pycache__/OutsideCommunication_pb2.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..12a4567f0b02ca44e3cd6ffda1599ee6e9b2a175 Binary files /dev/null and b/PythonAi/__pycache__/OutsideCommunication_pb2.cpython-36.pyc differ diff --git a/PythonAi/__pycache__/OutsideCommunication_pb2_grpc.cpython-36.pyc b/PythonAi/__pycache__/OutsideCommunication_pb2_grpc.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c4609729a54c9b9df313d319e0de6715c5502608 Binary files /dev/null and b/PythonAi/__pycache__/OutsideCommunication_pb2_grpc.cpython-36.pyc differ diff --git a/PythonAi/__pycache__/game_state_thread.cpython-36.pyc b/PythonAi/__pycache__/game_state_thread.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ea9495bf82714e249571962a7bc9422fa0960f4f Binary files /dev/null and b/PythonAi/__pycache__/game_state_thread.cpython-36.pyc differ diff --git a/PythonAi/__pycache__/globalvar.cpython-36.pyc b/PythonAi/__pycache__/globalvar.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..27db4784a380d503887ac365fc4a6bcb7ffe7edb Binary files /dev/null and b/PythonAi/__pycache__/globalvar.cpython-36.pyc differ diff --git a/PythonAi/a2c_ppo_acktr/__init__.py b/PythonAi/a2c_ppo_acktr/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/PythonAi/a2c_ppo_acktr/__pycache__/__init__.cpython-36.pyc b/PythonAi/a2c_ppo_acktr/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3349c9e43aeaf49a88697085ac8cd0df9b389c15 Binary files /dev/null and b/PythonAi/a2c_ppo_acktr/__pycache__/__init__.cpython-36.pyc differ diff --git a/PythonAi/a2c_ppo_acktr/__pycache__/arguments.cpython-36.pyc b/PythonAi/a2c_ppo_acktr/__pycache__/arguments.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..de976ebba3ffbd788f99e4cf570acac16754523c Binary files /dev/null and b/PythonAi/a2c_ppo_acktr/__pycache__/arguments.cpython-36.pyc differ diff --git a/PythonAi/a2c_ppo_acktr/__pycache__/distributions.cpython-36.pyc b/PythonAi/a2c_ppo_acktr/__pycache__/distributions.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e08e6e09407a464ba8aff2d17ee3a35027b77d2a Binary files /dev/null and b/PythonAi/a2c_ppo_acktr/__pycache__/distributions.cpython-36.pyc differ diff --git a/PythonAi/a2c_ppo_acktr/__pycache__/envs.cpython-36.pyc b/PythonAi/a2c_ppo_acktr/__pycache__/envs.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..62a4b27dd3d9ceb7275f235af0ec50b6cbc63c1a Binary files /dev/null and b/PythonAi/a2c_ppo_acktr/__pycache__/envs.cpython-36.pyc differ diff --git a/PythonAi/a2c_ppo_acktr/__pycache__/model.cpython-36.pyc b/PythonAi/a2c_ppo_acktr/__pycache__/model.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2acda32830cf0b30996e9f63ed339671f242434a Binary files /dev/null and b/PythonAi/a2c_ppo_acktr/__pycache__/model.cpython-36.pyc differ diff --git a/PythonAi/a2c_ppo_acktr/__pycache__/storage.cpython-36.pyc b/PythonAi/a2c_ppo_acktr/__pycache__/storage.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1cf931d604af9ea16e1ccf3d604a847cf08e4277 Binary files /dev/null and b/PythonAi/a2c_ppo_acktr/__pycache__/storage.cpython-36.pyc differ diff --git a/PythonAi/a2c_ppo_acktr/__pycache__/utils.cpython-36.pyc b/PythonAi/a2c_ppo_acktr/__pycache__/utils.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..47b63ce51c16310df6194774248c111c01855a8c Binary files /dev/null and b/PythonAi/a2c_ppo_acktr/__pycache__/utils.cpython-36.pyc differ diff --git a/PythonAi/a2c_ppo_acktr/__pycache__/visualize.cpython-36.pyc b/PythonAi/a2c_ppo_acktr/__pycache__/visualize.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..65f9f8d92817f0e01846b289ddc77e6617a2cc5a Binary files /dev/null and b/PythonAi/a2c_ppo_acktr/__pycache__/visualize.cpython-36.pyc differ diff --git a/PythonAi/a2c_ppo_acktr/algo/__init__.py b/PythonAi/a2c_ppo_acktr/algo/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..3c5ec0622f10b8d1b2117e3413ebbcf43b190413 --- /dev/null +++ b/PythonAi/a2c_ppo_acktr/algo/__init__.py @@ -0,0 +1,2 @@ +from .a2c_acktr import A2C_ACKTR +from .ppo import PPO \ No newline at end of file diff --git a/PythonAi/a2c_ppo_acktr/algo/__pycache__/__init__.cpython-36.pyc b/PythonAi/a2c_ppo_acktr/algo/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3cbe16ec6ff04b079d7c0298987654da24c7ba02 Binary files /dev/null and b/PythonAi/a2c_ppo_acktr/algo/__pycache__/__init__.cpython-36.pyc differ diff --git a/PythonAi/a2c_ppo_acktr/algo/__pycache__/a2c_acktr.cpython-36.pyc b/PythonAi/a2c_ppo_acktr/algo/__pycache__/a2c_acktr.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..02da9262e6e03b07f5910af955fa21bd60a48aa1 Binary files /dev/null and b/PythonAi/a2c_ppo_acktr/algo/__pycache__/a2c_acktr.cpython-36.pyc differ diff --git a/PythonAi/a2c_ppo_acktr/algo/__pycache__/kfac.cpython-36.pyc b/PythonAi/a2c_ppo_acktr/algo/__pycache__/kfac.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..495fd6985b2866b68418738a735f4bf0eb7cf465 Binary files /dev/null and b/PythonAi/a2c_ppo_acktr/algo/__pycache__/kfac.cpython-36.pyc differ diff --git a/PythonAi/a2c_ppo_acktr/algo/__pycache__/ppo.cpython-36.pyc b/PythonAi/a2c_ppo_acktr/algo/__pycache__/ppo.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dd00f742280da211bc8f6d2063ee9ea1ce62771c Binary files /dev/null and b/PythonAi/a2c_ppo_acktr/algo/__pycache__/ppo.cpython-36.pyc differ diff --git a/PythonAi/a2c_ppo_acktr/algo/a2c_acktr.py b/PythonAi/a2c_ppo_acktr/algo/a2c_acktr.py new file mode 100644 index 0000000000000000000000000000000000000000..bb44538b2ff5c86b09d5b7d3453550b2dfcbde1e --- /dev/null +++ b/PythonAi/a2c_ppo_acktr/algo/a2c_acktr.py @@ -0,0 +1,79 @@ +import torch +import torch.nn as nn +import torch.optim as optim + +from a2c_ppo_acktr.algo.kfac import KFACOptimizer + + +class A2C_ACKTR(): + def __init__(self, + actor_critic, + value_loss_coef, + entropy_coef, + lr=None, + eps=None, + alpha=None, + max_grad_norm=None, + acktr=False): + + self.actor_critic = actor_critic + self.acktr = acktr + + self.value_loss_coef = value_loss_coef + self.entropy_coef = entropy_coef + + self.max_grad_norm = max_grad_norm + + if acktr: + self.optimizer = KFACOptimizer(actor_critic) + else: + self.optimizer = optim.RMSprop( + actor_critic.parameters(), lr, eps=eps, alpha=alpha) + + def update(self, rollouts): + obs_shape = rollouts.obs.size()[2:] + action_shape = rollouts.actions.size()[-1] + num_steps, num_processes, _ = rollouts.rewards.size() + + values, action_log_probs, dist_entropy, _ = self.actor_critic.evaluate_actions( + rollouts.obs[:-1].view(-1, *obs_shape), + rollouts.recurrent_hidden_states[0].view(-1, self.actor_critic.recurrent_hidden_state_size), + rollouts.masks[:-1].view(-1, 1), + rollouts.actions.view(-1, action_shape)) + + values = values.view(num_steps, num_processes, 1) + action_log_probs = action_log_probs.view(num_steps, num_processes, 1) + + advantages = rollouts.returns[:-1] - values + value_loss = advantages.pow(2).mean() + + action_loss = -(advantages.detach() * action_log_probs).mean() + + if self.acktr and self.optimizer.steps % self.optimizer.Ts == 0: + # Sampled fisher, see Martens 2014 + self.actor_critic.zero_grad() + pg_fisher_loss = -action_log_probs.mean() + + value_noise = torch.randn(values.size()) + if values.is_cuda: + value_noise = value_noise.cuda() + + sample_values = values + value_noise + vf_fisher_loss = -(values - sample_values.detach()).pow(2).mean() + + fisher_loss = pg_fisher_loss + vf_fisher_loss + self.optimizer.acc_stats = True + fisher_loss.backward(retain_graph=True) + self.optimizer.acc_stats = False + + self.optimizer.zero_grad() + (value_loss * self.value_loss_coef + action_loss - + dist_entropy * self.entropy_coef).backward() + + if self.acktr == False: + nn.utils.clip_grad_norm_(self.actor_critic.parameters(), + self.max_grad_norm) + + self.optimizer.step() + + return value_loss.item(), action_loss.item(), dist_entropy.item() diff --git a/PythonAi/a2c_ppo_acktr/algo/kfac.py b/PythonAi/a2c_ppo_acktr/algo/kfac.py new file mode 100644 index 0000000000000000000000000000000000000000..320b3bd3cdeda5ea789739d6a86f3f4e74dfd123 --- /dev/null +++ b/PythonAi/a2c_ppo_acktr/algo/kfac.py @@ -0,0 +1,242 @@ +import math + +import torch +import torch.nn as nn +import torch.nn.functional as F +import torch.optim as optim + +from a2c_ppo_acktr.utils import AddBias + +# TODO: In order to make this code faster: +# 1) Implement _extract_patches as a single cuda kernel +# 2) Compute QR decomposition in a separate process +# 3) Actually make a general KFAC optimizer so it fits PyTorch + + +def _extract_patches(x, kernel_size, stride, padding): + if padding[0] + padding[1] > 0: + x = F.pad(x, (padding[1], padding[1], padding[0], + padding[0])).data # Actually check dims + x = x.unfold(2, kernel_size[0], stride[0]) + x = x.unfold(3, kernel_size[1], stride[1]) + x = x.transpose_(1, 2).transpose_(2, 3).contiguous() + x = x.view( + x.size(0), x.size(1), x.size(2), + x.size(3) * x.size(4) * x.size(5)) + return x + + +def compute_cov_a(a, classname, layer_info, fast_cnn): + batch_size = a.size(0) + + if classname == 'Conv2d': + if fast_cnn: + a = _extract_patches(a, *layer_info) + a = a.view(a.size(0), -1, a.size(-1)) + a = a.mean(1) + else: + a = _extract_patches(a, *layer_info) + a = a.view(-1, a.size(-1)).div_(a.size(1)).div_(a.size(2)) + elif classname == 'AddBias': + is_cuda = a.is_cuda + a = torch.ones(a.size(0), 1) + if is_cuda: + a = a.cuda() + + return a.t() @ (a / batch_size) + + +def compute_cov_g(g, classname, layer_info, fast_cnn): + batch_size = g.size(0) + + if classname == 'Conv2d': + if fast_cnn: + g = g.view(g.size(0), g.size(1), -1) + g = g.sum(-1) + else: + g = g.transpose(1, 2).transpose(2, 3).contiguous() + g = g.view(-1, g.size(-1)).mul_(g.size(1)).mul_(g.size(2)) + elif classname == 'AddBias': + g = g.view(g.size(0), g.size(1), -1) + g = g.sum(-1) + + g_ = g * batch_size + return g_.t() @ (g_ / g.size(0)) + + +def update_running_stat(aa, m_aa, momentum): + # Do the trick to keep aa unchanged and not create any additional tensors + m_aa *= momentum / (1 - momentum) + m_aa += aa + m_aa *= (1 - momentum) + + +class SplitBias(nn.Module): + def __init__(self, module): + super(SplitBias, self).__init__() + self.module = module + self.add_bias = AddBias(module.bias.data) + self.module.bias = None + + def forward(self, input): + x = self.module(input) + x = self.add_bias(x) + return x + + +class KFACOptimizer(optim.Optimizer): + def __init__(self, + model, + lr=0.25, + momentum=0.9, + stat_decay=0.99, + kl_clip=0.001, + damping=1e-2, + weight_decay=0, + fast_cnn=False, + Ts=1, + Tf=10): + defaults = dict() + + def split_bias(module): + for mname, child in module.named_children(): + if hasattr(child, 'bias') and child.bias is not None: + module._modules[mname] = SplitBias(child) + else: + split_bias(child) + + split_bias(model) + + super(KFACOptimizer, self).__init__(model.parameters(), defaults) + + self.known_modules = {'Linear', 'Conv2d', 'AddBias'} + + self.modules = [] + self.grad_outputs = {} + + self.model = model + self._prepare_model() + + self.steps = 0 + + self.m_aa, self.m_gg = {}, {} + self.Q_a, self.Q_g = {}, {} + self.d_a, self.d_g = {}, {} + + self.momentum = momentum + self.stat_decay = stat_decay + + self.lr = lr + self.kl_clip = kl_clip + self.damping = damping + self.weight_decay = weight_decay + + self.fast_cnn = fast_cnn + + self.Ts = Ts + self.Tf = Tf + + self.optim = optim.SGD( + model.parameters(), + lr=self.lr * (1 - self.momentum), + momentum=self.momentum) + + def _save_input(self, module, input): + if torch.is_grad_enabled() and self.steps % self.Ts == 0: + classname = module.__class__.__name__ + layer_info = None + if classname == 'Conv2d': + layer_info = (module.kernel_size, module.stride, + module.padding) + + aa = compute_cov_a(input[0].data, classname, layer_info, + self.fast_cnn) + + # Initialize buffers + if self.steps == 0: + self.m_aa[module] = aa.clone() + + update_running_stat(aa, self.m_aa[module], self.stat_decay) + + def _save_grad_output(self, module, grad_input, grad_output): + # Accumulate statistics for Fisher matrices + if self.acc_stats: + classname = module.__class__.__name__ + layer_info = None + if classname == 'Conv2d': + layer_info = (module.kernel_size, module.stride, + module.padding) + + gg = compute_cov_g(grad_output[0].data, classname, layer_info, + self.fast_cnn) + + # Initialize buffers + if self.steps == 0: + self.m_gg[module] = gg.clone() + + update_running_stat(gg, self.m_gg[module], self.stat_decay) + + def _prepare_model(self): + for module in self.model.modules(): + classname = module.__class__.__name__ + if classname in self.known_modules: + assert not ((classname in ['Linear', 'Conv2d']) and module.bias is not None), \ + "You must have a bias as a separate layer" + + self.modules.append(module) + module.register_forward_pre_hook(self._save_input) + module.register_backward_hook(self._save_grad_output) + + def step(self): + # Add weight decay + if self.weight_decay > 0: + for p in self.model.parameters(): + p.grad.data.add_(self.weight_decay, p.data) + + updates = {} + for i, m in enumerate(self.modules): + assert len(list(m.parameters()) + ) == 1, "Can handle only one parameter at the moment" + classname = m.__class__.__name__ + p = next(m.parameters()) + + la = self.damping + self.weight_decay + + if self.steps % self.Tf == 0: + # My asynchronous implementation exists, I will add it later. + # Experimenting with different ways to this in PyTorch. + self.d_a[m], self.Q_a[m] = torch.symeig( + self.m_aa[m], eigenvectors=True) + self.d_g[m], self.Q_g[m] = torch.symeig( + self.m_gg[m], eigenvectors=True) + + self.d_a[m].mul_((self.d_a[m] > 1e-6).float()) + self.d_g[m].mul_((self.d_g[m] > 1e-6).float()) + + if classname == 'Conv2d': + p_grad_mat = p.grad.data.view(p.grad.data.size(0), -1) + else: + p_grad_mat = p.grad.data + + v1 = self.Q_g[m].t() @ p_grad_mat @ self.Q_a[m] + v2 = v1 / ( + self.d_g[m].unsqueeze(1) * self.d_a[m].unsqueeze(0) + la) + v = self.Q_g[m] @ v2 @ self.Q_a[m].t() + + v = v.view(p.grad.data.size()) + updates[p] = v + + vg_sum = 0 + for p in self.model.parameters(): + v = updates[p] + vg_sum += (v * p.grad.data * self.lr * self.lr).sum() + + nu = min(1, math.sqrt(self.kl_clip / vg_sum)) + + for p in self.model.parameters(): + v = updates[p] + p.grad.data.copy_(v) + p.grad.data.mul_(nu) + + self.optim.step() + self.steps += 1 diff --git a/PythonAi/a2c_ppo_acktr/algo/ppo.py b/PythonAi/a2c_ppo_acktr/algo/ppo.py new file mode 100644 index 0000000000000000000000000000000000000000..94858f0f037c1fe66ac8ffb86632514434b788c9 --- /dev/null +++ b/PythonAi/a2c_ppo_acktr/algo/ppo.py @@ -0,0 +1,93 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +import torch.optim as optim + + +class PPO(): + def __init__(self, + actor_critic, + clip_param, + ppo_epoch, + num_mini_batch, + value_loss_coef, + entropy_coef, + lr=None, + eps=None, + max_grad_norm=None, + use_clipped_value_loss=True): + + self.actor_critic = actor_critic + + self.clip_param = clip_param + self.ppo_epoch = ppo_epoch + self.num_mini_batch = num_mini_batch + + self.value_loss_coef = value_loss_coef + self.entropy_coef = entropy_coef + + self.max_grad_norm = max_grad_norm + self.use_clipped_value_loss = use_clipped_value_loss + + self.optimizer = optim.Adam(actor_critic.parameters(), lr=lr, eps=eps) + + def update(self, rollouts): + advantages = rollouts.returns[:-1] - rollouts.value_preds[:-1] + advantages = (advantages - advantages.mean()) / ( + advantages.std() + 1e-5) + + value_loss_epoch = 0 + action_loss_epoch = 0 + dist_entropy_epoch = 0 + + for e in range(self.ppo_epoch): + if self.actor_critic.is_recurrent: + data_generator = rollouts.recurrent_generator( + advantages, self.num_mini_batch) + else: + data_generator = rollouts.feed_forward_generator( + advantages, self.num_mini_batch) + + for sample in data_generator: + obs_batch, recurrent_hidden_states_batch, actions_batch, \ + value_preds_batch, return_batch, masks_batch, old_action_log_probs_batch, \ + adv_targ = sample + + # Reshape to do in a single forward pass for all steps + values, action_log_probs, dist_entropy, _ = self.actor_critic.evaluate_actions( + obs_batch, recurrent_hidden_states_batch, + masks_batch, actions_batch) + + ratio = torch.exp(action_log_probs - old_action_log_probs_batch) + surr1 = ratio * adv_targ + surr2 = torch.clamp(ratio, 1.0 - self.clip_param, + 1.0 + self.clip_param) * adv_targ + action_loss = -torch.min(surr1, surr2).mean() + + if self.use_clipped_value_loss: + value_pred_clipped = value_preds_batch + \ + (values - value_preds_batch).clamp(-self.clip_param, self.clip_param) + value_losses = (values - return_batch).pow(2) + value_losses_clipped = (value_pred_clipped - return_batch).pow(2) + value_loss = 0.5 * torch.max(value_losses, value_losses_clipped).mean() + else: + value_loss = 0.5 * (return_batch - values).pow(2).mean() + + self.optimizer.zero_grad() + (value_loss * self.value_loss_coef + action_loss - + dist_entropy * self.entropy_coef).backward() + nn.utils.clip_grad_norm_(self.actor_critic.parameters(), + self.max_grad_norm) + self.optimizer.step() + + value_loss_epoch += value_loss.item() + action_loss_epoch += action_loss.item() + dist_entropy_epoch += dist_entropy.item() + + num_updates = self.ppo_epoch * self.num_mini_batch + + value_loss_epoch /= num_updates + action_loss_epoch /= num_updates + dist_entropy_epoch /= num_updates + + return value_loss_epoch, action_loss_epoch, dist_entropy_epoch diff --git a/PythonAi/a2c_ppo_acktr/arguments.py b/PythonAi/a2c_ppo_acktr/arguments.py new file mode 100644 index 0000000000000000000000000000000000000000..81c37ee7c56730df25963bb68a70f010d6e88464 --- /dev/null +++ b/PythonAi/a2c_ppo_acktr/arguments.py @@ -0,0 +1,78 @@ +import argparse + +import torch + + +def get_args(): + parser = argparse.ArgumentParser(description='RL') + parser.add_argument('--algo', default='a2c', + help='algorithm to use: a2c | ppo | acktr') + parser.add_argument('--load-dir', default='./trained_models/',help='directory to save agent logs (default: ./trained_models/)') + parser.add_argument('--new-env', default=0,help='') + parser.add_argument('--lr', type=float, default=7e-4, + help='learning rate (default: 7e-4)') + parser.add_argument('--eps', type=float, default=1e-5, + help='RMSprop optimizer epsilon (default: 1e-5)') + parser.add_argument('--alpha', type=float, default=0.99, + help='RMSprop optimizer apha (default: 0.99)') + parser.add_argument('--gamma', type=float, default=0.99, + help='discount factor for rewards (default: 0.99)') + parser.add_argument('--use-gae', action='store_true', default=False, + help='use generalized advantage estimation') + parser.add_argument('--tau', type=float, default=0.95, + help='gae parameter (default: 0.95)') + parser.add_argument('--entropy-coef', type=float, default=0.01, + help='entropy term coefficient (default: 0.01)') + parser.add_argument('--value-loss-coef', type=float, default=0.5, + help='value loss coefficient (default: 0.5)') + parser.add_argument('--max-grad-norm', type=float, default=0.5, + help='max norm of gradients (default: 0.5)') + parser.add_argument('--seed', type=int, default=1, + help='random seed (default: 1)') + parser.add_argument('--cuda-deterministic', action='store_true', default=False, + help="sets flags for determinism when using CUDA (potentially slow!)") + parser.add_argument('--num-processes', type=int, default=16, + help='how many training CPU processes to use (default: 16)') + parser.add_argument('--num-steps', type=int, default=5, + help='number of forward steps in A2C (default: 5)') + parser.add_argument('--ppo-epoch', type=int, default=4, + help='number of ppo epochs (default: 4)') + parser.add_argument('--num-mini-batch', type=int, default=32, + help='number of batches for ppo (default: 32)') + parser.add_argument('--clip-param', type=float, default=0.2, + help='ppo clip parameter (default: 0.2)') + parser.add_argument('--log-interval', type=int, default=10, + help='log interval, one log per n updates (default: 10)') + parser.add_argument('--save-interval', type=int, default=100, + help='save interval, one save per n updates (default: 100)') + parser.add_argument('--eval-interval', type=int, default=None, + help='eval interval, one eval per n updates (default: None)') + parser.add_argument('--vis-interval', type=int, default=100, + help='vis interval, one log per n updates (default: 100)') + parser.add_argument('--num-env-steps', type=int, default=10e6, + help='number of environment steps to train (default: 10e6)') + parser.add_argument('--env-name', default='PongNoFrameskip-v4', + help='environment to train on (default: PongNoFrameskip-v4)') + parser.add_argument('--log-dir', default='/tmp/gym/', + help='directory to save agent logs (default: /tmp/gym)') + parser.add_argument('--save-dir', default='./trained_models/', + help='directory to save agent logs (default: ./trained_models/)') + parser.add_argument('--no-cuda', action='store_true', default=False, + help='disables CUDA training') + parser.add_argument('--add-timestep', action='store_true', default=False, + help='add timestep to observations') + parser.add_argument('--recurrent-policy', action='store_true', default=False, + help='use a recurrent policy') + parser.add_argument('--use-linear-lr-decay', action='store_true', default=False, + help='use a linear schedule on the learning rate') + parser.add_argument('--use-linear-clip-decay', action='store_true', default=False, + help='use a linear schedule on the ppo clipping parameter') + parser.add_argument('--vis', action='store_true', default=False, + help='enable visdom visualization') + parser.add_argument('--port', type=int, default=8097, + help='port to run the server on (default: 8097)') + args = parser.parse_args() + + args.cuda = not args.no_cuda and torch.cuda.is_available() + + return args diff --git a/PythonAi/a2c_ppo_acktr/distributions.py b/PythonAi/a2c_ppo_acktr/distributions.py new file mode 100644 index 0000000000000000000000000000000000000000..77a9c1a5115e70a6e165d4981372248a8c995845 --- /dev/null +++ b/PythonAi/a2c_ppo_acktr/distributions.py @@ -0,0 +1,103 @@ +import math + +import torch +import torch.nn as nn +import torch.nn.functional as F + +from a2c_ppo_acktr.utils import AddBias, init + +""" +Modify standard PyTorch distributions so they are compatible with this code. +""" + +# +# Standardize distribution interfaces +# + +# Categorical +FixedCategorical = torch.distributions.Categorical + +old_sample = FixedCategorical.sample +FixedCategorical.sample = lambda self: old_sample(self).unsqueeze(-1) + +log_prob_cat = FixedCategorical.log_prob +FixedCategorical.log_probs = lambda self, actions: log_prob_cat(self, actions.squeeze(-1)).view(actions.size(0), -1).sum(-1).unsqueeze(-1) + +FixedCategorical.mode = lambda self: self.probs.argmax(dim=-1, keepdim=True) + + +# Normal +FixedNormal = torch.distributions.Normal + +log_prob_normal = FixedNormal.log_prob +FixedNormal.log_probs = lambda self, actions: log_prob_normal(self, actions).sum(-1, keepdim=True) + +normal_entropy = FixedNormal.entropy +FixedNormal.entropy = lambda self: normal_entropy(self).sum(-1) + +FixedNormal.mode = lambda self: self.mean + + +# Bernoulli +FixedBernoulli = torch.distributions.Bernoulli + +log_prob_bernoulli = FixedBernoulli.log_prob +FixedBernoulli.log_probs = lambda self, actions: log_prob_bernoulli(self, actions).view(actions.size(0), -1).sum(-1).unsqueeze(-1) + +bernoulli_entropy = FixedBernoulli.entropy +FixedBernoulli.entropy = lambda self: bernoulli_entropy(self).sum(-1) +FixedBernoulli.mode = lambda self: torch.gt(self.probs, 0.5).float() + + +class Categorical(nn.Module): + def __init__(self, num_inputs, num_outputs): + super(Categorical, self).__init__() + + init_ = lambda m: init(m, + nn.init.orthogonal_, + lambda x: nn.init.constant_(x, 0), + gain=0.01) + + self.linear = init_(nn.Linear(num_inputs, num_outputs)) + + def forward(self, x): + x = self.linear(x) + return FixedCategorical(logits=x) + + +class DiagGaussian(nn.Module): + def __init__(self, num_inputs, num_outputs): + super(DiagGaussian, self).__init__() + + init_ = lambda m: init(m, + nn.init.orthogonal_, + lambda x: nn.init.constant_(x, 0)) + + self.fc_mean = init_(nn.Linear(num_inputs, num_outputs)) + self.logstd = AddBias(torch.zeros(num_outputs)) + + def forward(self, x): + action_mean = self.fc_mean(x) + + # An ugly hack for my KFAC implementation. + zeros = torch.zeros(action_mean.size()) + if x.is_cuda: + zeros = zeros.cuda() + + action_logstd = self.logstd(zeros) + return FixedNormal(action_mean, action_logstd.exp()) + + +class Bernoulli(nn.Module): + def __init__(self, num_inputs, num_outputs): + super(Bernoulli, self).__init__() + + init_ = lambda m: init(m, + nn.init.orthogonal_, + lambda x: nn.init.constant_(x, 0)) + + self.linear = init_(nn.Linear(num_inputs, num_outputs)) + + def forward(self, x): + x = self.linear(x) + return FixedBernoulli(logits=x) diff --git a/PythonAi/a2c_ppo_acktr/envs.py b/PythonAi/a2c_ppo_acktr/envs.py new file mode 100755 index 0000000000000000000000000000000000000000..e4d3dade2232b1c2ce9caccd62a68156b9759a56 --- /dev/null +++ b/PythonAi/a2c_ppo_acktr/envs.py @@ -0,0 +1,239 @@ +import os + +import gym +import numpy as np +import torch +from gym.spaces.box import Box + +from baselines import bench +from baselines.common.atari_wrappers import make_atari, wrap_deepmind +from baselines.common.vec_env import VecEnvWrapper +from baselines.common.vec_env.subproc_vec_env import SubprocVecEnv +from baselines.common.vec_env.dummy_vec_env import DummyVecEnv +from baselines.common.vec_env.vec_normalize import VecNormalize as VecNormalize_ + + +try: + import dm_control2gym +except ImportError: + pass + +try: + import roboschool +except ImportError: + pass + +try: + import pybullet_envs +except ImportError: + pass + + +def make_env(env_id, seed, rank, log_dir, add_timestep, allow_early_resets): + def _thunk(): + if env_id.startswith("dm"): + _, domain, task = env_id.split('.') + env = dm_control2gym.make(domain_name=domain, task_name=task) + else: + print("i'm here", env_id) + env = gym.make(env_id) + # env = gym.make(dota.Dota) + + is_atari = hasattr(gym.envs, 'atari') and isinstance( + env.unwrapped, gym.envs.atari.atari_env.AtariEnv) + if is_atari: + env = make_atari(env_id) + + env.seed(seed + rank) + + obs_shape = env.observation_space.shape + + if add_timestep and len( + obs_shape) == 1 and str(env).find('TimeLimit') > -1: + env = AddTimestep(env) + + if log_dir is not None: + env = bench.Monitor(env, os.path.join(log_dir, str(rank)), + allow_early_resets=allow_early_resets) + + if is_atari: + if len(env.observation_space.shape) == 3: + env = wrap_deepmind(env) + elif len(env.observation_space.shape) == 3: + raise NotImplementedError("CNN models work only for atari,\n" + "please use a custom wrapper for a custom pixel input env.\n" + "See wrap_deepmind for an example.") + + # If the input has shape (W,H,3), wrap for PyTorch convolutions + obs_shape = env.observation_space.shape + if len(obs_shape) == 3 and obs_shape[4] in [1, 3]: + env = TransposeImage(env, op=[2, 0, 1]) + + return env + + return _thunk + +def make_vec_envs(env_name, seed, num_processes, gamma, log_dir, add_timestep, + device, allow_early_resets, num_frame_stack=None): + envs = [make_env(env_name, seed, i, log_dir, add_timestep, allow_early_resets) + for i in range(num_processes)] + + if len(envs) > 1: + envs = SubprocVecEnv(envs) + else: + envs = DummyVecEnv(envs) + + if len(envs.observation_space.shape) == 1: + if gamma is None: + envs = VecNormalize(envs, ret=False) + else: + envs = VecNormalize(envs, gamma=gamma) + + envs = VecPyTorch(envs, device) + + if num_frame_stack is not None: + envs = VecPyTorchFrameStack(envs, num_frame_stack, device) + elif len(envs.observation_space.shape) == 3: + envs = VecPyTorchFrameStack(envs, 4, device) + + return envs + + +# Can be used to test recurrent policies for Reacher-v2 +class MaskGoal(gym.ObservationWrapper): + def observation(self, observation): + if self.env._elapsed_steps > 0: + observation[-2:0] = 0 + return observation + + +class AddTimestep(gym.ObservationWrapper): + def __init__(self, env=None): + super(AddTimestep, self).__init__(env) + self.observation_space = Box( + self.observation_space.low[0], + self.observation_space.high[0], + [self.observation_space.shape[0] + 1], + dtype=self.observation_space.dtype) + + def observation(self, observation): + return np.concatenate((observation, [self.env._elapsed_steps])) + + +class TransposeObs(gym.ObservationWrapper): + def __init__(self, env=None): + """ + Transpose observation space (base class) + """ + super(TransposeObs, self).__init__(env) + + +class TransposeImage(TransposeObs): + def __init__(self, env=None, op=[2, 0, 1]): + """ + Transpose observation space for images + """ + super(TransposeImage, self).__init__(env) + # assert len(op) == 3, f"Error: Operation, {str(op)}, must be dim3" + self.op = op + obs_shape = self.observation_space.shape + self.observation_space = Box( + self.observation_space.low[0, 0, 0], + self.observation_space.high[0, 0, 0], + [ + obs_shape[self.op[0]], + obs_shape[self.op[1]], + obs_shape[self.op[2]]], + dtype=self.observation_space.dtype) + + def observation(self, ob): + return ob.transpose(self.op[0], self.op[1], self.op[2]) + + +class VecPyTorch(VecEnvWrapper): + def __init__(self, venv, device): + """Return only every `skip`-th frame""" + super(VecPyTorch, self).__init__(venv) + self.device = device + # TODO: Fix data types + + def reset(self): + obs = self.venv.reset() + obs = torch.from_numpy(obs).float().to(self.device) + return obs + + def step_async(self, actions): + actions = actions.squeeze(1).cpu().numpy() + self.venv.step_async(actions) + + def step_wait(self): + obs, reward, done, info = self.venv.step_wait() + obs = torch.from_numpy(obs).float().to(self.device) + reward = torch.from_numpy(reward).unsqueeze(dim=1).float() + return obs, reward, done, info + + +class VecNormalize(VecNormalize_): + + def __init__(self, *args, **kwargs): + super(VecNormalize, self).__init__(*args, **kwargs) + self.training = True + + def _obfilt(self, obs): + if self.ob_rms: + if self.training: + self.ob_rms.update(obs) + obs = np.clip((obs - self.ob_rms.mean) / np.sqrt(self.ob_rms.var + self.epsilon), -self.clipob, self.clipob) + return obs + else: + return obs + + def train(self): + self.training = True + + def eval(self): + self.training = False + + +# Derived from +# https://github.com/openai/baselines/blob/master/baselines/common/vec_env/vec_frame_stack.py +class VecPyTorchFrameStack(VecEnvWrapper): + def __init__(self, venv, nstack, device=None): + self.venv = venv + self.nstack = nstack + + wos = venv.observation_space # wrapped ob space + self.shape_dim0 = wos.shape[0] + + low = np.repeat(wos.low, self.nstack, axis=0) + high = np.repeat(wos.high, self.nstack, axis=0) + + if device is None: + device = torch.device('cpu') + self.stacked_obs = torch.zeros((venv.num_envs,) + low.shape).to(device) + + observation_space = gym.spaces.Box( + low=low, high=high, dtype=venv.observation_space.dtype) + VecEnvWrapper.__init__(self, venv, observation_space=observation_space) + + def step_wait(self): + obs, rews, news, infos = self.venv.step_wait() + self.stacked_obs[:, :-self.shape_dim0] = \ + self.stacked_obs[:, self.shape_dim0:] + for (i, new) in enumerate(news): + if new: + self.stacked_obs[i] = 0 + self.stacked_obs[:, -self.shape_dim0:] = obs + return self.stacked_obs, rews, news, infos + + def reset(self): + obs = self.venv.reset() + if torch.backends.cudnn.deterministic: + self.stacked_obs = torch.zeros(self.stacked_obs.shape) + else: + self.stacked_obs.zero_() + self.stacked_obs[:, -self.shape_dim0:] = obs + return self.stacked_obs + + def close(self): + self.venv.close() diff --git a/PythonAi/a2c_ppo_acktr/model.py b/PythonAi/a2c_ppo_acktr/model.py new file mode 100755 index 0000000000000000000000000000000000000000..388764c195ba206999cfa56d9b2dd06d52ab715b --- /dev/null +++ b/PythonAi/a2c_ppo_acktr/model.py @@ -0,0 +1,597 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +import numpy as np + +from a2c_ppo_acktr.distributions import Categorical, DiagGaussian, Bernoulli +from a2c_ppo_acktr.utils import init + + +class Flatten(nn.Module): + def forward(self, x): + return x.view(x.size(0), -1) + + +class Policy(nn.Module): + def __init__(self, obs_shape, action_space, base=None, base_kwargs=None): + super(Policy, self).__init__() + if base_kwargs is None: + base_kwargs = {} + if base is None: + if len(obs_shape) == 3: + base = CNNBase + elif len(obs_shape) == 1: + base = MLPBase + else: + raise NotImplementedError + + self.base = base(obs_shape[0], **base_kwargs) + + if action_space.__class__.__name__ == "Discrete": + num_outputs = action_space.n + self.dist = Categorical(self.base.output_size, num_outputs) + elif action_space.__class__.__name__ == "Box": + num_outputs = action_space.shape[0] + self.dist = DiagGaussian(self.base.output_size, num_outputs) + elif action_space.__class__.__name__ == "MultiBinary": + num_outputs = action_space.shape[0] + self.dist = Bernoulli(self.base.output_size, num_outputs) + else: + raise NotImplementedError + + @property + def is_recurrent(self): + return self.base.is_recurrent + + @property + def recurrent_hidden_state_size(self): + """Size of rnn_hx.""" + return self.base.recurrent_hidden_state_size + + def forward(self, inputs, rnn_hxs, masks): + raise NotImplementedError + + def act(self, inputs, rnn_hxs, masks, deterministic=False): + value, actor_features, rnn_hxs = self.base(inputs, rnn_hxs, masks) + + dist = self.dist(actor_features) + + if deterministic: + action = dist.mode() + else: + action = dist.sample() + + action_log_probs = dist.log_probs(action) + dist_entropy = dist.entropy().mean() + + return value, action, action_log_probs, rnn_hxs + + def get_value(self, inputs, rnn_hxs, masks): + value, _, _ = self.base(inputs, rnn_hxs, masks) + return value + + def evaluate_actions(self, inputs, rnn_hxs, masks, action): + value, actor_features, rnn_hxs = self.base(inputs, rnn_hxs, masks) + dist = self.dist(actor_features) + + action_log_probs = dist.log_probs(action) + dist_entropy = dist.entropy().mean() + + return value, action_log_probs, dist_entropy, rnn_hxs + + +class NNBase(nn.Module): + + def __init__(self, recurrent, recurrent_input_size, hidden_size): + super(NNBase, self).__init__() + + self._hidden_size = hidden_size + self._recurrent = recurrent + + if recurrent: + self.gru = nn.GRU(recurrent_input_size, hidden_size) + for name, param in self.gru.named_parameters(): + if 'bias' in name: + nn.init.constant_(param, 0) + elif 'weight' in name: + nn.init.orthogonal_(param) + + @property + def is_recurrent(self): + return self._recurrent + + @property + def recurrent_hidden_state_size(self): + if self._recurrent: + return self._hidden_size + return 1 + + @property + def output_size(self): + return self._hidden_size + + def _forward_gru(self, x, hxs, masks): + if x.size(0) == hxs.size(0): + x, hxs = self.gru(x.unsqueeze(0), (hxs * masks).unsqueeze(0)) + x = x.squeeze(0) + hxs = hxs.squeeze(0) + else: + # x is a (T, N, -1) tensor that has been flatten to (T * N, -1) + N = hxs.size(0) + T = int(x.size(0) / N) + + # unflatten + x = x.view(T, N, x.size(1)) + + # Same deal with masks + masks = masks.view(T, N) + + # Let's figure out which steps in the sequence have a zero for any agent + # We will always assume t=0 has a zero in it as that makes the logic cleaner + has_zeros = ((masks[1:] == 0.0) \ + .any(dim=-1) + .nonzero() + .squeeze() + .cpu()) + + + # +1 to correct the masks[1:] + if has_zeros.dim() == 0: + # Deal with scalar + has_zeros = [has_zeros.item() + 1] + else: + has_zeros = (has_zeros + 1).numpy().tolist() + + # add t=0 and t=T to the list + has_zeros = [0] + has_zeros + [T] + + + hxs = hxs.unsqueeze(0) + outputs = [] + for i in range(len(has_zeros) - 1): + # We can now process steps that don't have any zeros in masks together! + # This is much faster + start_idx = has_zeros[i] + end_idx = has_zeros[i + 1] + + rnn_scores, hxs = self.gru( + x[start_idx:end_idx], + hxs * masks[start_idx].view(1, -1, 1) + ) + + outputs.append(rnn_scores) + + # assert len(outputs) == T + # x is a (T, N, -1) tensor + x = torch.cat(outputs, dim=0) + # flatten + x = x.view(T * N, -1) + hxs = hxs.squeeze(0) + + return x, hxs + + +class CNNBase(NNBase): + def __init__(self, num_inputs, recurrent=False, hidden_size=512): + super(CNNBase, self).__init__(recurrent, hidden_size, hidden_size) + + init_ = lambda m: init(m, + nn.init.orthogonal_, + lambda x: nn.init.constant_(x, 0), + nn.init.calculate_gain('relu')) + + self.main = nn.Sequential( + init_(nn.Conv2d(num_inputs, 32, 8, stride=4)), + nn.ReLU(), + init_(nn.Conv2d(32, 64, 4, stride=2)), + nn.ReLU(), + init_(nn.Conv2d(64, 32, 3, stride=1)), + nn.ReLU(), + Flatten(), + init_(nn.Linear(32 * 7 * 7, hidden_size)), + nn.ReLU() + ) + + init_ = lambda m: init(m, + nn.init.orthogonal_, + lambda x: nn.init.constant_(x, 0)) + + self.critic_linear = init_(nn.Linear(hidden_size, 1)) + + self.train() + + def forward(self, inputs, rnn_hxs, masks): + x = self.main(inputs / 255.0) + + if self.is_recurrent: + x, rnn_hxs = self._forward_gru(x, rnn_hxs, masks) + + return self.critic_linear(x), x, rnn_hxs + + +class MLPBase(NNBase): + def __init__(self, num_inputs, recurrent=False, hidden_size=64): + super(MLPBase, self).__init__(recurrent, num_inputs, hidden_size) + + if recurrent: + num_inputs = hidden_size + + init_ = lambda m: init(m, + nn.init.orthogonal_, + lambda x: nn.init.constant_(x, 0), + np.sqrt(2)) + + self.actor = nn.Sequential( + init_(nn.Linear(num_inputs, hidden_size)), + nn.Tanh(), + init_(nn.Linear(hidden_size, hidden_size)), + nn.Tanh() + ) + + self.critic = nn.Sequential( + init_(nn.Linear(num_inputs, hidden_size)), + nn.Tanh(), + init_(nn.Linear(hidden_size, hidden_size)), + nn.Tanh() + ) + + self.critic_linear = init_(nn.Linear(hidden_size, 1)) + + self.train() + + def forward(self, inputs, rnn_hxs, masks): + x = inputs + + if self.is_recurrent: + x, rnn_hxs = self._forward_gru(x, rnn_hxs, masks) + + hidden_critic = self.critic(x) + hidden_actor = self.actor(x) + + return self.critic_linear(hidden_critic), hidden_actor, rnn_hxs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +#"J'ai 605 lignes de code, et toc" \ No newline at end of file diff --git a/PythonAi/a2c_ppo_acktr/storage.py b/PythonAi/a2c_ppo_acktr/storage.py new file mode 100644 index 0000000000000000000000000000000000000000..e556430a0aedbd7c31643cc72a438d1695d70427 --- /dev/null +++ b/PythonAi/a2c_ppo_acktr/storage.py @@ -0,0 +1,147 @@ +import torch +from torch.utils.data.sampler import BatchSampler, SubsetRandomSampler + + +def _flatten_helper(T, N, _tensor): + return _tensor.view(T * N, *_tensor.size()[2:]) + + +class RolloutStorage(object): + def __init__(self, num_steps, num_processes, obs_shape, action_space, recurrent_hidden_state_size): + self.obs = torch.zeros(num_steps + 1, num_processes, *obs_shape) + self.recurrent_hidden_states = torch.zeros(num_steps + 1, num_processes, recurrent_hidden_state_size) + self.rewards = torch.zeros(num_steps, num_processes, 1) + self.value_preds = torch.zeros(num_steps + 1, num_processes, 1) + self.returns = torch.zeros(num_steps + 1, num_processes, 1) + self.action_log_probs = torch.zeros(num_steps, num_processes, 1) + if action_space.__class__.__name__ == 'Discrete': + action_shape = 1 + else: + action_shape = action_space.shape[0] + self.actions = torch.zeros(num_steps, num_processes, action_shape) + if action_space.__class__.__name__ == 'Discrete': + self.actions = self.actions.long() + self.masks = torch.ones(num_steps + 1, num_processes, 1) + + self.num_steps = num_steps + self.step = 0 + + def to(self, device): + self.obs = self.obs.to(device) + self.recurrent_hidden_states = self.recurrent_hidden_states.to(device) + self.rewards = self.rewards.to(device) + self.value_preds = self.value_preds.to(device) + self.returns = self.returns.to(device) + self.action_log_probs = self.action_log_probs.to(device) + self.actions = self.actions.to(device) + self.masks = self.masks.to(device) + + def insert(self, obs, recurrent_hidden_states, actions, action_log_probs, value_preds, rewards, masks): + self.obs[self.step + 1].copy_(obs) + self.recurrent_hidden_states[self.step + 1].copy_(recurrent_hidden_states) + self.actions[self.step].copy_(actions) + self.action_log_probs[self.step].copy_(action_log_probs) + self.value_preds[self.step].copy_(value_preds) + self.rewards[self.step].copy_(rewards) + self.masks[self.step + 1].copy_(masks) + + self.step = (self.step + 1) % self.num_steps + + def after_update(self): + self.obs[0].copy_(self.obs[-1]) + self.recurrent_hidden_states[0].copy_(self.recurrent_hidden_states[-1]) + self.masks[0].copy_(self.masks[-1]) + + def compute_returns(self, next_value, use_gae, gamma, tau): + if use_gae: + self.value_preds[-1] = next_value + gae = 0 + for step in reversed(range(self.rewards.size(0))): + delta = self.rewards[step] + gamma * self.value_preds[step + 1] * self.masks[step + 1] - self.value_preds[step] + gae = delta + gamma * tau * self.masks[step + 1] * gae + self.returns[step] = gae + self.value_preds[step] + else: + self.returns[-1] = next_value + for step in reversed(range(self.rewards.size(0))): + self.returns[step] = self.returns[step + 1] * \ + gamma * self.masks[step + 1] + self.rewards[step] + + + def feed_forward_generator(self, advantages, num_mini_batch): + num_steps, num_processes = self.rewards.size()[0:2] + batch_size = num_processes * num_steps + assert batch_size >= num_mini_batch, ( + "PPO requires the number of processes ({}) " + "* number of steps ({}) = {} " + "to be greater than or equal to the number of PPO mini batches ({})." + "".format(num_processes, num_steps, num_processes * num_steps, num_mini_batch)) + mini_batch_size = batch_size // num_mini_batch + sampler = BatchSampler(SubsetRandomSampler(range(batch_size)), mini_batch_size, drop_last=False) + for indices in sampler: + obs_batch = self.obs[:-1].view(-1, *self.obs.size()[2:])[indices] + recurrent_hidden_states_batch = self.recurrent_hidden_states[:-1].view(-1, + self.recurrent_hidden_states.size(-1))[indices] + actions_batch = self.actions.view(-1, self.actions.size(-1))[indices] + value_preds_batch = self.value_preds[:-1].view(-1, 1)[indices] + return_batch = self.returns[:-1].view(-1, 1)[indices] + masks_batch = self.masks[:-1].view(-1, 1)[indices] + old_action_log_probs_batch = self.action_log_probs.view(-1, 1)[indices] + adv_targ = advantages.view(-1, 1)[indices] + + yield obs_batch, recurrent_hidden_states_batch, actions_batch, \ + value_preds_batch, return_batch, masks_batch, old_action_log_probs_batch, adv_targ + + def recurrent_generator(self, advantages, num_mini_batch): + num_processes = self.rewards.size(1) + assert num_processes >= num_mini_batch, ( + "PPO requires the number of processes ({}) " + "to be greater than or equal to the number of " + "PPO mini batches ({}).".format(num_processes, num_mini_batch)) + num_envs_per_batch = num_processes // num_mini_batch + perm = torch.randperm(num_processes) + for start_ind in range(0, num_processes, num_envs_per_batch): + obs_batch = [] + recurrent_hidden_states_batch = [] + actions_batch = [] + value_preds_batch = [] + return_batch = [] + masks_batch = [] + old_action_log_probs_batch = [] + adv_targ = [] + + for offset in range(num_envs_per_batch): + ind = perm[start_ind + offset] + obs_batch.append(self.obs[:-1, ind]) + recurrent_hidden_states_batch.append(self.recurrent_hidden_states[0:1, ind]) + actions_batch.append(self.actions[:, ind]) + value_preds_batch.append(self.value_preds[:-1, ind]) + return_batch.append(self.returns[:-1, ind]) + masks_batch.append(self.masks[:-1, ind]) + old_action_log_probs_batch.append(self.action_log_probs[:, ind]) + adv_targ.append(advantages[:, ind]) + + T, N = self.num_steps, num_envs_per_batch + # These are all tensors of size (T, N, -1) + obs_batch = torch.stack(obs_batch, 1) + actions_batch = torch.stack(actions_batch, 1) + value_preds_batch = torch.stack(value_preds_batch, 1) + return_batch = torch.stack(return_batch, 1) + masks_batch = torch.stack(masks_batch, 1) + old_action_log_probs_batch = torch.stack(old_action_log_probs_batch, 1) + adv_targ = torch.stack(adv_targ, 1) + + # States is just a (N, -1) tensor + recurrent_hidden_states_batch = torch.stack(recurrent_hidden_states_batch, 1).view(N, -1) + + # Flatten the (T, N, ...) tensors to (T * N, ...) + obs_batch = _flatten_helper(T, N, obs_batch) + actions_batch = _flatten_helper(T, N, actions_batch) + value_preds_batch = _flatten_helper(T, N, value_preds_batch) + return_batch = _flatten_helper(T, N, return_batch) + masks_batch = _flatten_helper(T, N, masks_batch) + old_action_log_probs_batch = _flatten_helper(T, N, \ + old_action_log_probs_batch) + adv_targ = _flatten_helper(T, N, adv_targ) + + yield obs_batch, recurrent_hidden_states_batch, actions_batch, \ + value_preds_batch, return_batch, masks_batch, old_action_log_probs_batch, adv_targ diff --git a/PythonAi/a2c_ppo_acktr/utils.py b/PythonAi/a2c_ppo_acktr/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..3eccf7475a2d7858afe1ad697a4dc46547383def --- /dev/null +++ b/PythonAi/a2c_ppo_acktr/utils.py @@ -0,0 +1,51 @@ +import torch +import torch.nn as nn + +from a2c_ppo_acktr.envs import VecNormalize + + +# Get a render function +def get_render_func(venv): + if hasattr(venv, 'envs'): + return venv.envs[0].render + elif hasattr(venv, 'venv'): + return get_render_func(venv.venv) + elif hasattr(venv, 'env'): + return get_render_func(venv.env) + + return None + + +def get_vec_normalize(venv): + if isinstance(venv, VecNormalize): + return venv + elif hasattr(venv, 'venv'): + return get_vec_normalize(venv.venv) + + return None + + +# Necessary for my KFAC implementation. +class AddBias(nn.Module): + def __init__(self, bias): + super(AddBias, self).__init__() + self._bias = nn.Parameter(bias.unsqueeze(1)) + + def forward(self, x): + if x.dim() == 2: + bias = self._bias.t().view(1, -1) + else: + bias = self._bias.t().view(1, -1, 1, 1) + + return x + bias + +def update_linear_schedule(optimizer, epoch, total_num_epochs, initial_lr): + """Decreases the learning rate linearly""" + lr = initial_lr - (initial_lr * (epoch / float(total_num_epochs))) + for param_group in optimizer.param_groups: + param_group['lr'] = lr + +def init(module, weight_init, bias_init, gain=1): + weight_init(module.weight.data, gain=gain) + bias_init(module.bias.data) + return module diff --git a/PythonAi/a2c_ppo_acktr/visualize.py b/PythonAi/a2c_ppo_acktr/visualize.py new file mode 100644 index 0000000000000000000000000000000000000000..7b3d696bfbb9b5605eaa2b1ccd3e985b76feb117 --- /dev/null +++ b/PythonAi/a2c_ppo_acktr/visualize.py @@ -0,0 +1,138 @@ +# Copied from https://github.com/emansim/baselines-mansimov/blob/master/baselines/a2c/visualize_atari.py +# and https://github.com/emansim/baselines-mansimov/blob/master/baselines/a2c/load.py +# Thanks to the author and OpenAI team! + +import glob +import json +import os + +import matplotlib +matplotlib.use('Agg') +import matplotlib.pyplot as plt +plt.switch_backend('agg') +import numpy as np +from scipy.signal import medfilt +matplotlib.rcParams.update({'font.size': 8}) + + +def smooth_reward_curve(x, y): + # Halfwidth of our smoothing convolution + halfwidth = min(31, int(np.ceil(len(x) / 30))) + k = halfwidth + xsmoo = x[k:-k] + ysmoo = np.convolve(y, np.ones(2 * k + 1), mode='valid') / \ + np.convolve(np.ones_like(y), np.ones(2 * k + 1), mode='valid') + downsample = max(int(np.floor(len(xsmoo) / 1e3)), 1) + return xsmoo[::downsample], ysmoo[::downsample] + + +def fix_point(x, y, interval): + np.insert(x, 0, 0) + np.insert(y, 0, 0) + + fx, fy = [], [] + pointer = 0 + + ninterval = int(max(x) / interval + 1) + + for i in range(ninterval): + tmpx = interval * i + + while pointer + 1 < len(x) and tmpx > x[pointer + 1]: + pointer += 1 + + if pointer + 1 < len(x): + alpha = (y[pointer + 1] - y[pointer]) / \ + (x[pointer + 1] - x[pointer]) + tmpy = y[pointer] + alpha * (tmpx - x[pointer]) + fx.append(tmpx) + fy.append(tmpy) + + return fx, fy + + +def load_data(indir, smooth, bin_size): + datas = [] + infiles = glob.glob(os.path.join(indir, '*.monitor.csv')) + + for inf in infiles: + with open(inf, 'r') as f: + f.readline() + f.readline() + for line in f: + tmp = line.split(',') + t_time = float(tmp[2]) + tmp = [t_time, int(tmp[1]), float(tmp[0])] + datas.append(tmp) + + datas = sorted(datas, key=lambda d_entry: d_entry[0]) + result = [] + timesteps = 0 + for i in range(len(datas)): + result.append([timesteps, datas[i][-1]]) + timesteps += datas[i][1] + + if len(result) < bin_size: + return [None, None] + + x, y = np.array(result)[:, 0], np.array(result)[:, 1] + + if smooth == 1: + x, y = smooth_reward_curve(x, y) + + if smooth == 2: + y = medfilt(y, kernel_size=9) + + x, y = fix_point(x, y, bin_size) + return [x, y] + + +color_defaults = [ + '#1f77b4', # muted blue + '#ff7f0e', # safety orange + '#2ca02c', # cooked asparagus green + '#d62728', # brick red + '#9467bd', # muted purple + '#8c564b', # chestnut brown + '#e377c2', # raspberry yogurt pink + '#7f7f7f', # middle gray + '#bcbd22', # curry yellow-green + '#17becf' # blue-teal +] + + +def visdom_plot(viz, win, folder, game, name, num_steps, bin_size=100, smooth=1): + tx, ty = load_data(folder, smooth, bin_size) + if tx is None or ty is None: + return win + + fig = plt.figure() + plt.plot(tx, ty, label="{}".format(name)) + + tick_fractions = np.array([0.1, 0.2, 0.4, 0.6, 0.8, 1.0]) + ticks = tick_fractions * num_steps + tick_names = ["{:.0e}".format(tick) for tick in ticks] + plt.xticks(ticks, tick_names) + plt.xlim(0, num_steps * 1.01) + + plt.xlabel('Number of Timesteps') + plt.ylabel('Rewards') + + plt.title(game) + plt.legend(loc=4) + plt.show() + plt.draw() + + image = np.fromstring(fig.canvas.tostring_rgb(), dtype=np.uint8, sep='') + image = image.reshape(fig.canvas.get_width_height()[::-1] + (3, )) + plt.close(fig) + + # Show it in visdom + image = np.transpose(image, (2, 0, 1)) + return viz.image(image, win=win) + + +if __name__ == "__main__": + from visdom import Visdom + viz = Visdom() + visdom_plot(viz, None, '/tmp/gym/', 'BreakOut', 'a2c', bin_size=100, smooth=1) diff --git a/PythonAi/baselines b/PythonAi/baselines new file mode 160000 index 0000000000000000000000000000000000000000..ba2b01782034bcbdb73a2e744cff4cb1c99ab612 --- /dev/null +++ b/PythonAi/baselines @@ -0,0 +1 @@ +Subproject commit ba2b01782034bcbdb73a2e744cff4cb1c99ab612 diff --git a/PythonAi/continuous_dota.py b/PythonAi/continuous_dota.py new file mode 100644 index 0000000000000000000000000000000000000000..9b3a8fd515be51849b5ca4aa98651ed803a7b279 --- /dev/null +++ b/PythonAi/continuous_dota.py @@ -0,0 +1,176 @@ +# -*- coding: utf-8 -*- + +######## +# Code made by : Osvaldo Pinto de Oliveira and Alexandre Vanini +# Highly inspired by Ikostrikov : +# https://github.com/ikostrikov/pytorch-a2c-ppo-acktr-gail +# Purpose : AI for DOTA 2 which has to earn as much gold has it can. +######## + +''' +New - + +python3 main.py --env-name "Dota-v0" --algo ppo --use-gae --vis-interval 1 --log-interval 1 --num-steps 32 --num-processes 1 --lr 3e-4 --entropy-coef 0 --value-loss-coef 0.5 --ppo-epoch 10 --num-mini-batch 32 --gamma 0.99 --tau 0.95 --num-env-steps 1500 --use-linear-lr-decay --new-env 1 + +Const - + +python3 main.py --env-name "Dota-v0" --algo ppo --use-gae --vis-interval 1 --log-interval 1 --num-steps 32 --num-processes 1 --lr 3e-4 --entropy-coef 0 --value-loss-coef 0.5 --ppo-epoch 10 --num-mini-batch 32 --gamma 0.99 --tau 0.95 --num-env-steps 1500 --use-linear-lr-decay --new-env 0 --load-dir trained_models/ppo/ + + +#if num-steps = 32 proc = 1 num-env-steps = 100 -> 0 a 3 * 31 times (100 // 32 // 1) +''' + +import math,random + +import numpy as np + +import globalvar +import json +import time + +import gym +from gym import spaces +from gym.utils import seeding + +class Continuous_DotaEnv(gym.Env): + metadata = { + 'render.modes': ['human', 'rgb_array'], + 'video.frames_per_second': 30 + } + + def __init__(self): + + #Dota 2 field bounds + self.min_x = -8223 + self.max_y = 8223 + + self.min_y = -8223 + self.max_x = 8223 + + #Arbitrary defined max gold (but 0 is the min) + self.min_gold = 0 + self.max_gold = 10000 + + #Arbitrary defined max life (but 0 is the min) + self.min_life = 0 + self.max_life = 10000 + + #Arbitrary defined max deaths (but 0 is the min) + self.min_deaths = 0 + self.max_deaths = 100 + + #game done set as false if not done, true if done + self.min_game_state = False + self.max_game_state = True + + #Defining numpy arrays for the lowest and the highest environnement set + self.low_env = np.array([self.min_game_state,self.min_gold,self.min_life,self.min_deaths,self.min_x,self.min_y]) + self.high_env = np.array([self.max_game_state,self.max_gold,self.max_life,self.max_deaths,self.max_x,self.max_y]) + + #Creating the observation box, which is made of lowest and highest env + self.observation_space = spaces.Box(low=self.low_env, high=self.high_env,dtype=np.float32) + + #we will define actions as a click of the mouse, in a [-1,1] E x,y range + self.min_action = -1.0 + self.max_action = 1.0 + + self.low_action = np.array([self.min_action,self.min_action]) + self.high_action = np.array([self.max_action,self.max_action]) + + self.action_space = spaces.Box(low=self.low_action, high=self.high_action,dtype=np.float32) + + #Set the first env + self.reset() + + # Send action to communication protocol. + def _dota_do_action(self,action): + + #Bind the x and y to high of low position + x = min(max(action[0], self.min_action),self.max_action) + y = min(max(action[1], self.min_action), self.max_action) + + #Get the current position of the bot + current_x = globalvar.get_values()['loc']['x'] + current_y = globalvar.get_values()['loc']['y'] + current_z = globalvar.get_values()['loc']['z'] + + #Json object to be send to the communication protocol + action_value = { + "action": "moveToLocation", + "params": { + "x": current_x + (x*200), + "y": current_y + (y*200), + "z": current_z + } + } + + action_value = json.dumps(action_value) + + globalvar.action_queue.put(action_value) + + #### WARNING #### + ## -> Active wait, should be replaced with mutex mecanism (in both this part and M. Zaffino's part) + time.sleep(0.5) + pass + + #Get the current env of the bot + def _dota_get_state(self): + + #Get the current env of the bot from communication protocol + values = globalvar.get_values() + gold = values['gold'] + life = values['health'] + death = values['death'] + x = values['loc']['x'] + y = values['loc']['x'] + + state = np.array([False,gold,life,death,x,y]) + + ## Print current state for debug purpose + print("############### STATE ##################") + print(state) + print("########################################") + return np.array(state) + + #Makes a step in learn iteration + def step(self, action): + + self._dota_do_action(action) + new_state = self._dota_get_state() + + reward = 0 + done = False + + ####### + # + # If the bot doesn't move, he looses reward to make him understand that staying in the same spot is not game valuable + # + ###### + reward_location_x = new_state[4] - self.state[4] + reward_location_y = new_state[5] - self.state[5] + + reward_location = 0 + if reward_location_x + reward_location_y == 0: + reward_location = 50 + + #(500 * (new_state[3] - self.state[3])) 500 * deaths (bad reward) + reward_death = (500 * (new_state[3] - self.state[3])) + reward_gold = new_state[1] - self.state[1] + + #(new_state[2] - self.state[2]) => makes the bot loose reward if he takes damage + reward_life = (new_state[2] - self.state[2]) + + # new_/self.state[1] contains money information (for a start) + reward = reward_gold - reward_death - reward_life - reward_location + + #the actual state becomes the "new one", since we wont do more checks on this one + self.state = new_state + print("############### REWARD ##################") + print(reward) + print("########################################") + + return self.state, reward, done, {} + + def reset(self): + self.state = np.array([False, 600,700,0,0,0]) + return np.array(self.state) diff --git a/PythonAi/game_state_thread.py b/PythonAi/game_state_thread.py new file mode 100644 index 0000000000000000000000000000000000000000..b5f8988ab8fbd1f5435d47cbda4f3d81ead149f5 --- /dev/null +++ b/PythonAi/game_state_thread.py @@ -0,0 +1,48 @@ +from threading import Thread +import globalvar +import socket +from struct import * +import time + + +class GameStateThread(Thread): + def __init__(self): + Thread.__init__(self) + + def run(self): + HOST = '127.0.0.1' + PORT = 10012 + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: + s.connect((HOST, PORT)) + + while 1: + try: + i = 0 + while i < 1: + binSize = s.recv(4) + # print(binSize) + + if binSize: + protoSize = unpack("<I", binSize) + # print("protoSize: %d" % (protoSize[0])) + + binData = s.recv(protoSize[0]) + i += 1 + + # print("k") + #self.lock.acquire() + + try: + globalvar.game_state.ParseFromString(binData) + #self.lock.release() + # print("parse") + #print(globalvar.get_ai_values(1)) + #globalvar.tmp_cpt += 1 + + except Exception as e: + #self.lock.release() + pass + + except Exception as e: + # print(e) + pass diff --git a/PythonAi/globalvar.py b/PythonAi/globalvar.py new file mode 100644 index 0000000000000000000000000000000000000000..69fdce0abbbaa316961b5991c8511cd4ec1b4b0c --- /dev/null +++ b/PythonAi/globalvar.py @@ -0,0 +1,41 @@ +import grpc +import OutsideCommunication_pb2_grpc +import OutsideCommunication_pb2 + +game_state = None +tmp_cpt = 0 + + +def get_ai_values(bot_id): + v = None + while v is None: + try: + for i in range(len(game_state.units)): + if game_state.units[i].unit_type == 1: + un = game_state.units[i + bot_id] + v = un.location.x, \ + un.location.y, \ + un.location.z, \ + un.reliable_gold, \ + un.health, \ + game_state.players[bot_id].deaths + except Exception as e: + pass + + return v + + +channel = grpc.insecure_channel('{}:{}'.format("127.0.0.1", 6000)) +stub = OutsideCommunication_pb2_grpc.GameInstructionsStub(channel) + + +def move_bot(bot_id, x, y, z): + + v = OutsideCommunication_pb2.Vector(x=x, + y=y, + z=z) + + command = OutsideCommunication_pb2.Command(BotId=bot_id, + CommandId=1, + vectVal=v) + response = stub.HandleInstructions(command) diff --git a/PythonAi/main.py b/PythonAi/main.py new file mode 100755 index 0000000000000000000000000000000000000000..89d1423f24dde5eb1657718c5b2ef37d2eb91527 --- /dev/null +++ b/PythonAi/main.py @@ -0,0 +1,227 @@ +######## +# Code made by : Osvaldo Pinto de Oliveira and Alexandre Vanini +# Highly inspired by Ikostrikov : +# https://github.com/ikostrikov/pytorch-a2c-ppo-acktr-gail +# Purpose : AI for DOTA 2 which has to earn as much gold has it can. + + +''' + +IMPORTANT : This code was copied from Ikostrikov's github, which means the code was probably made from him +or taken from another source (PyTorch or OPEN AI gym). + +The most part of his code hasn't been changed since he made it. + +The only few things we changed from his code are : + + - We created a save def so we can use it multiple times without code redundancy + - We added a way to load the policy from a previous record so the bot is able to learn from something he has already done + - We added code to communicate with Zaffino's part. (the global var stuff) + - Basically all the file in this github were meant to be used for this project, but they weren't all made by us (Pinto de Oliveira & Vanini) + - The only files we changed or made are : + - main.py (this one) + - continuous_dota.py + +''' + +######## + + +import globalvar + +import copy +import glob +import os +import time +from collections import deque + +import numpy as np +import torch + +from a2c_ppo_acktr import algo +from a2c_ppo_acktr.arguments import get_args +from a2c_ppo_acktr.envs import make_vec_envs +from a2c_ppo_acktr.model import Policy +from a2c_ppo_acktr.storage import RolloutStorage +from a2c_ppo_acktr.utils import get_vec_normalize, update_linear_schedule +from game_state_thread import GameStateThread +import CMsgBotWorldState_pb2 as pb + +args = get_args() + +print(torch.cuda.is_available()) + +assert args.algo in ['a2c', 'ppo', 'acktr'] +if args.recurrent_policy: + assert args.algo in ['a2c', 'ppo'], \ + 'Recurrent policy is not implemented for ACKTR' + +num_updates = int(args.num_env_steps) // args.num_steps // args.num_processes + +if args.cuda and torch.cuda.is_available() and args.cuda_deterministic: + torch.backends.cudnn.benchmark = False + torch.backends.cudnn.deterministic = True + +torch.set_num_threads(1) +device = torch.device("cuda:0" if args.cuda else "cpu") + +args.log_dir = os.path.expanduser(args.log_dir) + +try: + os.makedirs(args.log_dir) +except OSError: + files = glob.glob(os.path.join(args.log_dir, '*.monitor.csv')) + for f in files: + os.remove(f) + +eval_log_dir = args.log_dir + "_eval" + +try: + os.makedirs(eval _log_dir) +except OSError: + files = glob.glob(os.path.join(eval_log_dir, '*.monitor.csv')) + for f in files: + os.remove(f) + +envs = make_vec_envs(args.env_name, args.seed, args.num_processes, + args.gamma, args.log_dir, args.add_timestep, device, False) + +# POLICY CHOICE (NEW OR FROM PREVIOUS RECORD) +if int(args.new_env) == 1: + actor_critic = Policy(envs.observation_space.shape, envs.action_space, + base_kwargs={'recurrent': args.recurrent_policy}) +else: + # We need to use the same statistics for normalization as used in training + actor_critic, ob_rms = torch.load(os.path.join(args.load_dir, args.env_name + ".pt")) + +actor_critic.to(device) + + +# Save the bot current's iteration to a file +def save(): + save_path = os.path.join(args.save_dir, args.algo) + try: + os.makedirs(save_path) + except OSError: + pass + + save_model = actor_critic + if args.cuda: + save_model = copy.deepcopy(actor_critic).cpu() + + save_model = [save_model, + getattr(get_vec_normalize(envs), 'ob_rms', None)] + + torch.save(save_model, os.path.join(save_path, args.env_name + ".pt")) + + +def main(): + agent = algo.PPO(actor_critic, args.clip_param, args.ppo_epoch, args.num_mini_batch, args.value_loss_coef, + args.entropy_coef, lr=args.lr, eps=args.eps, max_grad_norm=args.max_grad_norm) + + rollouts = RolloutStorage(args.num_steps, args.num_processes, + envs.observation_space.shape, envs.action_space, + actor_critic.recurrent_hidden_state_size) + + obs = envs.reset() + rollouts.obs[0].copy_(obs) + rollouts.to(device) + + episode_rewards = deque(maxlen=10) + + start = time.time() + + for j in range(num_updates): + if args.use_linear_lr_decay: + update_linear_schedule(agent.optimizer, j, num_updates, args.lr) + + if args.algo == 'ppo' and args.use_linear_clip_decay: + agent.clip_param = args.clip_param * (1 - j / float(num_updates)) + + for step in range(args.num_steps): + print(step) + with torch.no_grad(): + value, action, action_log_prob, recurrent_hidden_states = actor_critic.act( + rollouts.obs[step], + rollouts.recurrent_hidden_states[step], + rollouts.masks[step]) + + # Obser reward and next obs + obs, reward, done, infos = envs.step(action) + + for info in infos: + if 'episode' in info.keys(): + episode_rewards.append(info['episode']['r']) + + # If done then clean the history of observations. + masks = torch.FloatTensor([[0.0] if done_ else [1.0] + for done_ in done]) + rollouts.insert(obs, recurrent_hidden_states, action, action_log_prob, value, reward, masks) + + with torch.no_grad(): + next_value = actor_critic.get_value(rollouts.obs[-1], + rollouts.recurrent_hidden_states[-1], + rollouts.masks[-1]).detach() + + rollouts.compute_returns(next_value, args.use_gae, args.gamma, args.tau) + + value_loss, action_loss, dist_entropy = agent.update(rollouts) + + rollouts.after_update() + # save for every interval-th episode or for the last epoch + if (j % args.save_interval == 0 or j == num_updates - 1) and args.save_dir != "": + save() + + if (args.eval_interval is not None + and len(episode_rewards) > 1 + and j % args.eval_interval == 0): + eval_envs = make_vec_envs( + args.env_name, args.seed + args.num_processes, args.num_processes, + args.gamma, eval_log_dir, args.add_timestep, device, True) + + vec_norm = get_vec_normalize(eval_envs) + if vec_norm is not None: + vec_norm.eval() + vec_norm.ob_rms = get_vec_normalize(envs).ob_rms + + eval_episode_rewards = [] + + obs = eval_envs.reset() + eval_recurrent_hidden_states = torch.zeros(args.num_processes, + actor_critic.recurrent_hidden_state_size, device=device) + eval_masks = torch.zeros(args.num_processes, 1, device=device) + + while len(eval_episode_rewards) < 10: + with torch.no_grad(): + _, action, _, eval_recurrent_hidden_states = actor_critic.act( + obs, eval_recurrent_hidden_states, eval_masks, deterministic=True) + + # Obser reward and next obs + obs, reward, done, infos = eval_envs.step(action) + + eval_masks = torch.tensor([[0.0] if done_ else [1.0] + for done_ in done], + dtype=torch.float32, + device=device) + + for info in infos: + if 'episode' in info.keys(): + eval_episode_rewards.append(info['episode']['r']) + + eval_envs.close() + + print(" Evaluation using {} episodes: mean reward {:.5f}\n". + format(len(eval_episode_rewards), + np.mean(eval_episode_rewards))) + + +# SERVER ########################################################### + +globalvar.game_state = pb.CMsgBotWorldState() +t = GameStateThread() +t.start() + +################################################################## + +if __name__ == "__main__": + main() diff --git a/PythonAi/other/mai_test.py b/PythonAi/other/mai_test.py new file mode 100644 index 0000000000000000000000000000000000000000..e6ec74ff89162fd7870c50b6df434eacd46cb214 --- /dev/null +++ b/PythonAi/other/mai_test.py @@ -0,0 +1,56 @@ +import grpc +import OutsideCommunication_pb2_grpc +import OutsideCommunication_pb2 + +import globalvar + +import socket +from struct import * +import CMsgBotWorldState_pb2 as pb + +import threading + +import time + +from game_state_thread import GameStateThread + +HOST = '127.0.0.1' +PORT = 10011 +BOT_ID = 1 + +lck = threading.Lock() +globalvar.game_state = pb.CMsgBotWorldState() + +t = GameStateThread(lck) +t.start() + + + + +# def test_thread(): +#while 1: + #v = None + #while v is None: + #lck.acquire() + #v = globalvar.get_ai_values(BOT_ID) + #lck.release() + + #print(v) +# print(globalvar.tmp_cpt) +# globalvar.tmp_cpt = 0 +# time.sleep(1) + +# t2 = threading.Thread(target=test_thread) +# t2.start() +# t2.join() + +""" +channel = grpc.insecure_channel('{}:{}'.format(HOST, PORT)) + +stub = OutsideCommunication_pb2_grpc.ServerManagmentStub(channel) +command = OutsideCommunication_pb2.Command(CommandId=1) + +response = stub.ManageServer(command) + + +""" diff --git a/PythonAi/other/test.py b/PythonAi/other/test.py new file mode 100644 index 0000000000000000000000000000000000000000..63631e07a9441167f4050c8a52cdc40203eb9bd7 --- /dev/null +++ b/PythonAi/other/test.py @@ -0,0 +1,32 @@ +import socket +from struct import * +import CMsgBotWorldState_pb2 as pb + +HOST = '127.0.0.1' +PORT = 10011 + +with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: + s.connect((HOST, PORT)) + + while 1: + try: + i = 0 + while i < 1: + binSize = s.recv(4) + print(binSize) + + if binSize: + protoSize = unpack("<I", binSize) + print("protoSize: %d" % (protoSize[0])) + + binData = s.recv(protoSize[0]) + i += 1 + worldState = pb.CMsgBotWorldState() + worldState.ParseFromString(binData) + + q = 5 + + except Exception as e: + print(e) + + diff --git a/PythonAi/proto/OutsideCommunication.proto b/PythonAi/proto/OutsideCommunication.proto new file mode 100644 index 0000000000000000000000000000000000000000..26157b3b0f3e24f6212bbb6a3a3e54e224ecb0f7 --- /dev/null +++ b/PythonAi/proto/OutsideCommunication.proto @@ -0,0 +1,59 @@ +syntax = "proto3"; + +package OKAGG; + +option java_multiple_files = true; + +message Vector { + float x = 1; + float y = 2; + float z = 3; +} + +message Command { + int32 CommandId = 1; + Vector vectVal = 2; + int32 BotId = 3; + +} + +message OkaggIaCommMessage{ + Vector loc = 1; + int32 health = 2; + int32 gold = 3; + int32 death = 4; + int32 gameState = 5; + +} + +message InstrucionReturnValue { + int32 intVal = 1; + float floatVal = 2; + Vector vectVal = 3; + bool boolVal = 4; + OkaggIaCommMessage iaComm = 5; +} + +message GlobalValues{ + int32 gameState = 1; +} + +message Empty{ + +} + +//Used to send action to the game +service GameInstructions { + rpc HandleInstructions (Command) returns (InstrucionReturnValue); +} + +//Used to retrieve infos for the server +service GameValues { + rpc GetGlobalValues (Empty) returns (GlobalValues); +} + +//Used to manage the server +service ServerManagment{ + rpc ManageServer (Command) returns (Empty); +} + diff --git a/PythonAi/requirements.txt b/PythonAi/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..025065c9383ab92c048a1e71e272c5c8439f4ce2 --- /dev/null +++ b/PythonAi/requirements.txt @@ -0,0 +1,6 @@ +torch +torchvision +tensorflow +gym +matplotlib +pybullet \ No newline at end of file diff --git a/PythonAi/setup.py b/PythonAi/setup.py new file mode 100644 index 0000000000000000000000000000000000000000..8d4cb4eda0feb265afcffbe4e37d1c524cdcd53e --- /dev/null +++ b/PythonAi/setup.py @@ -0,0 +1,6 @@ +from setuptools import setup, find_packages + +setup(name='a2c-ppo-acktr', + packages=find_packages(), + version='0.0.1', + install_requires=['gym', 'matplotlib', 'pybullet']) diff --git a/PythonAi/trained_models/ppo/Dota-v0.pt b/PythonAi/trained_models/ppo/Dota-v0.pt new file mode 100644 index 0000000000000000000000000000000000000000..e7150775e12b002de95c7fcd8b6f75055569662b Binary files /dev/null and b/PythonAi/trained_models/ppo/Dota-v0.pt differ diff --git a/PythonAi/venv/bin/activate b/PythonAi/venv/bin/activate new file mode 100644 index 0000000000000000000000000000000000000000..3506f25e7d6da16ade500eedf9e91164e4b3f4b4 --- /dev/null +++ b/PythonAi/venv/bin/activate @@ -0,0 +1,76 @@ +# This file must be used with "source bin/activate" *from bash* +# you cannot run it directly + +deactivate () { + # reset old environment variables + if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then + PATH="${_OLD_VIRTUAL_PATH:-}" + export PATH + unset _OLD_VIRTUAL_PATH + fi + if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then + PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}" + export PYTHONHOME + unset _OLD_VIRTUAL_PYTHONHOME + fi + + # This should detect bash and zsh, which have a hash command that must + # be called to get it to forget past commands. Without forgetting + # past commands the $PATH changes we made may not be respected + if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then + hash -r + fi + + if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then + PS1="${_OLD_VIRTUAL_PS1:-}" + export PS1 + unset _OLD_VIRTUAL_PS1 + fi + + unset VIRTUAL_ENV + if [ ! "$1" = "nondestructive" ] ; then + # Self destruct! + unset -f deactivate + fi +} + +# unset irrelevant variables +deactivate nondestructive + +VIRTUAL_ENV="/home/kz/Desktop/tmp2/python/venv" +export VIRTUAL_ENV + +_OLD_VIRTUAL_PATH="$PATH" +PATH="$VIRTUAL_ENV/bin:$PATH" +export PATH + +# unset PYTHONHOME if set +# this will fail if PYTHONHOME is set to the empty string (which is bad anyway) +# could use `if (set -u; : $PYTHONHOME) ;` in bash +if [ -n "${PYTHONHOME:-}" ] ; then + _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}" + unset PYTHONHOME +fi + +if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then + _OLD_VIRTUAL_PS1="${PS1:-}" + if [ "x(venv) " != x ] ; then + PS1="(venv) ${PS1:-}" + else + if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1" + else + PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1" + fi + fi + export PS1 +fi + +# This should detect bash and zsh, which have a hash command that must +# be called to get it to forget past commands. Without forgetting +# past commands the $PATH changes we made may not be respected +if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then + hash -r +fi diff --git a/PythonAi/venv/bin/activate.csh b/PythonAi/venv/bin/activate.csh new file mode 100644 index 0000000000000000000000000000000000000000..dbf5145428990fd6913882e7aaed3a8f85df8daa --- /dev/null +++ b/PythonAi/venv/bin/activate.csh @@ -0,0 +1,37 @@ +# This file must be used with "source bin/activate.csh" *from csh*. +# You cannot run it directly. +# Created by Davide Di Blasi <davidedb@gmail.com>. +# Ported to Python 3.3 venv by Andrew Svetlov <andrew.svetlov@gmail.com> + +alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate' + +# Unset irrelevant variables. +deactivate nondestructive + +setenv VIRTUAL_ENV "/home/kz/Desktop/tmp2/python/venv" + +set _OLD_VIRTUAL_PATH="$PATH" +setenv PATH "$VIRTUAL_ENV/bin:$PATH" + + +set _OLD_VIRTUAL_PROMPT="$prompt" + +if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then + if ("venv" != "") then + set env_name = "venv" + else + if (`basename "VIRTUAL_ENV"` == "__") then + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + set env_name = `basename \`dirname "$VIRTUAL_ENV"\`` + else + set env_name = `basename "$VIRTUAL_ENV"` + endif + endif + set prompt = "[$env_name] $prompt" + unset env_name +endif + +alias pydoc python -m pydoc + +rehash diff --git a/PythonAi/venv/bin/activate.fish b/PythonAi/venv/bin/activate.fish new file mode 100644 index 0000000000000000000000000000000000000000..1d242b787887d7a706073a594de69a5741b9a646 --- /dev/null +++ b/PythonAi/venv/bin/activate.fish @@ -0,0 +1,75 @@ +# This file must be used with ". bin/activate.fish" *from fish* (http://fishshell.org) +# you cannot run it directly + +function deactivate -d "Exit virtualenv and return to normal shell environment" + # reset old environment variables + if test -n "$_OLD_VIRTUAL_PATH" + set -gx PATH $_OLD_VIRTUAL_PATH + set -e _OLD_VIRTUAL_PATH + end + if test -n "$_OLD_VIRTUAL_PYTHONHOME" + set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME + set -e _OLD_VIRTUAL_PYTHONHOME + end + + if test -n "$_OLD_FISH_PROMPT_OVERRIDE" + functions -e fish_prompt + set -e _OLD_FISH_PROMPT_OVERRIDE + functions -c _old_fish_prompt fish_prompt + functions -e _old_fish_prompt + end + + set -e VIRTUAL_ENV + if test "$argv[1]" != "nondestructive" + # Self destruct! + functions -e deactivate + end +end + +# unset irrelevant variables +deactivate nondestructive + +set -gx VIRTUAL_ENV "/home/kz/Desktop/tmp2/python/venv" + +set -gx _OLD_VIRTUAL_PATH $PATH +set -gx PATH "$VIRTUAL_ENV/bin" $PATH + +# unset PYTHONHOME if set +if set -q PYTHONHOME + set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME + set -e PYTHONHOME +end + +if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" + # fish uses a function instead of an env var to generate the prompt. + + # save the current fish_prompt function as the function _old_fish_prompt + functions -c fish_prompt _old_fish_prompt + + # with the original prompt function renamed, we can override with our own. + function fish_prompt + # Save the return status of the last command + set -l old_status $status + + # Prompt override? + if test -n "(venv) " + printf "%s%s" "(venv) " (set_color normal) + else + # ...Otherwise, prepend env + set -l _checkbase (basename "$VIRTUAL_ENV") + if test $_checkbase = "__" + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + printf "%s[%s]%s " (set_color -b blue white) (basename (dirname "$VIRTUAL_ENV")) (set_color normal) + else + printf "%s(%s)%s" (set_color -b blue white) (basename "$VIRTUAL_ENV") (set_color normal) + end + end + + # Restore the return status of the previous command. + echo "exit $old_status" | . + _old_fish_prompt + end + + set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" +end diff --git a/PythonAi/venv/bin/convert-caffe2-to-onnx b/PythonAi/venv/bin/convert-caffe2-to-onnx new file mode 100755 index 0000000000000000000000000000000000000000..6538298c18d6a741cb033636dcbcce1b5f2002ef --- /dev/null +++ b/PythonAi/venv/bin/convert-caffe2-to-onnx @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from caffe2.python.onnx.bin.conversion import caffe2_to_onnx + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(caffe2_to_onnx()) diff --git a/PythonAi/venv/bin/convert-onnx-to-caffe2 b/PythonAi/venv/bin/convert-onnx-to-caffe2 new file mode 100755 index 0000000000000000000000000000000000000000..00a45f35ca9e95a1e15642669aea392673329f8a --- /dev/null +++ b/PythonAi/venv/bin/convert-onnx-to-caffe2 @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from caffe2.python.onnx.bin.conversion import onnx_to_caffe2 + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(onnx_to_caffe2()) diff --git a/PythonAi/venv/bin/easy_install b/PythonAi/venv/bin/easy_install new file mode 100755 index 0000000000000000000000000000000000000000..a2284f69fa9a8152674dce057fe6eb34aafcb7c5 --- /dev/null +++ b/PythonAi/venv/bin/easy_install @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from setuptools.command.easy_install import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/PythonAi/venv/bin/easy_install-3.6 b/PythonAi/venv/bin/easy_install-3.6 new file mode 100755 index 0000000000000000000000000000000000000000..a2284f69fa9a8152674dce057fe6eb34aafcb7c5 --- /dev/null +++ b/PythonAi/venv/bin/easy_install-3.6 @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from setuptools.command.easy_install import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/PythonAi/venv/bin/f2py b/PythonAi/venv/bin/f2py new file mode 100755 index 0000000000000000000000000000000000000000..b7259254deabe9016650101c2bbd4a481654472f --- /dev/null +++ b/PythonAi/venv/bin/f2py @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from numpy.f2py.f2py2e import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/PythonAi/venv/bin/f2py3 b/PythonAi/venv/bin/f2py3 new file mode 100755 index 0000000000000000000000000000000000000000..b7259254deabe9016650101c2bbd4a481654472f --- /dev/null +++ b/PythonAi/venv/bin/f2py3 @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from numpy.f2py.f2py2e import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/PythonAi/venv/bin/f2py3.6 b/PythonAi/venv/bin/f2py3.6 new file mode 100755 index 0000000000000000000000000000000000000000..b7259254deabe9016650101c2bbd4a481654472f --- /dev/null +++ b/PythonAi/venv/bin/f2py3.6 @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from numpy.f2py.f2py2e import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/PythonAi/venv/bin/freeze_graph b/PythonAi/venv/bin/freeze_graph new file mode 100755 index 0000000000000000000000000000000000000000..ce11111b0b7a8cd0f17dfc25d8e5e527549c1c15 --- /dev/null +++ b/PythonAi/venv/bin/freeze_graph @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from tensorflow.python.tools.freeze_graph import run_main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(run_main()) diff --git a/PythonAi/venv/bin/futurize b/PythonAi/venv/bin/futurize new file mode 100755 index 0000000000000000000000000000000000000000..6d2d347b01d24f8c6ea1e6e68b384b23be13c414 --- /dev/null +++ b/PythonAi/venv/bin/futurize @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from libfuturize.main import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/PythonAi/venv/bin/google b/PythonAi/venv/bin/google new file mode 100755 index 0000000000000000000000000000000000000000..491e8262d8ee97a815fb3054062e0573f462681b --- /dev/null +++ b/PythonAi/venv/bin/google @@ -0,0 +1,104 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python + +# Python bindings to the Google search engine +# Copyright (c) 2009-2016, Mario Vilas +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice,this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the copyright holder nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +import sys + +from googlesearch import search, get_random_user_agent + +from optparse import OptionParser, IndentedHelpFormatter + +class BannerHelpFormatter(IndentedHelpFormatter): + + "Just a small tweak to optparse to be able to print a banner." + + def __init__(self, banner, *argv, **argd): + self.banner = banner + IndentedHelpFormatter.__init__(self, *argv, **argd) + + def format_usage(self, usage): + msg = IndentedHelpFormatter.format_usage(self, usage) + return '%s\n%s' % (self.banner, msg) + +# Parse the command line arguments. +formatter = BannerHelpFormatter( + "Python script to use the Google search engine\n" + "By Mario Vilas (mvilas at gmail dot com)\n" + "https://github.com/MarioVilas/googlesearch\n" +) +parser = OptionParser(formatter=formatter) +parser.set_usage("%prog [options] query") +parser.add_option("--tld", metavar="TLD", type="string", default="com", + help="top level domain to use [default: com]") +parser.add_option("--lang", metavar="LANGUAGE", type="string", default="en", + help="produce results in the given language [default: en]") +parser.add_option("--domains", metavar="DOMAINS", type="string", default="", + help="comma separated list of domains to constrain the search to") +parser.add_option("--tbs", metavar="TBS", type="string", default="0", + help="produce results from period [default: 0]") +parser.add_option("--safe", metavar="SAFE", type="string", default="off", + help="kids safe search [default: off]") +parser.add_option("--num", metavar="NUMBER", type="int", default=10, + help="number of results per page [default: 10]") +parser.add_option("--start", metavar="NUMBER", type="int", default=0, + help="first result to retrieve [default: 0]") +parser.add_option("--stop", metavar="NUMBER", type="int", default=0, + help="last result to retrieve [default: unlimited]") +parser.add_option("--pause", metavar="SECONDS", type="float", default=2.0, + help="pause between HTTP requests [default: 2.0]") +parser.add_option("--rua", metavar="USERAGENT", action="store_true", default=False, + help="Randomize the User-Agent [default: no]") +parser.add_option("--all", dest="only_standard", + action="store_false", default=True, + help="grab all possible links from result pages [default: only standard results]") +(options, args) = parser.parse_args() +query = ' '.join(args) +if not query: + parser.print_help() + sys.exit(2) +params = [(k, v) for (k, v) in options.__dict__.items() if not k.startswith('_')] +params = dict(params) + +# Split the comma separated list of domains, if present. +if 'domains' in params: + params['domains'] = [x.strip() for x in params['domains'].split(',')] + +# Randomize the user agent if requested. +if "rua" in params: + rua = params.pop("rua") + if rua: + params["user_agent"] = get_random_user_agent() + +# Run the query. +for url in search(query, **params): + print(url) + try: + sys.stdout.flush() + except: + pass diff --git a/PythonAi/venv/bin/markdown_py b/PythonAi/venv/bin/markdown_py new file mode 100755 index 0000000000000000000000000000000000000000..bd6a061fec04536ce491f9c2160e41385c2a7c0a --- /dev/null +++ b/PythonAi/venv/bin/markdown_py @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from markdown.__main__ import run + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(run()) diff --git a/PythonAi/venv/bin/pasteurize b/PythonAi/venv/bin/pasteurize new file mode 100755 index 0000000000000000000000000000000000000000..db1be51ff20a6f87682375da351200202d1e3c88 --- /dev/null +++ b/PythonAi/venv/bin/pasteurize @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from libpasteurize.main import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/PythonAi/venv/bin/pip b/PythonAi/venv/bin/pip new file mode 100755 index 0000000000000000000000000000000000000000..e65f096619ca449030d5f4b80b32282ed52510b9 --- /dev/null +++ b/PythonAi/venv/bin/pip @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from pip._internal import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/PythonAi/venv/bin/pip3 b/PythonAi/venv/bin/pip3 new file mode 100755 index 0000000000000000000000000000000000000000..e65f096619ca449030d5f4b80b32282ed52510b9 --- /dev/null +++ b/PythonAi/venv/bin/pip3 @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from pip._internal import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/PythonAi/venv/bin/pip3.6 b/PythonAi/venv/bin/pip3.6 new file mode 100755 index 0000000000000000000000000000000000000000..e65f096619ca449030d5f4b80b32282ed52510b9 --- /dev/null +++ b/PythonAi/venv/bin/pip3.6 @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from pip._internal import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/PythonAi/venv/bin/python b/PythonAi/venv/bin/python new file mode 100755 index 0000000000000000000000000000000000000000..72aec157c921c289617e88e2bdf87d68f2b269a3 Binary files /dev/null and b/PythonAi/venv/bin/python differ diff --git a/PythonAi/venv/bin/python3 b/PythonAi/venv/bin/python3 new file mode 100755 index 0000000000000000000000000000000000000000..72aec157c921c289617e88e2bdf87d68f2b269a3 Binary files /dev/null and b/PythonAi/venv/bin/python3 differ diff --git a/PythonAi/venv/bin/python3.6 b/PythonAi/venv/bin/python3.6 new file mode 100755 index 0000000000000000000000000000000000000000..72aec157c921c289617e88e2bdf87d68f2b269a3 Binary files /dev/null and b/PythonAi/venv/bin/python3.6 differ diff --git a/PythonAi/venv/bin/saved_model_cli b/PythonAi/venv/bin/saved_model_cli new file mode 100755 index 0000000000000000000000000000000000000000..f1b58e9281b9df611a20730102725d34c52e634d --- /dev/null +++ b/PythonAi/venv/bin/saved_model_cli @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from tensorflow.python.tools.saved_model_cli import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/PythonAi/venv/bin/tensorboard b/PythonAi/venv/bin/tensorboard new file mode 100755 index 0000000000000000000000000000000000000000..b40e81ffba5f09ab9e4482220cbd7c12fe914670 --- /dev/null +++ b/PythonAi/venv/bin/tensorboard @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from tensorboard.main import run_main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(run_main()) diff --git a/PythonAi/venv/bin/tf_upgrade_v2 b/PythonAi/venv/bin/tf_upgrade_v2 new file mode 100755 index 0000000000000000000000000000000000000000..0633530abe63248a60a42d9132c26528721d4a28 --- /dev/null +++ b/PythonAi/venv/bin/tf_upgrade_v2 @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from tensorflow.tools.compatibility.tf_upgrade_v2_main import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/PythonAi/venv/bin/tflite_convert b/PythonAi/venv/bin/tflite_convert new file mode 100755 index 0000000000000000000000000000000000000000..c628d88c69fd8ee393cbe8e79754805808e8cfb0 --- /dev/null +++ b/PythonAi/venv/bin/tflite_convert @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from tensorflow.lite.python.tflite_convert import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/PythonAi/venv/bin/toco b/PythonAi/venv/bin/toco new file mode 100755 index 0000000000000000000000000000000000000000..c628d88c69fd8ee393cbe8e79754805808e8cfb0 --- /dev/null +++ b/PythonAi/venv/bin/toco @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from tensorflow.lite.python.tflite_convert import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/PythonAi/venv/bin/toco_from_protos b/PythonAi/venv/bin/toco_from_protos new file mode 100755 index 0000000000000000000000000000000000000000..bdf9e2995f6725d630e603fceb6a2fc96923b3a0 --- /dev/null +++ b/PythonAi/venv/bin/toco_from_protos @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from tensorflow.lite.toco.python.toco_from_protos import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/PythonAi/venv/bin/tqdm b/PythonAi/venv/bin/tqdm new file mode 100755 index 0000000000000000000000000000000000000000..e9a2aa90e8549b74bf4ada6707d78a20818b835e --- /dev/null +++ b/PythonAi/venv/bin/tqdm @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from tqdm._main import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/PythonAi/venv/bin/wheel b/PythonAi/venv/bin/wheel new file mode 100755 index 0000000000000000000000000000000000000000..abb5a1ae431a571941b3b8d5889ce97608700117 --- /dev/null +++ b/PythonAi/venv/bin/wheel @@ -0,0 +1,10 @@ +#!/home/kz/Desktop/tmp2/python/venv/bin/python +# -*- coding: utf-8 -*- +import re +import sys + +from wheel.cli import main + +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..31c2605e0b30a7df5083a2e022c3a39a78e491a4 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/__init__.py @@ -0,0 +1,14 @@ +import distutils.version +import os +import sys +import warnings + +from gym import error +from gym.version import VERSION as __version__ + +from gym.core import Env, GoalEnv, Wrapper, ObservationWrapper, ActionWrapper, RewardWrapper +from gym.spaces import Space +from gym.envs import make, spec, register +from gym import logger + +__all__ = ["Env", "Space", "Wrapper", "make", "spec", "register"] diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/__pycache__/__init__.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..df7f87ecd5f231010dc63eaaf3669bb25ae08226 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/__pycache__/__init__.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/__pycache__/core.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/__pycache__/core.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f18f28e5193b53d5435b6ef87f93f8ae262b48a5 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/__pycache__/core.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/__pycache__/error.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/__pycache__/error.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2fdf8497fa4a4991e6bfd3d95baca727472b2e0e Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/__pycache__/error.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/__pycache__/logger.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/__pycache__/logger.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c893f09e3b0879d4a265cdcd6847fa937d321f30 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/__pycache__/logger.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/__pycache__/version.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/__pycache__/version.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3ea44934ca067a570f7c290ef683722f63929b02 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/__pycache__/version.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/core.py b/PythonAi/venv/lib/python3.6/site-packages/gym/core.py new file mode 100644 index 0000000000000000000000000000000000000000..82ed9335f69b8701783edbb3987094f439844333 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/core.py @@ -0,0 +1,288 @@ +import gym +from gym import error +from gym.utils import closer + +env_closer = closer.Closer() + + +class Env(object): + r"""The main OpenAI Gym class. It encapsulates an environment with + arbitrary behind-the-scenes dynamics. An environment can be + partially or fully observed. + + The main API methods that users of this class need to know are: + + step + reset + render + close + seed + + And set the following attributes: + + action_space: The Space object corresponding to valid actions + observation_space: The Space object corresponding to valid observations + reward_range: A tuple corresponding to the min and max possible rewards + + Note: a default reward range set to [-inf,+inf] already exists. Set it if you want a narrower range. + + The methods are accessed publicly as "step", "reset", etc.. The + non-underscored versions are wrapper methods to which we may add + functionality over time. + """ + # Set this in SOME subclasses + metadata = {'render.modes': []} + reward_range = (-float('inf'), float('inf')) + spec = None + + # Set these in ALL subclasses + action_space = None + observation_space = None + + def step(self, action): + """Run one timestep of the environment's dynamics. When end of + episode is reached, you are responsible for calling `reset()` + to reset this environment's state. + + Accepts an action and returns a tuple (observation, reward, done, info). + + Args: + action (object): an action provided by the agent + + Returns: + observation (object): agent's observation of the current environment + reward (float) : amount of reward returned after previous action + done (bool): whether the episode has ended, in which case further step() calls will return undefined results + info (dict): contains auxiliary diagnostic information (helpful for debugging, and sometimes learning) + """ + raise NotImplementedError + + def reset(self): + """Resets the state of the environment and returns an initial observation. + + Returns: + observation (object): the initial observation. + """ + raise NotImplementedError + + def render(self, mode='human'): + """Renders the environment. + + The set of supported modes varies per environment. (And some + environments do not support rendering at all.) By convention, + if mode is: + + - human: render to the current display or terminal and + return nothing. Usually for human consumption. + - rgb_array: Return an numpy.ndarray with shape (x, y, 3), + representing RGB values for an x-by-y pixel image, suitable + for turning into a video. + - ansi: Return a string (str) or StringIO.StringIO containing a + terminal-style text representation. The text can include newlines + and ANSI escape sequences (e.g. for colors). + + Note: + Make sure that your class's metadata 'render.modes' key includes + the list of supported modes. It's recommended to call super() + in implementations to use the functionality of this method. + + Args: + mode (str): the mode to render with + + Example: + + class MyEnv(Env): + metadata = {'render.modes': ['human', 'rgb_array']} + + def render(self, mode='human'): + if mode == 'rgb_array': + return np.array(...) # return RGB frame suitable for video + elif mode == 'human': + ... # pop up a window and render + else: + super(MyEnv, self).render(mode=mode) # just raise an exception + """ + raise NotImplementedError + + def close(self): + """Override close in your subclass to perform any necessary cleanup. + + Environments will automatically close() themselves when + garbage collected or when the program exits. + """ + pass + + def seed(self, seed=None): + """Sets the seed for this env's random number generator(s). + + Note: + Some environments use multiple pseudorandom number generators. + We want to capture all such seeds used in order to ensure that + there aren't accidental correlations between multiple generators. + + Returns: + list<bigint>: Returns the list of seeds used in this env's random + number generators. The first value in the list should be the + "main" seed, or the value which a reproducer should pass to + 'seed'. Often, the main seed equals the provided 'seed', but + this won't be true if seed=None, for example. + """ + return + + @property + def unwrapped(self): + """Completely unwrap this env. + + Returns: + gym.Env: The base non-wrapped gym.Env instance + """ + return self + + def __str__(self): + if self.spec is None: + return '<{} instance>'.format(type(self).__name__) + else: + return '<{}<{}>>'.format(type(self).__name__, self.spec.id) + + def __enter__(self): + return self + + def __exit__(self, *args): + self.close() + # propagate exception + return False + + +class GoalEnv(Env): + """A goal-based environment. It functions just as any regular OpenAI Gym environment but it + imposes a required structure on the observation_space. More concretely, the observation + space is required to contain at least three elements, namely `observation`, `desired_goal`, and + `achieved_goal`. Here, `desired_goal` specifies the goal that the agent should attempt to achieve. + `achieved_goal` is the goal that it currently achieved instead. `observation` contains the + actual observations of the environment as per usual. + """ + + def reset(self): + # Enforce that each GoalEnv uses a Goal-compatible observation space. + if not isinstance(self.observation_space, gym.spaces.Dict): + raise error.Error('GoalEnv requires an observation space of type gym.spaces.Dict') + for key in ['observation', 'achieved_goal', 'desired_goal']: + if key not in self.observation_space.spaces: + raise error.Error('GoalEnv requires the "{}" key to be part of the observation dictionary.'.format(key)) + + def compute_reward(self, achieved_goal, desired_goal, info): + """Compute the step reward. This externalizes the reward function and makes + it dependent on an a desired goal and the one that was achieved. If you wish to include + additional rewards that are independent of the goal, you can include the necessary values + to derive it in info and compute it accordingly. + + Args: + achieved_goal (object): the goal that was achieved during execution + desired_goal (object): the desired goal that we asked the agent to attempt to achieve + info (dict): an info dictionary with additional information + + Returns: + float: The reward that corresponds to the provided achieved goal w.r.t. to the desired + goal. Note that the following should always hold true: + + ob, reward, done, info = env.step() + assert reward == env.compute_reward(ob['achieved_goal'], ob['goal'], info) + """ + raise NotImplementedError + + +class Wrapper(Env): + r"""Wraps the environment to allow a modular transformation. + + This class is the base class for all wrappers. The subclass could override + some methods to change the behavior of the original environment without touching the + original code. + + .. note:: + + Don't forget to call ``super().__init__(env)`` if the subclass overrides :meth:`__init__`. + + """ + def __init__(self, env): + self.env = env + self.action_space = self.env.action_space + self.observation_space = self.env.observation_space + self.reward_range = self.env.reward_range + self.metadata = self.env.metadata + self.spec = getattr(self.env, 'spec', None) + + def __getattr__(self, name): + if name.startswith('_'): + raise AttributeError("attempted to get missing private attribute '{}'".format(name)) + return getattr(self.env, name) + + @classmethod + def class_name(cls): + return cls.__name__ + + def step(self, action): + return self.env.step(action) + + def reset(self, **kwargs): + return self.env.reset(**kwargs) + + def render(self, mode='human', **kwargs): + return self.env.render(mode, **kwargs) + + def close(self): + return self.env.close() + + def seed(self, seed=None): + return self.env.seed(seed) + + def compute_reward(self, achieved_goal, desired_goal, info): + return self.env.compute_reward(achieved_goal, desired_goal, info) + + def __str__(self): + return '<{}{}>'.format(type(self).__name__, self.env) + + def __repr__(self): + return str(self) + + @property + def unwrapped(self): + return self.env.unwrapped + + +class ObservationWrapper(Wrapper): + def reset(self, **kwargs): + observation = self.env.reset(**kwargs) + return self.observation(observation) + + def step(self, action): + observation, reward, done, info = self.env.step(action) + return self.observation(observation), reward, done, info + + def observation(self, observation): + raise NotImplementedError + + +class RewardWrapper(Wrapper): + def reset(self, **kwargs): + return self.env.reset(**kwargs) + + def step(self, action): + observation, reward, done, info = self.env.step(action) + return observation, self.reward(reward), done, info + + def reward(self, reward): + raise NotImplementedError + + +class ActionWrapper(Wrapper): + def reset(self, **kwargs): + return self.env.reset(**kwargs) + + def step(self, action): + return self.env.step(self.action(action)) + + def action(self, action): + raise NotImplementedError + + def reverse_action(self, action): + raise NotImplementedError diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..8799592e78a13ed1c82226f33e5d6f8a23ade2e9 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/__init__.py @@ -0,0 +1,693 @@ +from gym.envs.registration import registry, register, make, spec + +# Algorithmic +# ---------------------------------------- + +register( + id='Copy-v0', + entry_point='gym.envs.algorithmic:CopyEnv', + max_episode_steps=200, + reward_threshold=25.0, +) + +register( + id='RepeatCopy-v0', + entry_point='gym.envs.algorithmic:RepeatCopyEnv', + max_episode_steps=200, + reward_threshold=75.0, +) + +register( + id='ReversedAddition-v0', + entry_point='gym.envs.algorithmic:ReversedAdditionEnv', + kwargs={'rows' : 2}, + max_episode_steps=200, + reward_threshold=25.0, +) + +register( + id='ReversedAddition3-v0', + entry_point='gym.envs.algorithmic:ReversedAdditionEnv', + kwargs={'rows' : 3}, + max_episode_steps=200, + reward_threshold=25.0, +) + +register( + id='DuplicatedInput-v0', + entry_point='gym.envs.algorithmic:DuplicatedInputEnv', + max_episode_steps=200, + reward_threshold=9.0, +) + +register( + id='Reverse-v0', + entry_point='gym.envs.algorithmic:ReverseEnv', + max_episode_steps=200, + reward_threshold=25.0, +) + +# Classic +# ---------------------------------------- + +register( + id='CartPole-v0', + entry_point='gym.envs.classic_control:CartPoleEnv', + max_episode_steps=200, + reward_threshold=195.0, +) + +register( + id='CartPole-v1', + entry_point='gym.envs.classic_control:CartPoleEnv', + max_episode_steps=500, + reward_threshold=475.0, +) + +register( + id='MountainCar-v0', + entry_point='gym.envs.classic_control:MountainCarEnv', + max_episode_steps=200, + reward_threshold=-110.0, +) + +register( + id='MountainCarContinuous-v0', + entry_point='gym.envs.classic_control:Continuous_MountainCarEnv', + max_episode_steps=999, + reward_threshold=90.0, +) + +register( + id='Pendulum-v0', + entry_point='gym.envs.classic_control:PendulumEnv', + max_episode_steps=200, +) + +register( + id='Acrobot-v1', + entry_point='gym.envs.classic_control:AcrobotEnv', + reward_threshold=-100.0, + max_episode_steps=500, +) + +# Box2d +# ---------------------------------------- + +register( + id='LunarLander-v2', + entry_point='gym.envs.box2d:LunarLander', + max_episode_steps=1000, + reward_threshold=200, +) + +register( + id='LunarLanderContinuous-v2', + entry_point='gym.envs.box2d:LunarLanderContinuous', + max_episode_steps=1000, + reward_threshold=200, +) + +register( + id='BipedalWalker-v2', + entry_point='gym.envs.box2d:BipedalWalker', + max_episode_steps=1600, + reward_threshold=300, +) + +register( + id='BipedalWalkerHardcore-v2', + entry_point='gym.envs.box2d:BipedalWalkerHardcore', + max_episode_steps=2000, + reward_threshold=300, +) + +register( + id='CarRacing-v0', + entry_point='gym.envs.box2d:CarRacing', + max_episode_steps=1000, + reward_threshold=900, +) + +# Toy Text +# ---------------------------------------- + +register( + id='Blackjack-v0', + entry_point='gym.envs.toy_text:BlackjackEnv', +) + +register( + id='KellyCoinflip-v0', + entry_point='gym.envs.toy_text:KellyCoinflipEnv', + reward_threshold=246.61, +) +register( + id='KellyCoinflipGeneralized-v0', + entry_point='gym.envs.toy_text:KellyCoinflipGeneralizedEnv', +) + +register( + id='FrozenLake-v0', + entry_point='gym.envs.toy_text:FrozenLakeEnv', + kwargs={'map_name' : '4x4'}, + max_episode_steps=100, + reward_threshold=0.78, # optimum = .8196 +) + +register( + id='FrozenLake8x8-v0', + entry_point='gym.envs.toy_text:FrozenLakeEnv', + kwargs={'map_name' : '8x8'}, + max_episode_steps=200, + reward_threshold=0.99, # optimum = 1 +) + +register( + id='CliffWalking-v0', + entry_point='gym.envs.toy_text:CliffWalkingEnv', +) + +register( + id='NChain-v0', + entry_point='gym.envs.toy_text:NChainEnv', + max_episode_steps=1000, +) + +register( + id='Roulette-v0', + entry_point='gym.envs.toy_text:RouletteEnv', + max_episode_steps=100, +) + +register( + id='Taxi-v2', + entry_point='gym.envs.toy_text:TaxiEnv', + reward_threshold=8, # optimum = 8.46 + max_episode_steps=200, +) + +register( + id='GuessingGame-v0', + entry_point='gym.envs.toy_text:GuessingGame', + max_episode_steps=200, +) + +register( + id='HotterColder-v0', + entry_point='gym.envs.toy_text:HotterColder', + max_episode_steps=200, +) + +# Mujoco +# ---------------------------------------- + +# 2D + +register( + id='Reacher-v2', + entry_point='gym.envs.mujoco:ReacherEnv', + max_episode_steps=50, + reward_threshold=-3.75, +) + +register( + id='Pusher-v2', + entry_point='gym.envs.mujoco:PusherEnv', + max_episode_steps=100, + reward_threshold=0.0, +) + +register( + id='Thrower-v2', + entry_point='gym.envs.mujoco:ThrowerEnv', + max_episode_steps=100, + reward_threshold=0.0, +) + +register( + id='Striker-v2', + entry_point='gym.envs.mujoco:StrikerEnv', + max_episode_steps=100, + reward_threshold=0.0, +) + +register( + id='InvertedPendulum-v2', + entry_point='gym.envs.mujoco:InvertedPendulumEnv', + max_episode_steps=1000, + reward_threshold=950.0, +) + +register( + id='InvertedDoublePendulum-v2', + entry_point='gym.envs.mujoco:InvertedDoublePendulumEnv', + max_episode_steps=1000, + reward_threshold=9100.0, +) + +register( + id='HalfCheetah-v2', + entry_point='gym.envs.mujoco:HalfCheetahEnv', + max_episode_steps=1000, + reward_threshold=4800.0, +) + +register( + id='HalfCheetah-v3', + entry_point='gym.envs.mujoco.half_cheetah_v3:HalfCheetahEnv', + max_episode_steps=1000, + reward_threshold=4800.0, +) + +register( + id='Hopper-v2', + entry_point='gym.envs.mujoco:HopperEnv', + max_episode_steps=1000, + reward_threshold=3800.0, +) + +register( + id='Hopper-v3', + entry_point='gym.envs.mujoco.hopper_v3:HopperEnv', + max_episode_steps=1000, + reward_threshold=3800.0, +) + +register( + id='Swimmer-v2', + entry_point='gym.envs.mujoco:SwimmerEnv', + max_episode_steps=1000, + reward_threshold=360.0, +) + +register( + id='Swimmer-v3', + entry_point='gym.envs.mujoco.swimmer_v3:SwimmerEnv', + max_episode_steps=1000, + reward_threshold=360.0, +) + +register( + id='Walker2d-v2', + max_episode_steps=1000, + entry_point='gym.envs.mujoco:Walker2dEnv', +) + +register( + id='Walker2d-v3', + max_episode_steps=1000, + entry_point='gym.envs.mujoco.walker2d_v3:Walker2dEnv', +) + +register( + id='Ant-v2', + entry_point='gym.envs.mujoco:AntEnv', + max_episode_steps=1000, + reward_threshold=6000.0, +) + +register( + id='Ant-v3', + entry_point='gym.envs.mujoco.ant_v3:AntEnv', + max_episode_steps=1000, + reward_threshold=6000.0, +) + +register( + id='Humanoid-v2', + entry_point='gym.envs.mujoco:HumanoidEnv', + max_episode_steps=1000, +) + +register( + id='Humanoid-v3', + entry_point='gym.envs.mujoco.humanoid_v3:HumanoidEnv', + max_episode_steps=1000, +) + +register( + id='HumanoidStandup-v2', + entry_point='gym.envs.mujoco:HumanoidStandupEnv', + max_episode_steps=1000, +) + +# Robotics +# ---------------------------------------- + +def _merge(a, b): + a.update(b) + return a + +for reward_type in ['sparse', 'dense']: + suffix = 'Dense' if reward_type == 'dense' else '' + kwargs = { + 'reward_type': reward_type, + } + + # Fetch + register( + id='FetchSlide{}-v1'.format(suffix), + entry_point='gym.envs.robotics:FetchSlideEnv', + kwargs=kwargs, + max_episode_steps=50, + ) + + register( + id='FetchPickAndPlace{}-v1'.format(suffix), + entry_point='gym.envs.robotics:FetchPickAndPlaceEnv', + kwargs=kwargs, + max_episode_steps=50, + ) + + register( + id='FetchReach{}-v1'.format(suffix), + entry_point='gym.envs.robotics:FetchReachEnv', + kwargs=kwargs, + max_episode_steps=50, + ) + + register( + id='FetchPush{}-v1'.format(suffix), + entry_point='gym.envs.robotics:FetchPushEnv', + kwargs=kwargs, + max_episode_steps=50, + ) + + # Hand + register( + id='HandReach{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandReachEnv', + kwargs=kwargs, + max_episode_steps=50, + ) + + register( + id='HandManipulateBlockRotateZ{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandBlockEnv', + kwargs=_merge({'target_position': 'ignore', 'target_rotation': 'z'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulateBlockRotateZTouchSensors{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandBlockTouchSensorsEnv', + kwargs=_merge({'target_position': 'ignore', 'target_rotation': 'z', 'touch_get_obs': 'boolean'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulateBlockRotateZTouchSensors{}-v1'.format(suffix), + entry_point='gym.envs.robotics:HandBlockTouchSensorsEnv', + kwargs=_merge({'target_position': 'ignore', 'target_rotation': 'z', 'touch_get_obs': 'sensordata'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulateBlockRotateParallel{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandBlockEnv', + kwargs=_merge({'target_position': 'ignore', 'target_rotation': 'parallel'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulateBlockRotateParallelTouchSensors{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandBlockTouchSensorsEnv', + kwargs=_merge({'target_position': 'ignore', 'target_rotation': 'parallel', 'touch_get_obs': 'boolean'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulateBlockRotateParallelTouchSensors{}-v1'.format(suffix), + entry_point='gym.envs.robotics:HandBlockTouchSensorsEnv', + kwargs=_merge({'target_position': 'ignore', 'target_rotation': 'parallel', 'touch_get_obs': 'sensordata'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulateBlockRotateXYZ{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandBlockEnv', + kwargs=_merge({'target_position': 'ignore', 'target_rotation': 'xyz'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulateBlockRotateXYZTouchSensors{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandBlockTouchSensorsEnv', + kwargs=_merge({'target_position': 'ignore', 'target_rotation': 'xyz', 'touch_get_obs': 'boolean'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulateBlockRotateXYZTouchSensors{}-v1'.format(suffix), + entry_point='gym.envs.robotics:HandBlockTouchSensorsEnv', + kwargs=_merge({'target_position': 'ignore', 'target_rotation': 'xyz', 'touch_get_obs': 'sensordata'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulateBlockFull{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandBlockEnv', + kwargs=_merge({'target_position': 'random', 'target_rotation': 'xyz'}, kwargs), + max_episode_steps=100, + ) + + # Alias for "Full" + register( + id='HandManipulateBlock{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandBlockEnv', + kwargs=_merge({'target_position': 'random', 'target_rotation': 'xyz'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulateBlockTouchSensors{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandBlockTouchSensorsEnv', + kwargs=_merge({'target_position': 'random', 'target_rotation': 'xyz', 'touch_get_obs': 'boolean'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulateBlockTouchSensors{}-v1'.format(suffix), + entry_point='gym.envs.robotics:HandBlockTouchSensorsEnv', + kwargs=_merge({'target_position': 'random', 'target_rotation': 'xyz', 'touch_get_obs': 'sensordata'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulateEggRotate{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandEggEnv', + kwargs=_merge({'target_position': 'ignore', 'target_rotation': 'xyz'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulateEggRotateTouchSensors{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandEggTouchSensorsEnv', + kwargs=_merge({'target_position': 'ignore', 'target_rotation': 'xyz', 'touch_get_obs': 'boolean'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulateEggRotateTouchSensors{}-v1'.format(suffix), + entry_point='gym.envs.robotics:HandEggTouchSensorsEnv', + kwargs=_merge({'target_position': 'ignore', 'target_rotation': 'xyz', 'touch_get_obs': 'sensordata'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulateEggFull{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandEggEnv', + kwargs=_merge({'target_position': 'random', 'target_rotation': 'xyz'}, kwargs), + max_episode_steps=100, + ) + + # Alias for "Full" + register( + id='HandManipulateEgg{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandEggEnv', + kwargs=_merge({'target_position': 'random', 'target_rotation': 'xyz'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulateEggTouchSensors{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandEggTouchSensorsEnv', + kwargs=_merge({'target_position': 'random', 'target_rotation': 'xyz', 'touch_get_obs': 'boolean'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulateEggTouchSensors{}-v1'.format(suffix), + entry_point='gym.envs.robotics:HandEggTouchSensorsEnv', + kwargs=_merge({'target_position': 'random', 'target_rotation': 'xyz', 'touch_get_obs': 'sensordata'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulatePenRotate{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandPenEnv', + kwargs=_merge({'target_position': 'ignore', 'target_rotation': 'xyz'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulatePenRotateTouchSensors{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandPenTouchSensorsEnv', + kwargs=_merge({'target_position': 'ignore', 'target_rotation': 'xyz', 'touch_get_obs': 'boolean'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulatePenRotateTouchSensors{}-v1'.format(suffix), + entry_point='gym.envs.robotics:HandPenTouchSensorsEnv', + kwargs=_merge({'target_position': 'ignore', 'target_rotation': 'xyz', 'touch_get_obs': 'sensordata'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulatePenFull{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandPenEnv', + kwargs=_merge({'target_position': 'random', 'target_rotation': 'xyz'}, kwargs), + max_episode_steps=100, + ) + + # Alias for "Full" + register( + id='HandManipulatePen{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandPenEnv', + kwargs=_merge({'target_position': 'random', 'target_rotation': 'xyz'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulatePenTouchSensors{}-v0'.format(suffix), + entry_point='gym.envs.robotics:HandPenTouchSensorsEnv', + kwargs=_merge({'target_position': 'random', 'target_rotation': 'xyz', 'touch_get_obs': 'boolean'}, kwargs), + max_episode_steps=100, + ) + + register( + id='HandManipulatePenTouchSensors{}-v1'.format(suffix), + entry_point='gym.envs.robotics:HandPenTouchSensorsEnv', + kwargs=_merge({'target_position': 'random', 'target_rotation': 'xyz', 'touch_get_obs': 'sensordata'}, kwargs), + max_episode_steps=100, + ) + +# Atari +# ---------------------------------------- + +# # print ', '.join(["'{}'".format(name.split('.')[0]) for name in atari_py.list_games()]) +for game in ['adventure', 'air_raid', 'alien', 'amidar', 'assault', 'asterix', 'asteroids', 'atlantis', + 'bank_heist', 'battle_zone', 'beam_rider', 'berzerk', 'bowling', 'boxing', 'breakout', 'carnival', + 'centipede', 'chopper_command', 'crazy_climber', 'defender', 'demon_attack', 'double_dunk', + 'elevator_action', 'enduro', 'fishing_derby', 'freeway', 'frostbite', 'gopher', 'gravitar', + 'hero', 'ice_hockey', 'jamesbond', 'journey_escape', 'kangaroo', 'krull', 'kung_fu_master', + 'montezuma_revenge', 'ms_pacman', 'name_this_game', 'phoenix', 'pitfall', 'pong', 'pooyan', + 'private_eye', 'qbert', 'riverraid', 'road_runner', 'robotank', 'seaquest', 'skiing', + 'solaris', 'space_invaders', 'star_gunner', 'tennis', 'time_pilot', 'tutankham', 'up_n_down', + 'venture', 'video_pinball', 'wizard_of_wor', 'yars_revenge', 'zaxxon']: + for obs_type in ['image', 'ram']: + # space_invaders should yield SpaceInvaders-v0 and SpaceInvaders-ram-v0 + name = ''.join([g.capitalize() for g in game.split('_')]) + if obs_type == 'ram': + name = '{}-ram'.format(name) + + nondeterministic = False + if game == 'elevator_action' and obs_type == 'ram': + # ElevatorAction-ram-v0 seems to yield slightly + # non-deterministic observations about 10% of the time. We + # should track this down eventually, but for now we just + # mark it as nondeterministic. + nondeterministic = True + + register( + id='{}-v0'.format(name), + entry_point='gym.envs.atari:AtariEnv', + kwargs={'game': game, 'obs_type': obs_type, 'repeat_action_probability': 0.25}, + max_episode_steps=10000, + nondeterministic=nondeterministic, + ) + + register( + id='{}-v4'.format(name), + entry_point='gym.envs.atari:AtariEnv', + kwargs={'game': game, 'obs_type': obs_type}, + max_episode_steps=100000, + nondeterministic=nondeterministic, + ) + + # Standard Deterministic (as in the original DeepMind paper) + if game == 'space_invaders': + frameskip = 3 + else: + frameskip = 4 + + # Use a deterministic frame skip. + register( + id='{}Deterministic-v0'.format(name), + entry_point='gym.envs.atari:AtariEnv', + kwargs={'game': game, 'obs_type': obs_type, 'frameskip': frameskip, 'repeat_action_probability': 0.25}, + max_episode_steps=100000, + nondeterministic=nondeterministic, + ) + + register( + id='{}Deterministic-v4'.format(name), + entry_point='gym.envs.atari:AtariEnv', + kwargs={'game': game, 'obs_type': obs_type, 'frameskip': frameskip}, + max_episode_steps=100000, + nondeterministic=nondeterministic, + ) + + register( + id='{}NoFrameskip-v0'.format(name), + entry_point='gym.envs.atari:AtariEnv', + kwargs={'game': game, 'obs_type': obs_type, 'frameskip': 1, 'repeat_action_probability': 0.25}, # A frameskip of 1 means we get every frame + max_episode_steps=frameskip * 100000, + nondeterministic=nondeterministic, + ) + + # No frameskip. (Atari has no entropy source, so these are + # deterministic environments.) + register( + id='{}NoFrameskip-v4'.format(name), + entry_point='gym.envs.atari:AtariEnv', + kwargs={'game': game, 'obs_type': obs_type, 'frameskip': 1}, # A frameskip of 1 means we get every frame + max_episode_steps=frameskip * 100000, + nondeterministic=nondeterministic, + ) + + +# Unit test +# --------- + +register( + id='CubeCrash-v0', + entry_point='gym.envs.unittest:CubeCrash', + reward_threshold=0.9, + ) +register( + id='CubeCrashSparse-v0', + entry_point='gym.envs.unittest:CubeCrashSparse', + reward_threshold=0.9, + ) +register( + id='CubeCrashScreenBecomesBlack-v0', + entry_point='gym.envs.unittest:CubeCrashScreenBecomesBlack', + reward_threshold=0.9, + ) + +register( + id='MemorizeDigits-v0', + entry_point='gym.envs.unittest:MemorizeDigits', + reward_threshold=20, + ) + +register( + id='Dota-v0', + entry_point='gym.envs.classic_control:Continuous_DotaEnv', + max_episode_steps=999, + reward_threshold=90.0, +) + diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/__pycache__/__init__.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e9a27492d4d771cfb2afab33a2431cce82ce7f55 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/__pycache__/__init__.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/__pycache__/registration.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/__pycache__/registration.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..78078cec932b28f983e4896317476a75fbc47db2 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/__pycache__/registration.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..da5e7192d255b150e74b6cb4090c0a50ac696824 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/__init__.py @@ -0,0 +1,5 @@ +from gym.envs.algorithmic.copy_ import CopyEnv +from gym.envs.algorithmic.repeat_copy import RepeatCopyEnv +from gym.envs.algorithmic.duplicated_input import DuplicatedInputEnv +from gym.envs.algorithmic.reverse import ReverseEnv +from gym.envs.algorithmic.reversed_addition import ReversedAdditionEnv diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/algorithmic_env.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/algorithmic_env.py new file mode 100644 index 0000000000000000000000000000000000000000..4a7ed75368cb395f577f0e16832f2452a81c7b4e --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/algorithmic_env.py @@ -0,0 +1,333 @@ +""" +Algorithmic environments have the following traits in common: + +- A 1-d "input tape" or 2-d "input grid" of characters +- A target string which is a deterministic function of the input characters + +Agents control a read head that moves over the input tape. Observations consist +of the single character currently under the read head. The read head may fall +off the end of the tape in any direction. When this happens, agents will observe +a special blank character (with index=env.base) until they get back in bounds. + +Actions consist of 3 sub-actions: + - Direction to move the read head (left or right, plus up and down for 2-d envs) + - Whether to write to the output tape + - Which character to write (ignored if the above sub-action is 0) + +An episode ends when: + - The agent writes the full target string to the output tape. + - The agent writes an incorrect character. + - The agent runs out the time limit. (Which is fairly conservative.) + +Reward schedule: + write a correct character: +1 + write a wrong character: -.5 + run out the clock: -1 + otherwise: 0 + +In the beginning, input strings will be fairly short. After an environment has +been consistently solved over some window of episodes, the environment will +increase the average length of generated strings. Typical env specs require +leveling up many times to reach their reward threshold. +""" +from gym import Env, logger +from gym.spaces import Discrete, Tuple +from gym.utils import colorize, seeding +import sys +from contextlib import closing +import numpy as np +from six import StringIO + + +class AlgorithmicEnv(Env): + + metadata = {'render.modes': ['human', 'ansi']} + # Only 'promote' the length of generated input strings if the worst of the + # last n episodes was no more than this far from the maximum reward + MIN_REWARD_SHORTFALL_FOR_PROMOTION = -1.0 + + def __init__(self, base=10, chars=False, starting_min_length=2): + """ + base: Number of distinct characters. + chars: If True, use uppercase alphabet. Otherwise, digits. Only affects + rendering. + starting_min_length: Minimum input string length. Ramps up as episodes + are consistently solved. + """ + self.base = base + # Keep track of this many past episodes + self.last = 10 + # Cumulative reward earned this episode + self.episode_total_reward = None + # Running tally of reward shortfalls. e.g. if there were 10 points to + # earn and we got 8, we'd append -2 + AlgorithmicEnv.reward_shortfalls = [] + if chars: + self.charmap = [chr(ord('A')+i) for i in range(base)] + else: + self.charmap = [str(i) for i in range(base)] + self.charmap.append(' ') + # TODO: Not clear why this is a class variable rather than instance. + # Could lead to some spooky action at a distance if someone is working + # with multiple algorithmic envs at once. Also makes testing tricky. + AlgorithmicEnv.min_length = starting_min_length + # Three sub-actions: + # 1. Move read head left or right (or up/down) + # 2. Write or not + # 3. Which character to write. (Ignored if should_write=0) + self.action_space = Tuple( + [Discrete(len(self.MOVEMENTS)), Discrete(2), Discrete(self.base)] + ) + # Can see just what is on the input tape (one of n characters, or + # nothing) + self.observation_space = Discrete(self.base + 1) + self.seed() + self.reset() + + @classmethod + def _movement_idx(kls, movement_name): + return kls.MOVEMENTS.index(movement_name) + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def _get_obs(self, pos=None): + """Return an observation corresponding to the given read head position + (or the current read head position, if none is given).""" + raise NotImplementedError + + def _get_str_obs(self, pos=None): + ret = self._get_obs(pos) + return self.charmap[ret] + + def _get_str_target(self, pos): + """Return the ith character of the target string (or " " if index + out of bounds).""" + if pos < 0 or len(self.target) <= pos: + return " " + else: + return self.charmap[self.target[pos]] + + def render_observation(self): + """Return a string representation of the input tape/grid.""" + raise NotImplementedError + + def render(self, mode='human'): + outfile = StringIO() if mode == 'ansi' else sys.stdout + inp = "Total length of input instance: %d, step: %d\n" % (self.input_width, self.time) + outfile.write(inp) + x, y, action = self.read_head_position, self.write_head_position, self.last_action + if action is not None: + inp_act, out_act, pred = action + outfile.write("=" * (len(inp) - 1) + "\n") + y_str = "Output Tape : " + target_str = "Targets : " + if action is not None: + pred_str = self.charmap[pred] + x_str = self.render_observation() + for i in range(-2, len(self.target) + 2): + target_str += self._get_str_target(i) + if i < y - 1: + y_str += self._get_str_target(i) + elif i == (y - 1): + if action is not None and out_act == 1: + color = 'green' if pred == self.target[i] else 'red' + y_str += colorize(pred_str, color, highlight=True) + else: + y_str += self._get_str_target(i) + outfile.write(x_str) + outfile.write(y_str + "\n") + outfile.write(target_str + "\n\n") + + if action is not None: + outfile.write("Current reward : %.3f\n" % self.last_reward) + outfile.write("Cumulative reward : %.3f\n" % self.episode_total_reward) + move = self.MOVEMENTS[inp_act] + outfile.write("Action : Tuple(move over input: %s,\n" % move) + out_act = out_act == 1 + outfile.write(" write to the output tape: %s,\n" % out_act) + outfile.write(" prediction: %s)\n" % pred_str) + else: + outfile.write("\n" * 5) + + if mode != 'human': + with closing(outfile): + return outfile.getvalue() + + @property + def input_width(self): + return len(self.input_data) + + def step(self, action): + assert self.action_space.contains(action) + self.last_action = action + inp_act, out_act, pred = action + done = False + reward = 0.0 + self.time += 1 + assert 0 <= self.write_head_position + if out_act == 1: + try: + correct = pred == self.target[self.write_head_position] + except IndexError: + logger.warn( + "It looks like you're calling step() even though this " + "environment has already returned done=True. You should " + "always call reset() once you receive done=True. Any " + "further steps are undefined behaviour.") + correct = False + if correct: + reward = 1.0 + else: + # Bail as soon as a wrong character is written to the tape + reward = -0.5 + done = True + self.write_head_position += 1 + if self.write_head_position >= len(self.target): + done = True + self._move(inp_act) + if self.time > self.time_limit: + reward = -1.0 + done = True + obs = self._get_obs() + self.last_reward = reward + self.episode_total_reward += reward + return (obs, reward, done, {}) + + @property + def time_limit(self): + """If an agent takes more than this many timesteps, end the episode + immediately and return a negative reward.""" + # (Seemingly arbitrary) + return self.input_width + len(self.target) + 4 + + def _check_levelup(self): + """Called between episodes. Update our running record of episode rewards + and, if appropriate, 'level up' minimum input length.""" + if self.episode_total_reward is None: + # This is before the first episode/call to reset(). Nothing to do + return + AlgorithmicEnv.reward_shortfalls.append(self.episode_total_reward - len(self.target)) + AlgorithmicEnv.reward_shortfalls = AlgorithmicEnv.reward_shortfalls[-self.last:] + if len(AlgorithmicEnv.reward_shortfalls) == self.last and \ + min(AlgorithmicEnv.reward_shortfalls) >= self.MIN_REWARD_SHORTFALL_FOR_PROMOTION and \ + AlgorithmicEnv.min_length < 30: + AlgorithmicEnv.min_length += 1 + AlgorithmicEnv.reward_shortfalls = [] + + def reset(self): + self._check_levelup() + self.last_action = None + self.last_reward = 0 + self.read_head_position = self.READ_HEAD_START + self.write_head_position = 0 + self.episode_total_reward = 0.0 + self.time = 0 + length = self.np_random.randint(3) + AlgorithmicEnv.min_length + self.input_data = self.generate_input_data(length) + self.target = self.target_from_input_data(self.input_data) + return self._get_obs() + + def generate_input_data(self, size): + raise NotImplementedError + + def target_from_input_data(self, input_data): + raise NotImplementedError("Subclasses must implement") + + def _move(self, movement): + raise NotImplementedError + + +class TapeAlgorithmicEnv(AlgorithmicEnv): + """An algorithmic env with a 1-d input tape.""" + MOVEMENTS = ['left', 'right'] + READ_HEAD_START = 0 + + def _move(self, movement): + named = self.MOVEMENTS[movement] + self.read_head_position += 1 if named == 'right' else -1 + + def _get_obs(self, pos=None): + if pos is None: + pos = self.read_head_position + if pos < 0: + return self.base + if isinstance(pos, np.ndarray): + pos = pos.item() + try: + return self.input_data[pos] + except IndexError: + return self.base + + def generate_input_data(self, size): + return [self.np_random.randint(self.base) for _ in range(size)] + + def render_observation(self): + x = self.read_head_position + x_str = "Observation Tape : " + for i in range(-2, self.input_width + 2): + if i == x: + x_str += colorize(self._get_str_obs(np.array([i])), 'green', highlight=True) + else: + x_str += self._get_str_obs(np.array([i])) + x_str += "\n" + return x_str + + +class GridAlgorithmicEnv(AlgorithmicEnv): + """An algorithmic env with a 2-d input grid.""" + MOVEMENTS = ['left', 'right', 'up', 'down'] + READ_HEAD_START = (0, 0) + + def __init__(self, rows, *args, **kwargs): + self.rows = rows + AlgorithmicEnv.__init__(self, *args, **kwargs) + + def _move(self, movement): + named = self.MOVEMENTS[movement] + x, y = self.read_head_position + if named == 'left': + x -= 1 + elif named == 'right': + x += 1 + elif named == 'up': + y -= 1 + elif named == 'down': + y += 1 + else: + raise ValueError("Unrecognized direction: {}".format(named)) + self.read_head_position = x, y + + def generate_input_data(self, size): + return [ + [self.np_random.randint(self.base) for _ in range(self.rows)] + for __ in range(size) + ] + + def _get_obs(self, pos=None): + if pos is None: + pos = self.read_head_position + x, y = pos + if any(idx < 0 for idx in pos): + return self.base + try: + return self.input_data[x][y] + except IndexError: + return self.base + + def render_observation(self): + x = self.read_head_position + label = "Observation Grid : " + x_str = "" + for j in range(-1, self.rows+1): + if j != -1: + x_str += " " * len(label) + for i in range(-2, self.input_width + 2): + if i == x[0] and j == x[1]: + x_str += colorize(self._get_str_obs((i, j)), 'green', highlight=True) + else: + x_str += self._get_str_obs((i, j)) + x_str += "\n" + x_str = label + x_str + return x_str diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/copy_.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/copy_.py new file mode 100644 index 0000000000000000000000000000000000000000..de8a69e77608ab5df519f9e33fa95e83f0925f72 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/copy_.py @@ -0,0 +1,13 @@ +""" +Task is to copy content from the input tape to +the output tape. http://arxiv.org/abs/1511.07275 +""" +from gym.envs.algorithmic import algorithmic_env + + +class CopyEnv(algorithmic_env.TapeAlgorithmicEnv): + def __init__(self, base=5, chars=True): + super(CopyEnv, self).__init__(base=base, chars=chars) + + def target_from_input_data(self, input_data): + return input_data diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/duplicated_input.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/duplicated_input.py new file mode 100644 index 0000000000000000000000000000000000000000..a6cc86e927e993526ca3f902ae130e32b7a8064e --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/duplicated_input.py @@ -0,0 +1,25 @@ +""" +Task is to return every nth character from the input tape. +http://arxiv.org/abs/1511.07275 +""" +from __future__ import division +from gym.envs.algorithmic import algorithmic_env + + +class DuplicatedInputEnv(algorithmic_env.TapeAlgorithmicEnv): + def __init__(self, duplication=2, base=5): + self.duplication = duplication + super(DuplicatedInputEnv, self).__init__(base=base, chars=True) + + def generate_input_data(self, size): + res = [] + if size < self.duplication: + size = self.duplication + for i in range(size//self.duplication): + char = self.np_random.randint(self.base) + for _ in range(self.duplication): + res.append(char) + return res + + def target_from_input_data(self, input_data): + return [input_data[i] for i in range(0, len(input_data), self.duplication)] diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/repeat_copy.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/repeat_copy.py new file mode 100644 index 0000000000000000000000000000000000000000..fa8559bc200793d954a5d2a83baecfb2c4b77117 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/repeat_copy.py @@ -0,0 +1,16 @@ +""" +Task is to copy content multiple times from the input tape to +the output tape. http://arxiv.org/abs/1511.07275 +""" +from gym.envs.algorithmic import algorithmic_env + + +class RepeatCopyEnv(algorithmic_env.TapeAlgorithmicEnv): + MIN_REWARD_SHORTFALL_FOR_PROMOTION = -.1 + + def __init__(self, base=5): + super(RepeatCopyEnv, self).__init__(base=base, chars=True) + self.last = 50 + + def target_from_input_data(self, input_data): + return input_data + list(reversed(input_data)) + input_data diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/reverse.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/reverse.py new file mode 100644 index 0000000000000000000000000000000000000000..d5c025aff02b14cc4622ef5adc29d67af32a0cf9 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/reverse.py @@ -0,0 +1,16 @@ +""" +Task is to reverse content over the input tape. +http://arxiv.org/abs/1511.07275 +""" +from gym.envs.algorithmic import algorithmic_env + + +class ReverseEnv(algorithmic_env.TapeAlgorithmicEnv): + MIN_REWARD_SHORTFALL_FOR_PROMOTION = -.1 + + def __init__(self, base=2): + super(ReverseEnv, self).__init__(base=base, chars=True, starting_min_length=1) + self.last = 50 + + def target_from_input_data(self, input_str): + return list(reversed(input_str)) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/reversed_addition.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/reversed_addition.py new file mode 100644 index 0000000000000000000000000000000000000000..976412d8b901b3b788b4e76d6a541369ba7e9972 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/reversed_addition.py @@ -0,0 +1,30 @@ +from __future__ import division +from gym.envs.algorithmic import algorithmic_env + + +class ReversedAdditionEnv(algorithmic_env.GridAlgorithmicEnv): + def __init__(self, rows=2, base=3): + super(ReversedAdditionEnv, self).__init__(rows=rows, base=base, chars=False) + + def target_from_input_data(self, input_strings): + curry = 0 + target = [] + for digits in input_strings: + total = sum(digits) + curry + target.append(total % self.base) + curry = total // self.base + + if curry > 0: + target.append(curry) + return target + + @property + def time_limit(self): + # Quirk preserved for the sake of consistency: add the length of the input + # rather than the length of the desired output (which may differ if there's + # an extra carried digit). + # TODO: It seems like this time limit is so strict as to make Addition3-v0 + # unsolvable, since agents aren't even given enough time steps to look at + # all the digits. (The solutions on the scoreboard seem to only work by + # save-scumming.) + return self.input_width*2 + 4 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/tests/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/tests/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/tests/test_algorithmic.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/tests/test_algorithmic.py new file mode 100644 index 0000000000000000000000000000000000000000..7857f055968ce00099b2196b1623ce0bfa78a826 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/algorithmic/tests/test_algorithmic.py @@ -0,0 +1,239 @@ +from gym.envs import algorithmic as alg +import unittest + +# All concrete subclasses of AlgorithmicEnv +ALL_ENVS = [ + alg.copy_.CopyEnv, + alg.duplicated_input.DuplicatedInputEnv, + alg.repeat_copy.RepeatCopyEnv, + alg.reverse.ReverseEnv, + alg.reversed_addition.ReversedAdditionEnv, +] +ALL_TAPE_ENVS = [env for env in ALL_ENVS + if issubclass(env, alg.algorithmic_env.TapeAlgorithmicEnv)] +ALL_GRID_ENVS = [env for env in ALL_ENVS + if issubclass(env, alg.algorithmic_env.GridAlgorithmicEnv)] + +def imprint(env, input_arr): + """Monkey-patch the given environment so that when reset() is called, the + input tape/grid will be set to the given data, rather than being randomly + generated.""" + env.generate_input_data = lambda _: input_arr + +class TestAlgorithmicEnvInteractions(unittest.TestCase): + """Test some generic behaviour not specific to any particular algorithmic + environment. Movement, allocation of rewards, etc.""" + CANNED_INPUT = [0, 1] + ENV_KLS = alg.copy_.CopyEnv + LEFT, RIGHT = ENV_KLS._movement_idx('left'), ENV_KLS._movement_idx('right') + def setUp(self): + self.env = self.ENV_KLS(base=2, chars=True) + imprint(self.env, self.CANNED_INPUT) + + def test_successful_interaction(self): + obs = self.env.reset() + self.assertEqual(obs, 0) + obs, reward, done, _ = self.env.step([self.RIGHT, 1, 0]) + self.assertEqual(obs, 1) + self.assertGreater(reward, 0) + self.assertFalse(done) + obs, reward, done, _ = self.env.step([self.LEFT, 1, 1]) + self.assertTrue(done) + self.assertGreater(reward, 0) + + def test_bad_output_fail_fast(self): + obs = self.env.reset() + obs, reward, done, _ = self.env.step([self.RIGHT, 1, 1]) + self.assertTrue(done) + self.assertLess(reward, 0) + + def test_levelup(self): + obs = self.env.reset() + # Kind of a hack + alg.algorithmic_env.AlgorithmicEnv.reward_shortfalls = [] + min_length = self.env.min_length + for i in range(self.env.last): + obs, reward, done, _ = self.env.step([self.RIGHT, 1, 0]) + self.assertFalse(done) + obs, reward, done, _ = self.env.step([self.RIGHT, 1, 1]) + self.assertTrue(done) + self.env.reset() + if i < self.env.last-1: + self.assertEqual(len(alg.algorithmic_env.AlgorithmicEnv.reward_shortfalls), i+1) + else: + # Should have leveled up on the last iteration + self.assertEqual(self.env.min_length, min_length+1) + self.assertEqual(len(alg.algorithmic_env.AlgorithmicEnv.reward_shortfalls), 0) + + def test_walk_off_the_end(self): + obs = self.env.reset() + # Walk off the end + obs, r, done, _ = self.env.step([self.LEFT, 0, 0]) + self.assertEqual(obs, self.env.base) + self.assertEqual(r, 0) + self.assertFalse(done) + # Walk further off track + obs, r, done, _ = self.env.step([self.LEFT, 0, 0]) + self.assertEqual(obs, self.env.base) + self.assertFalse(done) + # Return to the first input character + obs, r, done, _ = self.env.step([self.RIGHT, 0, 0]) + self.assertEqual(obs, self.env.base) + self.assertFalse(done) + obs, r, done, _ = self.env.step([self.RIGHT, 0, 0]) + self.assertEqual(obs, 0) + + def test_grid_naviation(self): + env = alg.reversed_addition.ReversedAdditionEnv(rows=2, base=6) + N,S,E,W = [env._movement_idx(named_dir) for named_dir in ['up', 'down', 'right', 'left']] + # Corresponds to a grid that looks like... + # 0 1 2 + # 3 4 5 + canned = [ [0, 3], [1, 4], [2, 5] ] + imprint(env, canned) + obs = env.reset() + self.assertEqual(obs, 0) + navigation = [ + (S, 3), (N, 0), (E, 1), (S, 4), (S, 6), (E, 6), (N, 5), (N, 2), (W, 1) + ] + for (movement, expected_obs) in navigation: + obs, reward, done, _ = env.step([movement, 0, 0]) + self.assertEqual(reward, 0) + self.assertFalse(done) + self.assertEqual(obs, expected_obs) + + def test_grid_success(self): + env = alg.reversed_addition.ReversedAdditionEnv(rows=2, base=3) + canned = [ [1, 2], [1, 0], [2, 2] ] + imprint(env, canned) + obs = env.reset() + target = [0, 2, 1, 1] + self.assertEqual(env.target, target) + self.assertEqual(obs, 1) + for i, target_digit in enumerate(target): + obs, reward, done, _ = env.step([0, 1, target_digit]) + self.assertGreater(reward, 0) + self.assertEqual(done, i==len(target)-1) + + def test_sane_time_limit(self): + obs = self.env.reset() + self.assertLess(self.env.time_limit, 100) + for _ in range(100): + obs, r, done, _ = self.env.step([self.LEFT, 0, 0]) + if done: + return + self.fail("Time limit wasn't enforced") + + def test_rendering(self): + env = self.env + obs = env.reset() + self.assertEqual(env._get_str_obs(), 'A') + self.assertEqual(env._get_str_obs(1), 'B') + self.assertEqual(env._get_str_obs(-1), ' ') + self.assertEqual(env._get_str_obs(2), ' ') + self.assertEqual(env._get_str_target(0), 'A') + self.assertEqual(env._get_str_target(1), 'B') + # Test numerical alphabet rendering + env = self.ENV_KLS(base=3, chars=False) + imprint(env, self.CANNED_INPUT) + env.reset() + self.assertEqual(env._get_str_obs(), '0') + self.assertEqual(env._get_str_obs(1), '1') + + +class TestTargets(unittest.TestCase): + """Test the rules mapping input strings/grids to target outputs.""" + def test_reverse_target(self): + input_expected = [ + ([0], [0]), + ([0, 1], [1, 0]), + ([1, 1], [1, 1]), + ([1, 0, 1], [1, 0, 1]), + ([0, 0, 1, 1], [1, 1, 0, 0]), + ] + env = alg.reverse.ReverseEnv() + for input_arr, expected in input_expected: + target = env.target_from_input_data(input_arr) + self.assertEqual(target, expected) + + def test_reversed_addition_target(self): + env = alg.reversed_addition.ReversedAdditionEnv(base=3) + input_expected = [ + ([[1,1], [1,1]], [2, 2]), + ([[2,2], [0,1]], [1, 2]), + ([[2,1], [1,1], [1,1], [1,0]], [0, 0, 0, 2]), + ] + for (input_grid, expected_target) in input_expected: + self.assertEqual(env.target_from_input_data(input_grid), expected_target) + + def test_reversed_addition_3rows(self): + env = alg.reversed_addition.ReversedAdditionEnv(base=3, rows=3) + input_expected = [ + ([[1,1,0],[0,1,1]], [2, 2]), + ([[1,1,2],[0,1,1]], [1,0,1]), + ] + for (input_grid, expected_target) in input_expected: + self.assertEqual(env.target_from_input_data(input_grid), expected_target) + + def test_copy_target(self): + env = alg.copy_.CopyEnv() + self.assertEqual(env.target_from_input_data([0, 1, 2]), [0, 1, 2]) + + def test_duplicated_input_target(self): + env = alg.duplicated_input.DuplicatedInputEnv(duplication=2) + self.assertEqual(env.target_from_input_data([0, 0, 0, 0, 1, 1]), [0, 0, 1]) + + def test_repeat_copy_target(self): + env = alg.repeat_copy.RepeatCopyEnv() + self.assertEqual(env.target_from_input_data([0, 1, 2]), [0, 1, 2, 2, 1, 0, 0, 1, 2]) + +class TestInputGeneration(unittest.TestCase): + """Test random input generation. + """ + def test_tape_inputs(self): + for env_kls in ALL_TAPE_ENVS: + env = env_kls() + for size in range(2,5): + input_tape = env.generate_input_data(size) + self.assertTrue(all(0<=x<=env.base for x in input_tape), + "Invalid input tape from env {}: {}".format(env_kls, input_tape)) + # DuplicatedInput needs to generate inputs with even length, + # so it may be short one + self.assertLessEqual(len(input_tape), size) + + def test_grid_inputs(self): + for env_kls in ALL_GRID_ENVS: + env = env_kls() + for size in range(2, 5): + input_grid = env.generate_input_data(size) + # Should get "size" sublists, each of length self.rows (not the + # opposite, as you might expect) + self.assertEqual(len(input_grid), size) + self.assertTrue(all(len(col) == env.rows for col in input_grid)) + self.assertTrue(all(0<=x<=env.base for x in input_grid[0])) + + def test_duplicatedinput_inputs(self): + """The duplicated_input env needs to generate strings with the appropriate + amount of repetiion.""" + env = alg.duplicated_input.DuplicatedInputEnv(duplication=2) + input_tape = env.generate_input_data(4) + self.assertEqual(len(input_tape), 4) + self.assertEqual(input_tape[0], input_tape[1]) + self.assertEqual(input_tape[2], input_tape[3]) + # If requested input size isn't a multiple of duplication, go lower + input_tape = env.generate_input_data(3) + self.assertEqual(len(input_tape), 2) + self.assertEqual(input_tape[0], input_tape[1]) + # If requested input size is *less than* duplication, go up + input_tape = env.generate_input_data(1) + self.assertEqual(len(input_tape), 2) + self.assertEqual(input_tape[0], input_tape[1]) + + env = alg.duplicated_input.DuplicatedInputEnv(duplication=3) + input_tape = env.generate_input_data(6) + self.assertEqual(len(input_tape), 6) + self.assertEqual(input_tape[0], input_tape[1]) + self.assertEqual(input_tape[1], input_tape[2]) + +if __name__ == '__main__': + unittest.main() diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/atari/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/atari/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..351106eaaa1f0aa6970dcff5f0c4a0a4bd7b5cc1 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/atari/__init__.py @@ -0,0 +1 @@ +from gym.envs.atari.atari_env import AtariEnv diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/atari/atari_env.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/atari/atari_env.py new file mode 100644 index 0000000000000000000000000000000000000000..c516fa74d67984b6af42755b286a302b70f5549d --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/atari/atari_env.py @@ -0,0 +1,213 @@ +import numpy as np +import os +import gym +from gym import error, spaces +from gym import utils +from gym.utils import seeding + +try: + import atari_py +except ImportError as e: + raise error.DependencyNotInstalled( + "{}. (HINT: you can install Atari dependencies by running " + "'pip install gym[atari]'.)".format(e)) + + +def to_ram(ale): + ram_size = ale.getRAMSize() + ram = np.zeros((ram_size), dtype=np.uint8) + ale.getRAM(ram) + return ram + + +class AtariEnv(gym.Env, utils.EzPickle): + metadata = {'render.modes': ['human', 'rgb_array']} + + def __init__( + self, + game='pong', + obs_type='ram', + frameskip=(2, 5), + repeat_action_probability=0., + full_action_space=False): + """Frameskip should be either a tuple (indicating a random range to + choose from, with the top value exclude), or an int.""" + + utils.EzPickle.__init__( + self, + game, + obs_type, + frameskip, + repeat_action_probability) + assert obs_type in ('ram', 'image') + + self.game_path = atari_py.get_game_path(game) + if not os.path.exists(self.game_path): + msg = 'You asked for game %s but path %s does not exist' + raise IOError(msg % (game, self.game_path)) + self._obs_type = obs_type + self.frameskip = frameskip + self.ale = atari_py.ALEInterface() + self.viewer = None + + # Tune (or disable) ALE's action repeat: + # https://github.com/openai/gym/issues/349 + assert isinstance(repeat_action_probability, (float, int)), \ + "Invalid repeat_action_probability: {!r}".format(repeat_action_probability) + self.ale.setFloat( + 'repeat_action_probability'.encode('utf-8'), + repeat_action_probability) + + self.seed() + + self._action_set = (self.ale.getLegalActionSet() if full_action_space + else self.ale.getMinimalActionSet()) + self.action_space = spaces.Discrete(len(self._action_set)) + + (screen_width, screen_height) = self.ale.getScreenDims() + if self._obs_type == 'ram': + self.observation_space = spaces.Box(low=0, high=255, dtype=np.uint8, shape=(128,)) + elif self._obs_type == 'image': + self.observation_space = spaces.Box(low=0, high=255, shape=(screen_height, screen_width, 3), dtype=np.uint8) + else: + raise error.Error('Unrecognized observation type: {}'.format(self._obs_type)) + + def seed(self, seed=None): + self.np_random, seed1 = seeding.np_random(seed) + # Derive a random seed. This gets passed as a uint, but gets + # checked as an int elsewhere, so we need to keep it below + # 2**31. + seed2 = seeding.hash_seed(seed1 + 1) % 2**31 + # Empirically, we need to seed before loading the ROM. + self.ale.setInt(b'random_seed', seed2) + self.ale.loadROM(self.game_path) + return [seed1, seed2] + + def step(self, a): + reward = 0.0 + action = self._action_set[a] + + if isinstance(self.frameskip, int): + num_steps = self.frameskip + else: + num_steps = self.np_random.randint(self.frameskip[0], self.frameskip[1]) + for _ in range(num_steps): + reward += self.ale.act(action) + ob = self._get_obs() + + return ob, reward, self.ale.game_over(), {"ale.lives": self.ale.lives()} + + def _get_image(self): + return self.ale.getScreenRGB2() + + def _get_ram(self): + return to_ram(self.ale) + + @property + def _n_actions(self): + return len(self._action_set) + + def _get_obs(self): + if self._obs_type == 'ram': + return self._get_ram() + elif self._obs_type == 'image': + img = self._get_image() + return img + + # return: (states, observations) + def reset(self): + self.ale.reset_game() + return self._get_obs() + + def render(self, mode='human'): + img = self._get_image() + if mode == 'rgb_array': + return img + elif mode == 'human': + from gym.envs.classic_control import rendering + if self.viewer is None: + self.viewer = rendering.SimpleImageViewer() + self.viewer.imshow(img) + return self.viewer.isopen + + def close(self): + if self.viewer is not None: + self.viewer.close() + self.viewer = None + + def get_action_meanings(self): + return [ACTION_MEANING[i] for i in self._action_set] + + def get_keys_to_action(self): + KEYWORD_TO_KEY = { + 'UP': ord('w'), + 'DOWN': ord('s'), + 'LEFT': ord('a'), + 'RIGHT': ord('d'), + 'FIRE': ord(' '), + } + + keys_to_action = {} + + for action_id, action_meaning in enumerate(self.get_action_meanings()): + keys = [] + for keyword, key in KEYWORD_TO_KEY.items(): + if keyword in action_meaning: + keys.append(key) + keys = tuple(sorted(keys)) + + assert keys not in keys_to_action + keys_to_action[keys] = action_id + + return keys_to_action + + def clone_state(self): + """Clone emulator state w/o system state. Restoring this state will + *not* give an identical environment. For complete cloning and restoring + of the full state, see `{clone,restore}_full_state()`.""" + state_ref = self.ale.cloneState() + state = self.ale.encodeState(state_ref) + self.ale.deleteState(state_ref) + return state + + def restore_state(self, state): + """Restore emulator state w/o system state.""" + state_ref = self.ale.decodeState(state) + self.ale.restoreState(state_ref) + self.ale.deleteState(state_ref) + + def clone_full_state(self): + """Clone emulator state w/ system state including pseudorandomness. + Restoring this state will give an identical environment.""" + state_ref = self.ale.cloneSystemState() + state = self.ale.encodeState(state_ref) + self.ale.deleteState(state_ref) + return state + + def restore_full_state(self, state): + """Restore emulator state w/ system state including pseudorandomness.""" + state_ref = self.ale.decodeState(state) + self.ale.restoreSystemState(state_ref) + self.ale.deleteState(state_ref) + + +ACTION_MEANING = { + 0: "NOOP", + 1: "FIRE", + 2: "UP", + 3: "RIGHT", + 4: "LEFT", + 5: "DOWN", + 6: "UPRIGHT", + 7: "UPLEFT", + 8: "DOWNRIGHT", + 9: "DOWNLEFT", + 10: "UPFIRE", + 11: "RIGHTFIRE", + 12: "LEFTFIRE", + 13: "DOWNFIRE", + 14: "UPRIGHTFIRE", + 15: "UPLEFTFIRE", + 16: "DOWNRIGHTFIRE", + 17: "DOWNLEFTFIRE", +} diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..46cb91d389be2debf6f60cbfb79c77be2d13fa40 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/__init__.py @@ -0,0 +1,8 @@ +try: + import Box2D + from gym.envs.box2d.lunar_lander import LunarLander + from gym.envs.box2d.lunar_lander import LunarLanderContinuous + from gym.envs.box2d.bipedal_walker import BipedalWalker, BipedalWalkerHardcore + from gym.envs.box2d.car_racing import CarRacing +except ImportError: + Box2D = None diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/bipedal_walker.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/bipedal_walker.py new file mode 100644 index 0000000000000000000000000000000000000000..32970f33c0768cb10d86d55a7f6a09e771aa86f3 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/bipedal_walker.py @@ -0,0 +1,582 @@ +import sys +import math + +import numpy as np +import Box2D +from Box2D.b2 import (edgeShape, circleShape, fixtureDef, polygonShape, revoluteJointDef, contactListener) + +import gym +from gym import spaces +from gym.utils import colorize, seeding, EzPickle + +# This is simple 4-joints walker robot environment. +# +# There are two versions: +# +# - Normal, with slightly uneven terrain. +# +# - Hardcore with ladders, stumps, pitfalls. +# +# Reward is given for moving forward, total 300+ points up to the far end. If the robot falls, +# it gets -100. Applying motor torque costs a small amount of points, more optimal agent +# will get better score. +# +# Heuristic is provided for testing, it's also useful to get demonstrations to +# learn from. To run heuristic: +# +# python gym/envs/box2d/bipedal_walker.py +# +# State consists of hull angle speed, angular velocity, horizontal speed, vertical speed, +# position of joints and joints angular speed, legs contact with ground, and 10 lidar +# rangefinder measurements to help to deal with the hardcore version. There's no coordinates +# in the state vector. Lidar is less useful in normal version, but it works. +# +# To solve the game you need to get 300 points in 1600 time steps. +# +# To solve hardcore version you need 300 points in 2000 time steps. +# +# Created by Oleg Klimov. Licensed on the same terms as the rest of OpenAI Gym. + +FPS = 50 +SCALE = 30.0 # affects how fast-paced the game is, forces should be adjusted as well + +MOTORS_TORQUE = 80 +SPEED_HIP = 4 +SPEED_KNEE = 6 +LIDAR_RANGE = 160/SCALE + +INITIAL_RANDOM = 5 + +HULL_POLY =[ + (-30,+9), (+6,+9), (+34,+1), + (+34,-8), (-30,-8) + ] +LEG_DOWN = -8/SCALE +LEG_W, LEG_H = 8/SCALE, 34/SCALE + +VIEWPORT_W = 600 +VIEWPORT_H = 400 + +TERRAIN_STEP = 14/SCALE +TERRAIN_LENGTH = 200 # in steps +TERRAIN_HEIGHT = VIEWPORT_H/SCALE/4 +TERRAIN_GRASS = 10 # low long are grass spots, in steps +TERRAIN_STARTPAD = 20 # in steps +FRICTION = 2.5 + +HULL_FD = fixtureDef( + shape=polygonShape(vertices=[ (x/SCALE,y/SCALE) for x,y in HULL_POLY ]), + density=5.0, + friction=0.1, + categoryBits=0x0020, + maskBits=0x001, # collide only with ground + restitution=0.0) # 0.99 bouncy + +LEG_FD = fixtureDef( + shape=polygonShape(box=(LEG_W/2, LEG_H/2)), + density=1.0, + restitution=0.0, + categoryBits=0x0020, + maskBits=0x001) + +LOWER_FD = fixtureDef( + shape=polygonShape(box=(0.8*LEG_W/2, LEG_H/2)), + density=1.0, + restitution=0.0, + categoryBits=0x0020, + maskBits=0x001) + +class ContactDetector(contactListener): + def __init__(self, env): + contactListener.__init__(self) + self.env = env + def BeginContact(self, contact): + if self.env.hull==contact.fixtureA.body or self.env.hull==contact.fixtureB.body: + self.env.game_over = True + for leg in [self.env.legs[1], self.env.legs[3]]: + if leg in [contact.fixtureA.body, contact.fixtureB.body]: + leg.ground_contact = True + def EndContact(self, contact): + for leg in [self.env.legs[1], self.env.legs[3]]: + if leg in [contact.fixtureA.body, contact.fixtureB.body]: + leg.ground_contact = False + +class BipedalWalker(gym.Env, EzPickle): + metadata = { + 'render.modes': ['human', 'rgb_array'], + 'video.frames_per_second' : FPS + } + + hardcore = False + + def __init__(self): + EzPickle.__init__(self) + self.seed() + self.viewer = None + + self.world = Box2D.b2World() + self.terrain = None + self.hull = None + + self.prev_shaping = None + + self.fd_polygon = fixtureDef( + shape = polygonShape(vertices= + [(0, 0), + (1, 0), + (1, -1), + (0, -1)]), + friction = FRICTION) + + self.fd_edge = fixtureDef( + shape = edgeShape(vertices= + [(0, 0), + (1, 1)]), + friction = FRICTION, + categoryBits=0x0001, + ) + + self.reset() + + high = np.array([np.inf] * 24) + self.action_space = spaces.Box(np.array([-1, -1, -1, -1]), np.array([1, 1, 1, 1]), dtype=np.float32) + self.observation_space = spaces.Box(-high, high, dtype=np.float32) + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def _destroy(self): + if not self.terrain: return + self.world.contactListener = None + for t in self.terrain: + self.world.DestroyBody(t) + self.terrain = [] + self.world.DestroyBody(self.hull) + self.hull = None + for leg in self.legs: + self.world.DestroyBody(leg) + self.legs = [] + self.joints = [] + + def _generate_terrain(self, hardcore): + GRASS, STUMP, STAIRS, PIT, _STATES_ = range(5) + state = GRASS + velocity = 0.0 + y = TERRAIN_HEIGHT + counter = TERRAIN_STARTPAD + oneshot = False + self.terrain = [] + self.terrain_x = [] + self.terrain_y = [] + for i in range(TERRAIN_LENGTH): + x = i*TERRAIN_STEP + self.terrain_x.append(x) + + if state==GRASS and not oneshot: + velocity = 0.8*velocity + 0.01*np.sign(TERRAIN_HEIGHT - y) + if i > TERRAIN_STARTPAD: velocity += self.np_random.uniform(-1, 1)/SCALE #1 + y += velocity + + elif state==PIT and oneshot: + counter = self.np_random.randint(3, 5) + poly = [ + (x, y), + (x+TERRAIN_STEP, y), + (x+TERRAIN_STEP, y-4*TERRAIN_STEP), + (x, y-4*TERRAIN_STEP), + ] + self.fd_polygon.shape.vertices=poly + t = self.world.CreateStaticBody( + fixtures = self.fd_polygon) + t.color1, t.color2 = (1,1,1), (0.6,0.6,0.6) + self.terrain.append(t) + + self.fd_polygon.shape.vertices=[(p[0]+TERRAIN_STEP*counter,p[1]) for p in poly] + t = self.world.CreateStaticBody( + fixtures = self.fd_polygon) + t.color1, t.color2 = (1,1,1), (0.6,0.6,0.6) + self.terrain.append(t) + counter += 2 + original_y = y + + elif state==PIT and not oneshot: + y = original_y + if counter > 1: + y -= 4*TERRAIN_STEP + + elif state==STUMP and oneshot: + counter = self.np_random.randint(1, 3) + poly = [ + (x, y), + (x+counter*TERRAIN_STEP, y), + (x+counter*TERRAIN_STEP, y+counter*TERRAIN_STEP), + (x, y+counter*TERRAIN_STEP), + ] + self.fd_polygon.shape.vertices=poly + t = self.world.CreateStaticBody( + fixtures = self.fd_polygon) + t.color1, t.color2 = (1,1,1), (0.6,0.6,0.6) + self.terrain.append(t) + + elif state==STAIRS and oneshot: + stair_height = +1 if self.np_random.rand() > 0.5 else -1 + stair_width = self.np_random.randint(4, 5) + stair_steps = self.np_random.randint(3, 5) + original_y = y + for s in range(stair_steps): + poly = [ + (x+( s*stair_width)*TERRAIN_STEP, y+( s*stair_height)*TERRAIN_STEP), + (x+((1+s)*stair_width)*TERRAIN_STEP, y+( s*stair_height)*TERRAIN_STEP), + (x+((1+s)*stair_width)*TERRAIN_STEP, y+(-1+s*stair_height)*TERRAIN_STEP), + (x+( s*stair_width)*TERRAIN_STEP, y+(-1+s*stair_height)*TERRAIN_STEP), + ] + self.fd_polygon.shape.vertices=poly + t = self.world.CreateStaticBody( + fixtures = self.fd_polygon) + t.color1, t.color2 = (1,1,1), (0.6,0.6,0.6) + self.terrain.append(t) + counter = stair_steps*stair_width + + elif state==STAIRS and not oneshot: + s = stair_steps*stair_width - counter - stair_height + n = s/stair_width + y = original_y + (n*stair_height)*TERRAIN_STEP + + oneshot = False + self.terrain_y.append(y) + counter -= 1 + if counter==0: + counter = self.np_random.randint(TERRAIN_GRASS/2, TERRAIN_GRASS) + if state==GRASS and hardcore: + state = self.np_random.randint(1, _STATES_) + oneshot = True + else: + state = GRASS + oneshot = True + + self.terrain_poly = [] + for i in range(TERRAIN_LENGTH-1): + poly = [ + (self.terrain_x[i], self.terrain_y[i]), + (self.terrain_x[i+1], self.terrain_y[i+1]) + ] + self.fd_edge.shape.vertices=poly + t = self.world.CreateStaticBody( + fixtures = self.fd_edge) + color = (0.3, 1.0 if i%2==0 else 0.8, 0.3) + t.color1 = color + t.color2 = color + self.terrain.append(t) + color = (0.4, 0.6, 0.3) + poly += [ (poly[1][0], 0), (poly[0][0], 0) ] + self.terrain_poly.append( (poly, color) ) + self.terrain.reverse() + + def _generate_clouds(self): + # Sorry for the clouds, couldn't resist + self.cloud_poly = [] + for i in range(TERRAIN_LENGTH//20): + x = self.np_random.uniform(0, TERRAIN_LENGTH)*TERRAIN_STEP + y = VIEWPORT_H/SCALE*3/4 + poly = [ + (x+15*TERRAIN_STEP*math.sin(3.14*2*a/5)+self.np_random.uniform(0,5*TERRAIN_STEP), + y+ 5*TERRAIN_STEP*math.cos(3.14*2*a/5)+self.np_random.uniform(0,5*TERRAIN_STEP) ) + for a in range(5) ] + x1 = min( [p[0] for p in poly] ) + x2 = max( [p[0] for p in poly] ) + self.cloud_poly.append( (poly,x1,x2) ) + + def reset(self): + self._destroy() + self.world.contactListener_bug_workaround = ContactDetector(self) + self.world.contactListener = self.world.contactListener_bug_workaround + self.game_over = False + self.prev_shaping = None + self.scroll = 0.0 + self.lidar_render = 0 + + W = VIEWPORT_W/SCALE + H = VIEWPORT_H/SCALE + + self._generate_terrain(self.hardcore) + self._generate_clouds() + + init_x = TERRAIN_STEP*TERRAIN_STARTPAD/2 + init_y = TERRAIN_HEIGHT+2*LEG_H + self.hull = self.world.CreateDynamicBody( + position = (init_x, init_y), + fixtures = HULL_FD + ) + self.hull.color1 = (0.5,0.4,0.9) + self.hull.color2 = (0.3,0.3,0.5) + self.hull.ApplyForceToCenter((self.np_random.uniform(-INITIAL_RANDOM, INITIAL_RANDOM), 0), True) + + self.legs = [] + self.joints = [] + for i in [-1,+1]: + leg = self.world.CreateDynamicBody( + position = (init_x, init_y - LEG_H/2 - LEG_DOWN), + angle = (i*0.05), + fixtures = LEG_FD + ) + leg.color1 = (0.6-i/10., 0.3-i/10., 0.5-i/10.) + leg.color2 = (0.4-i/10., 0.2-i/10., 0.3-i/10.) + rjd = revoluteJointDef( + bodyA=self.hull, + bodyB=leg, + localAnchorA=(0, LEG_DOWN), + localAnchorB=(0, LEG_H/2), + enableMotor=True, + enableLimit=True, + maxMotorTorque=MOTORS_TORQUE, + motorSpeed = i, + lowerAngle = -0.8, + upperAngle = 1.1, + ) + self.legs.append(leg) + self.joints.append(self.world.CreateJoint(rjd)) + + lower = self.world.CreateDynamicBody( + position = (init_x, init_y - LEG_H*3/2 - LEG_DOWN), + angle = (i*0.05), + fixtures = LOWER_FD + ) + lower.color1 = (0.6-i/10., 0.3-i/10., 0.5-i/10.) + lower.color2 = (0.4-i/10., 0.2-i/10., 0.3-i/10.) + rjd = revoluteJointDef( + bodyA=leg, + bodyB=lower, + localAnchorA=(0, -LEG_H/2), + localAnchorB=(0, LEG_H/2), + enableMotor=True, + enableLimit=True, + maxMotorTorque=MOTORS_TORQUE, + motorSpeed = 1, + lowerAngle = -1.6, + upperAngle = -0.1, + ) + lower.ground_contact = False + self.legs.append(lower) + self.joints.append(self.world.CreateJoint(rjd)) + + self.drawlist = self.terrain + self.legs + [self.hull] + + class LidarCallback(Box2D.b2.rayCastCallback): + def ReportFixture(self, fixture, point, normal, fraction): + if (fixture.filterData.categoryBits & 1) == 0: + return 1 + self.p2 = point + self.fraction = fraction + return 0 + self.lidar = [LidarCallback() for _ in range(10)] + + return self.step(np.array([0,0,0,0]))[0] + + def step(self, action): + #self.hull.ApplyForceToCenter((0, 20), True) -- Uncomment this to receive a bit of stability help + control_speed = False # Should be easier as well + if control_speed: + self.joints[0].motorSpeed = float(SPEED_HIP * np.clip(action[0], -1, 1)) + self.joints[1].motorSpeed = float(SPEED_KNEE * np.clip(action[1], -1, 1)) + self.joints[2].motorSpeed = float(SPEED_HIP * np.clip(action[2], -1, 1)) + self.joints[3].motorSpeed = float(SPEED_KNEE * np.clip(action[3], -1, 1)) + else: + self.joints[0].motorSpeed = float(SPEED_HIP * np.sign(action[0])) + self.joints[0].maxMotorTorque = float(MOTORS_TORQUE * np.clip(np.abs(action[0]), 0, 1)) + self.joints[1].motorSpeed = float(SPEED_KNEE * np.sign(action[1])) + self.joints[1].maxMotorTorque = float(MOTORS_TORQUE * np.clip(np.abs(action[1]), 0, 1)) + self.joints[2].motorSpeed = float(SPEED_HIP * np.sign(action[2])) + self.joints[2].maxMotorTorque = float(MOTORS_TORQUE * np.clip(np.abs(action[2]), 0, 1)) + self.joints[3].motorSpeed = float(SPEED_KNEE * np.sign(action[3])) + self.joints[3].maxMotorTorque = float(MOTORS_TORQUE * np.clip(np.abs(action[3]), 0, 1)) + + self.world.Step(1.0/FPS, 6*30, 2*30) + + pos = self.hull.position + vel = self.hull.linearVelocity + + for i in range(10): + self.lidar[i].fraction = 1.0 + self.lidar[i].p1 = pos + self.lidar[i].p2 = ( + pos[0] + math.sin(1.5*i/10.0)*LIDAR_RANGE, + pos[1] - math.cos(1.5*i/10.0)*LIDAR_RANGE) + self.world.RayCast(self.lidar[i], self.lidar[i].p1, self.lidar[i].p2) + + state = [ + self.hull.angle, # Normal angles up to 0.5 here, but sure more is possible. + 2.0*self.hull.angularVelocity/FPS, + 0.3*vel.x*(VIEWPORT_W/SCALE)/FPS, # Normalized to get -1..1 range + 0.3*vel.y*(VIEWPORT_H/SCALE)/FPS, + self.joints[0].angle, # This will give 1.1 on high up, but it's still OK (and there should be spikes on hiting the ground, that's normal too) + self.joints[0].speed / SPEED_HIP, + self.joints[1].angle + 1.0, + self.joints[1].speed / SPEED_KNEE, + 1.0 if self.legs[1].ground_contact else 0.0, + self.joints[2].angle, + self.joints[2].speed / SPEED_HIP, + self.joints[3].angle + 1.0, + self.joints[3].speed / SPEED_KNEE, + 1.0 if self.legs[3].ground_contact else 0.0 + ] + state += [l.fraction for l in self.lidar] + assert len(state)==24 + + self.scroll = pos.x - VIEWPORT_W/SCALE/5 + + shaping = 130*pos[0]/SCALE # moving forward is a way to receive reward (normalized to get 300 on completion) + shaping -= 5.0*abs(state[0]) # keep head straight, other than that and falling, any behavior is unpunished + + reward = 0 + if self.prev_shaping is not None: + reward = shaping - self.prev_shaping + self.prev_shaping = shaping + + for a in action: + reward -= 0.00035 * MOTORS_TORQUE * np.clip(np.abs(a), 0, 1) + # normalized to about -50.0 using heuristic, more optimal agent should spend less + + done = False + if self.game_over or pos[0] < 0: + reward = -100 + done = True + if pos[0] > (TERRAIN_LENGTH-TERRAIN_GRASS)*TERRAIN_STEP: + done = True + return np.array(state), reward, done, {} + + def render(self, mode='human'): + from gym.envs.classic_control import rendering + if self.viewer is None: + self.viewer = rendering.Viewer(VIEWPORT_W, VIEWPORT_H) + self.viewer.set_bounds(self.scroll, VIEWPORT_W/SCALE + self.scroll, 0, VIEWPORT_H/SCALE) + + self.viewer.draw_polygon( [ + (self.scroll, 0), + (self.scroll+VIEWPORT_W/SCALE, 0), + (self.scroll+VIEWPORT_W/SCALE, VIEWPORT_H/SCALE), + (self.scroll, VIEWPORT_H/SCALE), + ], color=(0.9, 0.9, 1.0) ) + for poly,x1,x2 in self.cloud_poly: + if x2 < self.scroll/2: continue + if x1 > self.scroll/2 + VIEWPORT_W/SCALE: continue + self.viewer.draw_polygon( [(p[0]+self.scroll/2, p[1]) for p in poly], color=(1,1,1)) + for poly, color in self.terrain_poly: + if poly[1][0] < self.scroll: continue + if poly[0][0] > self.scroll + VIEWPORT_W/SCALE: continue + self.viewer.draw_polygon(poly, color=color) + + self.lidar_render = (self.lidar_render+1) % 100 + i = self.lidar_render + if i < 2*len(self.lidar): + l = self.lidar[i] if i < len(self.lidar) else self.lidar[len(self.lidar)-i-1] + self.viewer.draw_polyline( [l.p1, l.p2], color=(1,0,0), linewidth=1 ) + + for obj in self.drawlist: + for f in obj.fixtures: + trans = f.body.transform + if type(f.shape) is circleShape: + t = rendering.Transform(translation=trans*f.shape.pos) + self.viewer.draw_circle(f.shape.radius, 30, color=obj.color1).add_attr(t) + self.viewer.draw_circle(f.shape.radius, 30, color=obj.color2, filled=False, linewidth=2).add_attr(t) + else: + path = [trans*v for v in f.shape.vertices] + self.viewer.draw_polygon(path, color=obj.color1) + path.append(path[0]) + self.viewer.draw_polyline(path, color=obj.color2, linewidth=2) + + flagy1 = TERRAIN_HEIGHT + flagy2 = flagy1 + 50/SCALE + x = TERRAIN_STEP*3 + self.viewer.draw_polyline( [(x, flagy1), (x, flagy2)], color=(0,0,0), linewidth=2 ) + f = [(x, flagy2), (x, flagy2-10/SCALE), (x+25/SCALE, flagy2-5/SCALE)] + self.viewer.draw_polygon(f, color=(0.9,0.2,0) ) + self.viewer.draw_polyline(f + [f[0]], color=(0,0,0), linewidth=2 ) + + return self.viewer.render(return_rgb_array = mode=='rgb_array') + + def close(self): + if self.viewer is not None: + self.viewer.close() + self.viewer = None + +class BipedalWalkerHardcore(BipedalWalker): + hardcore = True + +if __name__=="__main__": + # Heurisic: suboptimal, have no notion of balance. + env = BipedalWalker() + env.reset() + steps = 0 + total_reward = 0 + a = np.array([0.0, 0.0, 0.0, 0.0]) + STAY_ON_ONE_LEG, PUT_OTHER_DOWN, PUSH_OFF = 1,2,3 + SPEED = 0.29 # Will fall forward on higher speed + state = STAY_ON_ONE_LEG + moving_leg = 0 + supporting_leg = 1 - moving_leg + SUPPORT_KNEE_ANGLE = +0.1 + supporting_knee_angle = SUPPORT_KNEE_ANGLE + while True: + s, r, done, info = env.step(a) + total_reward += r + if steps % 20 == 0 or done: + print("\naction " + str(["{:+0.2f}".format(x) for x in a])) + print("step {} total_reward {:+0.2f}".format(steps, total_reward)) + print("hull " + str(["{:+0.2f}".format(x) for x in s[0:4] ])) + print("leg0 " + str(["{:+0.2f}".format(x) for x in s[4:9] ])) + print("leg1 " + str(["{:+0.2f}".format(x) for x in s[9:14]])) + steps += 1 + + contact0 = s[8] + contact1 = s[13] + moving_s_base = 4 + 5*moving_leg + supporting_s_base = 4 + 5*supporting_leg + + hip_targ = [None,None] # -0.8 .. +1.1 + knee_targ = [None,None] # -0.6 .. +0.9 + hip_todo = [0.0, 0.0] + knee_todo = [0.0, 0.0] + + if state==STAY_ON_ONE_LEG: + hip_targ[moving_leg] = 1.1 + knee_targ[moving_leg] = -0.6 + supporting_knee_angle += 0.03 + if s[2] > SPEED: supporting_knee_angle += 0.03 + supporting_knee_angle = min( supporting_knee_angle, SUPPORT_KNEE_ANGLE ) + knee_targ[supporting_leg] = supporting_knee_angle + if s[supporting_s_base+0] < 0.10: # supporting leg is behind + state = PUT_OTHER_DOWN + if state==PUT_OTHER_DOWN: + hip_targ[moving_leg] = +0.1 + knee_targ[moving_leg] = SUPPORT_KNEE_ANGLE + knee_targ[supporting_leg] = supporting_knee_angle + if s[moving_s_base+4]: + state = PUSH_OFF + supporting_knee_angle = min( s[moving_s_base+2], SUPPORT_KNEE_ANGLE ) + if state==PUSH_OFF: + knee_targ[moving_leg] = supporting_knee_angle + knee_targ[supporting_leg] = +1.0 + if s[supporting_s_base+2] > 0.88 or s[2] > 1.2*SPEED: + state = STAY_ON_ONE_LEG + moving_leg = 1 - moving_leg + supporting_leg = 1 - moving_leg + + if hip_targ[0]: hip_todo[0] = 0.9*(hip_targ[0] - s[4]) - 0.25*s[5] + if hip_targ[1]: hip_todo[1] = 0.9*(hip_targ[1] - s[9]) - 0.25*s[10] + if knee_targ[0]: knee_todo[0] = 4.0*(knee_targ[0] - s[6]) - 0.25*s[7] + if knee_targ[1]: knee_todo[1] = 4.0*(knee_targ[1] - s[11]) - 0.25*s[12] + + hip_todo[0] -= 0.9*(0-s[0]) - 1.5*s[1] # PID to keep head strait + hip_todo[1] -= 0.9*(0-s[0]) - 1.5*s[1] + knee_todo[0] -= 15.0*s[3] # vertical speed, to damp oscillations + knee_todo[1] -= 15.0*s[3] + + a[0] = hip_todo[0] + a[1] = knee_todo[0] + a[2] = hip_todo[1] + a[3] = knee_todo[1] + a = np.clip(0.5*a, -1.0, 1.0) + + env.render() + if done: break diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/car_dynamics.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/car_dynamics.py new file mode 100644 index 0000000000000000000000000000000000000000..02f68159307d8b0780b809671d282250f02a4f8c --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/car_dynamics.py @@ -0,0 +1,244 @@ +import numpy as np +import math +import Box2D +from Box2D.b2 import (edgeShape, circleShape, fixtureDef, polygonShape, revoluteJointDef, contactListener, shape) + +# Top-down car dynamics simulation. +# +# Some ideas are taken from this great tutorial http://www.iforce2d.net/b2dtut/top-down-car by Chris Campbell. +# This simulation is a bit more detailed, with wheels rotation. +# +# Created by Oleg Klimov. Licensed on the same terms as the rest of OpenAI Gym. + +SIZE = 0.02 +ENGINE_POWER = 100000000*SIZE*SIZE +WHEEL_MOMENT_OF_INERTIA = 4000*SIZE*SIZE +FRICTION_LIMIT = 1000000*SIZE*SIZE # friction ~= mass ~= size^2 (calculated implicitly using density) +WHEEL_R = 27 +WHEEL_W = 14 +WHEELPOS = [ + (-55,+80), (+55,+80), + (-55,-82), (+55,-82) + ] +HULL_POLY1 =[ + (-60,+130), (+60,+130), + (+60,+110), (-60,+110) + ] +HULL_POLY2 =[ + (-15,+120), (+15,+120), + (+20, +20), (-20, 20) + ] +HULL_POLY3 =[ + (+25, +20), + (+50, -10), + (+50, -40), + (+20, -90), + (-20, -90), + (-50, -40), + (-50, -10), + (-25, +20) + ] +HULL_POLY4 =[ + (-50,-120), (+50,-120), + (+50,-90), (-50,-90) + ] +WHEEL_COLOR = (0.0,0.0,0.0) +WHEEL_WHITE = (0.3,0.3,0.3) +MUD_COLOR = (0.4,0.4,0.0) + +class Car: + def __init__(self, world, init_angle, init_x, init_y): + self.world = world + self.hull = self.world.CreateDynamicBody( + position = (init_x, init_y), + angle = init_angle, + fixtures = [ + fixtureDef(shape = polygonShape(vertices=[ (x*SIZE,y*SIZE) for x,y in HULL_POLY1 ]), density=1.0), + fixtureDef(shape = polygonShape(vertices=[ (x*SIZE,y*SIZE) for x,y in HULL_POLY2 ]), density=1.0), + fixtureDef(shape = polygonShape(vertices=[ (x*SIZE,y*SIZE) for x,y in HULL_POLY3 ]), density=1.0), + fixtureDef(shape = polygonShape(vertices=[ (x*SIZE,y*SIZE) for x,y in HULL_POLY4 ]), density=1.0) + ] + ) + self.hull.color = (0.8,0.0,0.0) + self.wheels = [] + self.fuel_spent = 0.0 + WHEEL_POLY = [ + (-WHEEL_W,+WHEEL_R), (+WHEEL_W,+WHEEL_R), + (+WHEEL_W,-WHEEL_R), (-WHEEL_W,-WHEEL_R) + ] + for wx,wy in WHEELPOS: + front_k = 1.0 if wy > 0 else 1.0 + w = self.world.CreateDynamicBody( + position = (init_x+wx*SIZE, init_y+wy*SIZE), + angle = init_angle, + fixtures = fixtureDef( + shape=polygonShape(vertices=[ (x*front_k*SIZE,y*front_k*SIZE) for x,y in WHEEL_POLY ]), + density=0.1, + categoryBits=0x0020, + maskBits=0x001, + restitution=0.0) + ) + w.wheel_rad = front_k*WHEEL_R*SIZE + w.color = WHEEL_COLOR + w.gas = 0.0 + w.brake = 0.0 + w.steer = 0.0 + w.phase = 0.0 # wheel angle + w.omega = 0.0 # angular velocity + w.skid_start = None + w.skid_particle = None + rjd = revoluteJointDef( + bodyA=self.hull, + bodyB=w, + localAnchorA=(wx*SIZE,wy*SIZE), + localAnchorB=(0,0), + enableMotor=True, + enableLimit=True, + maxMotorTorque=180*900*SIZE*SIZE, + motorSpeed = 0, + lowerAngle = -0.4, + upperAngle = +0.4, + ) + w.joint = self.world.CreateJoint(rjd) + w.tiles = set() + w.userData = w + self.wheels.append(w) + self.drawlist = self.wheels + [self.hull] + self.particles = [] + + def gas(self, gas): + 'control: rear wheel drive' + gas = np.clip(gas, 0, 1) + for w in self.wheels[2:4]: + diff = gas - w.gas + if diff > 0.1: diff = 0.1 # gradually increase, but stop immediately + w.gas += diff + + def brake(self, b): + 'control: brake b=0..1, more than 0.9 blocks wheels to zero rotation' + for w in self.wheels: + w.brake = b + + def steer(self, s): + 'control: steer s=-1..1, it takes time to rotate steering wheel from side to side, s is target position' + self.wheels[0].steer = s + self.wheels[1].steer = s + + def step(self, dt): + for w in self.wheels: + # Steer each wheel + dir = np.sign(w.steer - w.joint.angle) + val = abs(w.steer - w.joint.angle) + w.joint.motorSpeed = dir*min(50.0*val, 3.0) + + # Position => friction_limit + grass = True + friction_limit = FRICTION_LIMIT*0.6 # Grass friction if no tile + for tile in w.tiles: + friction_limit = max(friction_limit, FRICTION_LIMIT*tile.road_friction) + grass = False + + # Force + forw = w.GetWorldVector( (0,1) ) + side = w.GetWorldVector( (1,0) ) + v = w.linearVelocity + vf = forw[0]*v[0] + forw[1]*v[1] # forward speed + vs = side[0]*v[0] + side[1]*v[1] # side speed + + # WHEEL_MOMENT_OF_INERTIA*np.square(w.omega)/2 = E -- energy + # WHEEL_MOMENT_OF_INERTIA*w.omega * domega/dt = dE/dt = W -- power + # domega = dt*W/WHEEL_MOMENT_OF_INERTIA/w.omega + w.omega += dt*ENGINE_POWER*w.gas/WHEEL_MOMENT_OF_INERTIA/(abs(w.omega)+5.0) # small coef not to divide by zero + self.fuel_spent += dt*ENGINE_POWER*w.gas + + if w.brake >= 0.9: + w.omega = 0 + elif w.brake > 0: + BRAKE_FORCE = 15 # radians per second + dir = -np.sign(w.omega) + val = BRAKE_FORCE*w.brake + if abs(val) > abs(w.omega): val = abs(w.omega) # low speed => same as = 0 + w.omega += dir*val + w.phase += w.omega*dt + + vr = w.omega*w.wheel_rad # rotating wheel speed + f_force = -vf + vr # force direction is direction of speed difference + p_force = -vs + + # Physically correct is to always apply friction_limit until speed is equal. + # But dt is finite, that will lead to oscillations if difference is already near zero. + f_force *= 205000*SIZE*SIZE # Random coefficient to cut oscillations in few steps (have no effect on friction_limit) + p_force *= 205000*SIZE*SIZE + force = np.sqrt(np.square(f_force) + np.square(p_force)) + + # Skid trace + if abs(force) > 2.0*friction_limit: + if w.skid_particle and w.skid_particle.grass==grass and len(w.skid_particle.poly) < 30: + w.skid_particle.poly.append( (w.position[0], w.position[1]) ) + elif w.skid_start is None: + w.skid_start = w.position + else: + w.skid_particle = self._create_particle( w.skid_start, w.position, grass ) + w.skid_start = None + else: + w.skid_start = None + w.skid_particle = None + + if abs(force) > friction_limit: + f_force /= force + p_force /= force + force = friction_limit # Correct physics here + f_force *= force + p_force *= force + + w.omega -= dt*f_force*w.wheel_rad/WHEEL_MOMENT_OF_INERTIA + + w.ApplyForceToCenter( ( + p_force*side[0] + f_force*forw[0], + p_force*side[1] + f_force*forw[1]), True ) + + def draw(self, viewer, draw_particles=True): + if draw_particles: + for p in self.particles: + viewer.draw_polyline(p.poly, color=p.color, linewidth=5) + for obj in self.drawlist: + for f in obj.fixtures: + trans = f.body.transform + path = [trans*v for v in f.shape.vertices] + viewer.draw_polygon(path, color=obj.color) + if "phase" not in obj.__dict__: continue + a1 = obj.phase + a2 = obj.phase + 1.2 # radians + s1 = math.sin(a1) + s2 = math.sin(a2) + c1 = math.cos(a1) + c2 = math.cos(a2) + if s1>0 and s2>0: continue + if s1>0: c1 = np.sign(c1) + if s2>0: c2 = np.sign(c2) + white_poly = [ + (-WHEEL_W*SIZE, +WHEEL_R*c1*SIZE), (+WHEEL_W*SIZE, +WHEEL_R*c1*SIZE), + (+WHEEL_W*SIZE, +WHEEL_R*c2*SIZE), (-WHEEL_W*SIZE, +WHEEL_R*c2*SIZE) + ] + viewer.draw_polygon([trans*v for v in white_poly], color=WHEEL_WHITE) + + def _create_particle(self, point1, point2, grass): + class Particle: + pass + p = Particle() + p.color = WHEEL_COLOR if not grass else MUD_COLOR + p.ttl = 1 + p.poly = [(point1[0],point1[1]), (point2[0],point2[1])] + p.grass = grass + self.particles.append(p) + while len(self.particles) > 30: + self.particles.pop(0) + return p + + def destroy(self): + self.world.DestroyBody(self.hull) + self.hull = None + for w in self.wheels: + self.world.DestroyBody(w) + self.wheels = [] + diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/car_racing.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/car_racing.py new file mode 100644 index 0000000000000000000000000000000000000000..a424e4db0f4a2ab75efd9643a10d4c300ebeb3c1 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/car_racing.py @@ -0,0 +1,511 @@ +import sys, math +import numpy as np + +import Box2D +from Box2D.b2 import (edgeShape, circleShape, fixtureDef, polygonShape, revoluteJointDef, contactListener) + +import gym +from gym import spaces +from gym.envs.box2d.car_dynamics import Car +from gym.utils import colorize, seeding, EzPickle + +import pyglet +from pyglet import gl + +# Easiest continuous control task to learn from pixels, a top-down racing environment. +# Discrete control is reasonable in this environment as well, on/off discretization is +# fine. +# +# State consists of STATE_W x STATE_H pixels. +# +# Reward is -0.1 every frame and +1000/N for every track tile visited, where N is +# the total number of tiles visited in the track. For example, if you have finished in 732 frames, +# your reward is 1000 - 0.1*732 = 926.8 points. +# +# Game is solved when agent consistently gets 900+ points. Track generated is random every episode. +# +# Episode finishes when all tiles are visited. Car also can go outside of PLAYFIELD, that +# is far off the track, then it will get -100 and die. +# +# Some indicators shown at the bottom of the window and the state RGB buffer. From +# left to right: true speed, four ABS sensors, steering wheel position and gyroscope. +# +# To play yourself (it's rather fast for humans), type: +# +# python gym/envs/box2d/car_racing.py +# +# Remember it's powerful rear-wheel drive car, don't press accelerator and turn at the +# same time. +# +# Created by Oleg Klimov. Licensed on the same terms as the rest of OpenAI Gym. + +STATE_W = 96 # less than Atari 160x192 +STATE_H = 96 +VIDEO_W = 600 +VIDEO_H = 400 +WINDOW_W = 1000 +WINDOW_H = 800 + +SCALE = 6.0 # Track scale +TRACK_RAD = 900/SCALE # Track is heavily morphed circle with this radius +PLAYFIELD = 2000/SCALE # Game over boundary +FPS = 50 # Frames per second +ZOOM = 2.7 # Camera zoom +ZOOM_FOLLOW = True # Set to False for fixed view (don't use zoom) + + +TRACK_DETAIL_STEP = 21/SCALE +TRACK_TURN_RATE = 0.31 +TRACK_WIDTH = 40/SCALE +BORDER = 8/SCALE +BORDER_MIN_COUNT = 4 + +ROAD_COLOR = [0.4, 0.4, 0.4] + +class FrictionDetector(contactListener): + def __init__(self, env): + contactListener.__init__(self) + self.env = env + def BeginContact(self, contact): + self._contact(contact, True) + def EndContact(self, contact): + self._contact(contact, False) + def _contact(self, contact, begin): + tile = None + obj = None + u1 = contact.fixtureA.body.userData + u2 = contact.fixtureB.body.userData + if u1 and "road_friction" in u1.__dict__: + tile = u1 + obj = u2 + if u2 and "road_friction" in u2.__dict__: + tile = u2 + obj = u1 + if not tile: + return + + tile.color[0] = ROAD_COLOR[0] + tile.color[1] = ROAD_COLOR[1] + tile.color[2] = ROAD_COLOR[2] + if not obj or "tiles" not in obj.__dict__: + return + if begin: + obj.tiles.add(tile) + # print tile.road_friction, "ADD", len(obj.tiles) + if not tile.road_visited: + tile.road_visited = True + self.env.reward += 1000.0/len(self.env.track) + self.env.tile_visited_count += 1 + else: + obj.tiles.remove(tile) + # print tile.road_friction, "DEL", len(obj.tiles) -- should delete to zero when on grass (this works) + +class CarRacing(gym.Env, EzPickle): + metadata = { + 'render.modes': ['human', 'rgb_array', 'state_pixels'], + 'video.frames_per_second' : FPS + } + + def __init__(self, verbose=1): + EzPickle.__init__(self) + self.seed() + self.contactListener_keepref = FrictionDetector(self) + self.world = Box2D.b2World((0,0), contactListener=self.contactListener_keepref) + self.viewer = None + self.invisible_state_window = None + self.invisible_video_window = None + self.road = None + self.car = None + self.reward = 0.0 + self.prev_reward = 0.0 + self.verbose = verbose + + self.action_space = spaces.Box( np.array([-1,0,0]), np.array([+1,+1,+1]), dtype=np.float32) # steer, gas, brake + self.observation_space = spaces.Box(low=0, high=255, shape=(STATE_H, STATE_W, 3), dtype=np.uint8) + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def _destroy(self): + if not self.road: + return + for t in self.road: + self.world.DestroyBody(t) + self.road = [] + self.car.destroy() + + def _create_track(self): + CHECKPOINTS = 12 + + # Create checkpoints + checkpoints = [] + for c in range(CHECKPOINTS): + alpha = 2*math.pi*c/CHECKPOINTS + self.np_random.uniform(0, 2*math.pi*1/CHECKPOINTS) + rad = self.np_random.uniform(TRACK_RAD/3, TRACK_RAD) + if c==0: + alpha = 0 + rad = 1.5*TRACK_RAD + if c==CHECKPOINTS-1: + alpha = 2*math.pi*c/CHECKPOINTS + self.start_alpha = 2*math.pi*(-0.5)/CHECKPOINTS + rad = 1.5*TRACK_RAD + checkpoints.append( (alpha, rad*math.cos(alpha), rad*math.sin(alpha)) ) + + # print "\n".join(str(h) for h in checkpoints) + # self.road_poly = [ ( # uncomment this to see checkpoints + # [ (tx,ty) for a,tx,ty in checkpoints ], + # (0.7,0.7,0.9) ) ] + self.road = [] + + # Go from one checkpoint to another to create track + x, y, beta = 1.5*TRACK_RAD, 0, 0 + dest_i = 0 + laps = 0 + track = [] + no_freeze = 2500 + visited_other_side = False + while True: + alpha = math.atan2(y, x) + if visited_other_side and alpha > 0: + laps += 1 + visited_other_side = False + if alpha < 0: + visited_other_side = True + alpha += 2*math.pi + while True: # Find destination from checkpoints + failed = True + while True: + dest_alpha, dest_x, dest_y = checkpoints[dest_i % len(checkpoints)] + if alpha <= dest_alpha: + failed = False + break + dest_i += 1 + if dest_i % len(checkpoints) == 0: + break + if not failed: + break + alpha -= 2*math.pi + continue + r1x = math.cos(beta) + r1y = math.sin(beta) + p1x = -r1y + p1y = r1x + dest_dx = dest_x - x # vector towards destination + dest_dy = dest_y - y + proj = r1x*dest_dx + r1y*dest_dy # destination vector projected on rad + while beta - alpha > 1.5*math.pi: + beta -= 2*math.pi + while beta - alpha < -1.5*math.pi: + beta += 2*math.pi + prev_beta = beta + proj *= SCALE + if proj > 0.3: + beta -= min(TRACK_TURN_RATE, abs(0.001*proj)) + if proj < -0.3: + beta += min(TRACK_TURN_RATE, abs(0.001*proj)) + x += p1x*TRACK_DETAIL_STEP + y += p1y*TRACK_DETAIL_STEP + track.append( (alpha,prev_beta*0.5 + beta*0.5,x,y) ) + if laps > 4: + break + no_freeze -= 1 + if no_freeze==0: + break + # print "\n".join([str(t) for t in enumerate(track)]) + + # Find closed loop range i1..i2, first loop should be ignored, second is OK + i1, i2 = -1, -1 + i = len(track) + while True: + i -= 1 + if i==0: + return False # Failed + pass_through_start = track[i][0] > self.start_alpha and track[i-1][0] <= self.start_alpha + if pass_through_start and i2==-1: + i2 = i + elif pass_through_start and i1==-1: + i1 = i + break + if self.verbose == 1: + print("Track generation: %i..%i -> %i-tiles track" % (i1, i2, i2-i1)) + assert i1!=-1 + assert i2!=-1 + + track = track[i1:i2-1] + + first_beta = track[0][1] + first_perp_x = math.cos(first_beta) + first_perp_y = math.sin(first_beta) + # Length of perpendicular jump to put together head and tail + well_glued_together = np.sqrt( + np.square( first_perp_x*(track[0][2] - track[-1][2]) ) + + np.square( first_perp_y*(track[0][3] - track[-1][3]) )) + if well_glued_together > TRACK_DETAIL_STEP: + return False + + # Red-white border on hard turns + border = [False]*len(track) + for i in range(len(track)): + good = True + oneside = 0 + for neg in range(BORDER_MIN_COUNT): + beta1 = track[i-neg-0][1] + beta2 = track[i-neg-1][1] + good &= abs(beta1 - beta2) > TRACK_TURN_RATE*0.2 + oneside += np.sign(beta1 - beta2) + good &= abs(oneside) == BORDER_MIN_COUNT + border[i] = good + for i in range(len(track)): + for neg in range(BORDER_MIN_COUNT): + border[i-neg] |= border[i] + + # Create tiles + for i in range(len(track)): + alpha1, beta1, x1, y1 = track[i] + alpha2, beta2, x2, y2 = track[i-1] + road1_l = (x1 - TRACK_WIDTH*math.cos(beta1), y1 - TRACK_WIDTH*math.sin(beta1)) + road1_r = (x1 + TRACK_WIDTH*math.cos(beta1), y1 + TRACK_WIDTH*math.sin(beta1)) + road2_l = (x2 - TRACK_WIDTH*math.cos(beta2), y2 - TRACK_WIDTH*math.sin(beta2)) + road2_r = (x2 + TRACK_WIDTH*math.cos(beta2), y2 + TRACK_WIDTH*math.sin(beta2)) + t = self.world.CreateStaticBody( fixtures = fixtureDef( + shape=polygonShape(vertices=[road1_l, road1_r, road2_r, road2_l]) + )) + t.userData = t + c = 0.01*(i%3) + t.color = [ROAD_COLOR[0] + c, ROAD_COLOR[1] + c, ROAD_COLOR[2] + c] + t.road_visited = False + t.road_friction = 1.0 + t.fixtures[0].sensor = True + self.road_poly.append(( [road1_l, road1_r, road2_r, road2_l], t.color )) + self.road.append(t) + if border[i]: + side = np.sign(beta2 - beta1) + b1_l = (x1 + side* TRACK_WIDTH *math.cos(beta1), y1 + side* TRACK_WIDTH *math.sin(beta1)) + b1_r = (x1 + side*(TRACK_WIDTH+BORDER)*math.cos(beta1), y1 + side*(TRACK_WIDTH+BORDER)*math.sin(beta1)) + b2_l = (x2 + side* TRACK_WIDTH *math.cos(beta2), y2 + side* TRACK_WIDTH *math.sin(beta2)) + b2_r = (x2 + side*(TRACK_WIDTH+BORDER)*math.cos(beta2), y2 + side*(TRACK_WIDTH+BORDER)*math.sin(beta2)) + self.road_poly.append(( [b1_l, b1_r, b2_r, b2_l], (1,1,1) if i%2==0 else (1,0,0) )) + self.track = track + return True + + def reset(self): + self._destroy() + self.reward = 0.0 + self.prev_reward = 0.0 + self.tile_visited_count = 0 + self.t = 0.0 + self.road_poly = [] + + while True: + success = self._create_track() + if success: + break + if self.verbose == 1: + print("retry to generate track (normal if there are not many of this messages)") + self.car = Car(self.world, *self.track[0][1:4]) + + return self.step(None)[0] + + def step(self, action): + if action is not None: + self.car.steer(-action[0]) + self.car.gas(action[1]) + self.car.brake(action[2]) + + self.car.step(1.0/FPS) + self.world.Step(1.0/FPS, 6*30, 2*30) + self.t += 1.0/FPS + + self.state = self.render("state_pixels") + + step_reward = 0 + done = False + if action is not None: # First step without action, called from reset() + self.reward -= 0.1 + # We actually don't want to count fuel spent, we want car to be faster. + # self.reward -= 10 * self.car.fuel_spent / ENGINE_POWER + self.car.fuel_spent = 0.0 + step_reward = self.reward - self.prev_reward + self.prev_reward = self.reward + if self.tile_visited_count==len(self.track): + done = True + x, y = self.car.hull.position + if abs(x) > PLAYFIELD or abs(y) > PLAYFIELD: + done = True + step_reward = -100 + + return self.state, step_reward, done, {} + + def render(self, mode='human'): + assert mode in ['human', 'state_pixels', 'rgb_array'] + if self.viewer is None: + from gym.envs.classic_control import rendering + self.viewer = rendering.Viewer(WINDOW_W, WINDOW_H) + self.score_label = pyglet.text.Label('0000', font_size=36, + x=20, y=WINDOW_H*2.5/40.00, anchor_x='left', anchor_y='center', + color=(255,255,255,255)) + self.transform = rendering.Transform() + + if "t" not in self.__dict__: return # reset() not called yet + + zoom = 0.1*SCALE*max(1-self.t, 0) + ZOOM*SCALE*min(self.t, 1) # Animate zoom first second + zoom_state = ZOOM*SCALE*STATE_W/WINDOW_W + zoom_video = ZOOM*SCALE*VIDEO_W/WINDOW_W + scroll_x = self.car.hull.position[0] + scroll_y = self.car.hull.position[1] + angle = -self.car.hull.angle + vel = self.car.hull.linearVelocity + if np.linalg.norm(vel) > 0.5: + angle = math.atan2(vel[0], vel[1]) + self.transform.set_scale(zoom, zoom) + self.transform.set_translation( + WINDOW_W/2 - (scroll_x*zoom*math.cos(angle) - scroll_y*zoom*math.sin(angle)), + WINDOW_H/4 - (scroll_x*zoom*math.sin(angle) + scroll_y*zoom*math.cos(angle)) ) + self.transform.set_rotation(angle) + + self.car.draw(self.viewer, mode!="state_pixels") + + arr = None + win = self.viewer.window + win.switch_to() + win.dispatch_events() + + win.clear() + t = self.transform + if mode=='rgb_array': + VP_W = VIDEO_W + VP_H = VIDEO_H + elif mode == 'state_pixels': + VP_W = STATE_W + VP_H = STATE_H + else: + pixel_scale = 1 + if hasattr(win.context, '_nscontext'): + pixel_scale = win.context._nscontext.view().backingScaleFactor() # pylint: disable=protected-access + VP_W = int(pixel_scale * WINDOW_W) + VP_H = int(pixel_scale * WINDOW_H) + + gl.glViewport(0, 0, VP_W, VP_H) + t.enable() + self.render_road() + for geom in self.viewer.onetime_geoms: + geom.render() + self.viewer.onetime_geoms = [] + t.disable() + self.render_indicators(WINDOW_W, WINDOW_H) + + if mode == 'human': + win.flip() + return self.viewer.isopen + + image_data = pyglet.image.get_buffer_manager().get_color_buffer().get_image_data() + arr = np.fromstring(image_data.data, dtype=np.uint8, sep='') + arr = arr.reshape(VP_H, VP_W, 4) + arr = arr[::-1, :, 0:3] + + return arr + + def close(self): + if self.viewer is not None: + self.viewer.close() + self.viewer = None + + def render_road(self): + gl.glBegin(gl.GL_QUADS) + gl.glColor4f(0.4, 0.8, 0.4, 1.0) + gl.glVertex3f(-PLAYFIELD, +PLAYFIELD, 0) + gl.glVertex3f(+PLAYFIELD, +PLAYFIELD, 0) + gl.glVertex3f(+PLAYFIELD, -PLAYFIELD, 0) + gl.glVertex3f(-PLAYFIELD, -PLAYFIELD, 0) + gl.glColor4f(0.4, 0.9, 0.4, 1.0) + k = PLAYFIELD/20.0 + for x in range(-20, 20, 2): + for y in range(-20, 20, 2): + gl.glVertex3f(k*x + k, k*y + 0, 0) + gl.glVertex3f(k*x + 0, k*y + 0, 0) + gl.glVertex3f(k*x + 0, k*y + k, 0) + gl.glVertex3f(k*x + k, k*y + k, 0) + for poly, color in self.road_poly: + gl.glColor4f(color[0], color[1], color[2], 1) + for p in poly: + gl.glVertex3f(p[0], p[1], 0) + gl.glEnd() + + def render_indicators(self, W, H): + gl.glBegin(gl.GL_QUADS) + s = W/40.0 + h = H/40.0 + gl.glColor4f(0,0,0,1) + gl.glVertex3f(W, 0, 0) + gl.glVertex3f(W, 5*h, 0) + gl.glVertex3f(0, 5*h, 0) + gl.glVertex3f(0, 0, 0) + def vertical_ind(place, val, color): + gl.glColor4f(color[0], color[1], color[2], 1) + gl.glVertex3f((place+0)*s, h + h*val, 0) + gl.glVertex3f((place+1)*s, h + h*val, 0) + gl.glVertex3f((place+1)*s, h, 0) + gl.glVertex3f((place+0)*s, h, 0) + def horiz_ind(place, val, color): + gl.glColor4f(color[0], color[1], color[2], 1) + gl.glVertex3f((place+0)*s, 4*h , 0) + gl.glVertex3f((place+val)*s, 4*h, 0) + gl.glVertex3f((place+val)*s, 2*h, 0) + gl.glVertex3f((place+0)*s, 2*h, 0) + true_speed = np.sqrt(np.square(self.car.hull.linearVelocity[0]) + np.square(self.car.hull.linearVelocity[1])) + vertical_ind(5, 0.02*true_speed, (1,1,1)) + vertical_ind(7, 0.01*self.car.wheels[0].omega, (0.0,0,1)) # ABS sensors + vertical_ind(8, 0.01*self.car.wheels[1].omega, (0.0,0,1)) + vertical_ind(9, 0.01*self.car.wheels[2].omega, (0.2,0,1)) + vertical_ind(10,0.01*self.car.wheels[3].omega, (0.2,0,1)) + horiz_ind(20, -10.0*self.car.wheels[0].joint.angle, (0,1,0)) + horiz_ind(30, -0.8*self.car.hull.angularVelocity, (1,0,0)) + gl.glEnd() + self.score_label.text = "%04i" % self.reward + self.score_label.draw() + + +if __name__=="__main__": + from pyglet.window import key + a = np.array( [0.0, 0.0, 0.0] ) + def key_press(k, mod): + global restart + if k==0xff0d: restart = True + if k==key.LEFT: a[0] = -1.0 + if k==key.RIGHT: a[0] = +1.0 + if k==key.UP: a[1] = +1.0 + if k==key.DOWN: a[2] = +0.8 # set 1.0 for wheels to block to zero rotation + def key_release(k, mod): + if k==key.LEFT and a[0]==-1.0: a[0] = 0 + if k==key.RIGHT and a[0]==+1.0: a[0] = 0 + if k==key.UP: a[1] = 0 + if k==key.DOWN: a[2] = 0 + env = CarRacing() + env.render() + env.viewer.window.on_key_press = key_press + env.viewer.window.on_key_release = key_release + record_video = False + if record_video: + from gym.wrappers.monitor import Monitor + env = Monitor(env, '/tmp/video-test', force=True) + isopen = True + while isopen: + env.reset() + total_reward = 0.0 + steps = 0 + restart = False + while True: + s, r, done, info = env.step(a) + total_reward += r + if steps % 200 == 0 or done: + print("\naction " + str(["{:+0.2f}".format(x) for x in a])) + print("step {} total_reward {:+0.2f}".format(steps, total_reward)) + #import matplotlib.pyplot as plt + #plt.imshow(s) + #plt.savefig("test.jpeg") + steps += 1 + isopen = env.render() + if done or restart or isopen == False: + break + env.close() diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/lunar_lander.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/lunar_lander.py new file mode 100644 index 0000000000000000000000000000000000000000..0ef8abb4b8f662ddae1b7441c624287cfb664c9a --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/lunar_lander.py @@ -0,0 +1,420 @@ +import sys, math +import numpy as np + +import Box2D +from Box2D.b2 import (edgeShape, circleShape, fixtureDef, polygonShape, revoluteJointDef, contactListener) + +import gym +from gym import spaces +from gym.utils import seeding, EzPickle + +# Rocket trajectory optimization is a classic topic in Optimal Control. +# +# According to Pontryagin's maximum principle it's optimal to fire engine full throttle or +# turn it off. That's the reason this environment is OK to have discreet actions (engine on or off). +# +# Landing pad is always at coordinates (0,0). Coordinates are the first two numbers in state vector. +# Reward for moving from the top of the screen to landing pad and zero speed is about 100..140 points. +# If lander moves away from landing pad it loses reward back. Episode finishes if the lander crashes or +# comes to rest, receiving additional -100 or +100 points. Each leg ground contact is +10. Firing main +# engine is -0.3 points each frame. Firing side engine is -0.03 points each frame. Solved is 200 points. +# +# Landing outside landing pad is possible. Fuel is infinite, so an agent can learn to fly and then land +# on its first attempt. Please see source code for details. +# +# To see heuristic landing, run: +# +# python gym/envs/box2d/lunar_lander.py +# +# To play yourself, run: +# +# python examples/agents/keyboard_agent.py LunarLander-v2 +# +# Created by Oleg Klimov. Licensed on the same terms as the rest of OpenAI Gym. + +FPS = 50 +SCALE = 30.0 # affects how fast-paced the game is, forces should be adjusted as well + +MAIN_ENGINE_POWER = 13.0 +SIDE_ENGINE_POWER = 0.6 + +INITIAL_RANDOM = 1000.0 # Set 1500 to make game harder + +LANDER_POLY =[ + (-14,+17), (-17,0), (-17,-10), + (+17,-10), (+17,0), (+14,+17) + ] +LEG_AWAY = 20 +LEG_DOWN = 18 +LEG_W, LEG_H = 2, 8 +LEG_SPRING_TORQUE = 40 + +SIDE_ENGINE_HEIGHT = 14.0 +SIDE_ENGINE_AWAY = 12.0 + +VIEWPORT_W = 600 +VIEWPORT_H = 400 + +class ContactDetector(contactListener): + def __init__(self, env): + contactListener.__init__(self) + self.env = env + def BeginContact(self, contact): + if self.env.lander==contact.fixtureA.body or self.env.lander==contact.fixtureB.body: + self.env.game_over = True + for i in range(2): + if self.env.legs[i] in [contact.fixtureA.body, contact.fixtureB.body]: + self.env.legs[i].ground_contact = True + def EndContact(self, contact): + for i in range(2): + if self.env.legs[i] in [contact.fixtureA.body, contact.fixtureB.body]: + self.env.legs[i].ground_contact = False + +class LunarLander(gym.Env, EzPickle): + metadata = { + 'render.modes': ['human', 'rgb_array'], + 'video.frames_per_second' : FPS + } + + continuous = False + + def __init__(self): + EzPickle.__init__(self) + self.seed() + self.viewer = None + + self.world = Box2D.b2World() + self.moon = None + self.lander = None + self.particles = [] + + self.prev_reward = None + + # useful range is -1 .. +1, but spikes can be higher + self.observation_space = spaces.Box(-np.inf, np.inf, shape=(8,), dtype=np.float32) + + if self.continuous: + # Action is two floats [main engine, left-right engines]. + # Main engine: -1..0 off, 0..+1 throttle from 50% to 100% power. Engine can't work with less than 50% power. + # Left-right: -1.0..-0.5 fire left engine, +0.5..+1.0 fire right engine, -0.5..0.5 off + self.action_space = spaces.Box(-1, +1, (2,), dtype=np.float32) + else: + # Nop, fire left engine, main engine, right engine + self.action_space = spaces.Discrete(4) + + self.reset() + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def _destroy(self): + if not self.moon: return + self.world.contactListener = None + self._clean_particles(True) + self.world.DestroyBody(self.moon) + self.moon = None + self.world.DestroyBody(self.lander) + self.lander = None + self.world.DestroyBody(self.legs[0]) + self.world.DestroyBody(self.legs[1]) + + def reset(self): + self._destroy() + self.world.contactListener_keepref = ContactDetector(self) + self.world.contactListener = self.world.contactListener_keepref + self.game_over = False + self.prev_shaping = None + + W = VIEWPORT_W/SCALE + H = VIEWPORT_H/SCALE + + # terrain + CHUNKS = 11 + height = self.np_random.uniform(0, H/2, size=(CHUNKS+1,) ) + chunk_x = [W/(CHUNKS-1)*i for i in range(CHUNKS)] + self.helipad_x1 = chunk_x[CHUNKS//2-1] + self.helipad_x2 = chunk_x[CHUNKS//2+1] + self.helipad_y = H/4 + height[CHUNKS//2-2] = self.helipad_y + height[CHUNKS//2-1] = self.helipad_y + height[CHUNKS//2+0] = self.helipad_y + height[CHUNKS//2+1] = self.helipad_y + height[CHUNKS//2+2] = self.helipad_y + smooth_y = [0.33*(height[i-1] + height[i+0] + height[i+1]) for i in range(CHUNKS)] + + self.moon = self.world.CreateStaticBody( shapes=edgeShape(vertices=[(0, 0), (W, 0)]) ) + self.sky_polys = [] + for i in range(CHUNKS-1): + p1 = (chunk_x[i], smooth_y[i]) + p2 = (chunk_x[i+1], smooth_y[i+1]) + self.moon.CreateEdgeFixture( + vertices=[p1,p2], + density=0, + friction=0.1) + self.sky_polys.append( [p1, p2, (p2[0],H), (p1[0],H)] ) + + self.moon.color1 = (0.0,0.0,0.0) + self.moon.color2 = (0.0,0.0,0.0) + + initial_y = VIEWPORT_H/SCALE + self.lander = self.world.CreateDynamicBody( + position = (VIEWPORT_W/SCALE/2, initial_y), + angle=0.0, + fixtures = fixtureDef( + shape=polygonShape(vertices=[ (x/SCALE,y/SCALE) for x,y in LANDER_POLY ]), + density=5.0, + friction=0.1, + categoryBits=0x0010, + maskBits=0x001, # collide only with ground + restitution=0.0) # 0.99 bouncy + ) + self.lander.color1 = (0.5,0.4,0.9) + self.lander.color2 = (0.3,0.3,0.5) + self.lander.ApplyForceToCenter( ( + self.np_random.uniform(-INITIAL_RANDOM, INITIAL_RANDOM), + self.np_random.uniform(-INITIAL_RANDOM, INITIAL_RANDOM) + ), True) + + self.legs = [] + for i in [-1,+1]: + leg = self.world.CreateDynamicBody( + position = (VIEWPORT_W/SCALE/2 - i*LEG_AWAY/SCALE, initial_y), + angle = (i*0.05), + fixtures = fixtureDef( + shape=polygonShape(box=(LEG_W/SCALE, LEG_H/SCALE)), + density=1.0, + restitution=0.0, + categoryBits=0x0020, + maskBits=0x001) + ) + leg.ground_contact = False + leg.color1 = (0.5,0.4,0.9) + leg.color2 = (0.3,0.3,0.5) + rjd = revoluteJointDef( + bodyA=self.lander, + bodyB=leg, + localAnchorA=(0, 0), + localAnchorB=(i*LEG_AWAY/SCALE, LEG_DOWN/SCALE), + enableMotor=True, + enableLimit=True, + maxMotorTorque=LEG_SPRING_TORQUE, + motorSpeed=+0.3*i # low enough not to jump back into the sky + ) + if i==-1: + rjd.lowerAngle = +0.9 - 0.5 # Yes, the most esoteric numbers here, angles legs have freedom to travel within + rjd.upperAngle = +0.9 + else: + rjd.lowerAngle = -0.9 + rjd.upperAngle = -0.9 + 0.5 + leg.joint = self.world.CreateJoint(rjd) + self.legs.append(leg) + + self.drawlist = [self.lander] + self.legs + + return self.step(np.array([0,0]) if self.continuous else 0)[0] + + def _create_particle(self, mass, x, y, ttl): + p = self.world.CreateDynamicBody( + position = (x,y), + angle=0.0, + fixtures = fixtureDef( + shape=circleShape(radius=2/SCALE, pos=(0,0)), + density=mass, + friction=0.1, + categoryBits=0x0100, + maskBits=0x001, # collide only with ground + restitution=0.3) + ) + p.ttl = ttl + self.particles.append(p) + self._clean_particles(False) + return p + + def _clean_particles(self, all): + while self.particles and (all or self.particles[0].ttl<0): + self.world.DestroyBody(self.particles.pop(0)) + + def step(self, action): + if self.continuous: + action = np.clip(action, -1, +1).astype(np.float32) + else: + assert self.action_space.contains(action), "%r (%s) invalid " % (action, type(action)) + + # Engines + tip = (math.sin(self.lander.angle), math.cos(self.lander.angle)) + side = (-tip[1], tip[0]); + dispersion = [self.np_random.uniform(-1.0, +1.0) / SCALE for _ in range(2)] + + m_power = 0.0 + if (self.continuous and action[0] > 0.0) or (not self.continuous and action==2): + # Main engine + if self.continuous: + m_power = (np.clip(action[0], 0.0,1.0) + 1.0)*0.5 # 0.5..1.0 + assert m_power>=0.5 and m_power <= 1.0 + else: + m_power = 1.0 + ox = tip[0]*(4/SCALE + 2*dispersion[0]) + side[0]*dispersion[1] # 4 is move a bit downwards, +-2 for randomness + oy = -tip[1]*(4/SCALE + 2*dispersion[0]) - side[1]*dispersion[1] + impulse_pos = (self.lander.position[0] + ox, self.lander.position[1] + oy) + p = self._create_particle(3.5, impulse_pos[0], impulse_pos[1], m_power) # particles are just a decoration, 3.5 is here to make particle speed adequate + p.ApplyLinearImpulse( ( ox*MAIN_ENGINE_POWER*m_power, oy*MAIN_ENGINE_POWER*m_power), impulse_pos, True) + self.lander.ApplyLinearImpulse( (-ox*MAIN_ENGINE_POWER*m_power, -oy*MAIN_ENGINE_POWER*m_power), impulse_pos, True) + + s_power = 0.0 + if (self.continuous and np.abs(action[1]) > 0.5) or (not self.continuous and action in [1,3]): + # Orientation engines + if self.continuous: + direction = np.sign(action[1]) + s_power = np.clip(np.abs(action[1]), 0.5,1.0) + assert s_power>=0.5 and s_power <= 1.0 + else: + direction = action-2 + s_power = 1.0 + ox = tip[0]*dispersion[0] + side[0]*(3*dispersion[1]+direction*SIDE_ENGINE_AWAY/SCALE) + oy = -tip[1]*dispersion[0] - side[1]*(3*dispersion[1]+direction*SIDE_ENGINE_AWAY/SCALE) + impulse_pos = (self.lander.position[0] + ox - tip[0]*17/SCALE, self.lander.position[1] + oy + tip[1]*SIDE_ENGINE_HEIGHT/SCALE) + p = self._create_particle(0.7, impulse_pos[0], impulse_pos[1], s_power) + p.ApplyLinearImpulse( ( ox*SIDE_ENGINE_POWER*s_power, oy*SIDE_ENGINE_POWER*s_power), impulse_pos, True) + self.lander.ApplyLinearImpulse( (-ox*SIDE_ENGINE_POWER*s_power, -oy*SIDE_ENGINE_POWER*s_power), impulse_pos, True) + + self.world.Step(1.0/FPS, 6*30, 2*30) + + pos = self.lander.position + vel = self.lander.linearVelocity + state = [ + (pos.x - VIEWPORT_W/SCALE/2) / (VIEWPORT_W/SCALE/2), + (pos.y - (self.helipad_y+LEG_DOWN/SCALE)) / (VIEWPORT_H/SCALE/2), + vel.x*(VIEWPORT_W/SCALE/2)/FPS, + vel.y*(VIEWPORT_H/SCALE/2)/FPS, + self.lander.angle, + 20.0*self.lander.angularVelocity/FPS, + 1.0 if self.legs[0].ground_contact else 0.0, + 1.0 if self.legs[1].ground_contact else 0.0 + ] + assert len(state)==8 + + reward = 0 + shaping = \ + - 100*np.sqrt(state[0]*state[0] + state[1]*state[1]) \ + - 100*np.sqrt(state[2]*state[2] + state[3]*state[3]) \ + - 100*abs(state[4]) + 10*state[6] + 10*state[7] # And ten points for legs contact, the idea is if you + # lose contact again after landing, you get negative reward + if self.prev_shaping is not None: + reward = shaping - self.prev_shaping + self.prev_shaping = shaping + + reward -= m_power*0.30 # less fuel spent is better, about -30 for heurisic landing + reward -= s_power*0.03 + + done = False + if self.game_over or abs(state[0]) >= 1.0: + done = True + reward = -100 + if not self.lander.awake: + done = True + reward = +100 + return np.array(state, dtype=np.float32), reward, done, {} + + def render(self, mode='human'): + from gym.envs.classic_control import rendering + if self.viewer is None: + self.viewer = rendering.Viewer(VIEWPORT_W, VIEWPORT_H) + self.viewer.set_bounds(0, VIEWPORT_W/SCALE, 0, VIEWPORT_H/SCALE) + + for obj in self.particles: + obj.ttl -= 0.15 + obj.color1 = (max(0.2,0.2+obj.ttl), max(0.2,0.5*obj.ttl), max(0.2,0.5*obj.ttl)) + obj.color2 = (max(0.2,0.2+obj.ttl), max(0.2,0.5*obj.ttl), max(0.2,0.5*obj.ttl)) + + self._clean_particles(False) + + for p in self.sky_polys: + self.viewer.draw_polygon(p, color=(0,0,0)) + + for obj in self.particles + self.drawlist: + for f in obj.fixtures: + trans = f.body.transform + if type(f.shape) is circleShape: + t = rendering.Transform(translation=trans*f.shape.pos) + self.viewer.draw_circle(f.shape.radius, 20, color=obj.color1).add_attr(t) + self.viewer.draw_circle(f.shape.radius, 20, color=obj.color2, filled=False, linewidth=2).add_attr(t) + else: + path = [trans*v for v in f.shape.vertices] + self.viewer.draw_polygon(path, color=obj.color1) + path.append(path[0]) + self.viewer.draw_polyline(path, color=obj.color2, linewidth=2) + + for x in [self.helipad_x1, self.helipad_x2]: + flagy1 = self.helipad_y + flagy2 = flagy1 + 50/SCALE + self.viewer.draw_polyline( [(x, flagy1), (x, flagy2)], color=(1,1,1) ) + self.viewer.draw_polygon( [(x, flagy2), (x, flagy2-10/SCALE), (x+25/SCALE, flagy2-5/SCALE)], color=(0.8,0.8,0) ) + + return self.viewer.render(return_rgb_array = mode=='rgb_array') + + def close(self): + if self.viewer is not None: + self.viewer.close() + self.viewer = None + +class LunarLanderContinuous(LunarLander): + continuous = True + +def heuristic(env, s): + # Heuristic for: + # 1. Testing. + # 2. Demonstration rollout. + angle_targ = s[0]*0.5 + s[2]*1.0 # angle should point towards center (s[0] is horizontal coordinate, s[2] hor speed) + if angle_targ > 0.4: angle_targ = 0.4 # more than 0.4 radians (22 degrees) is bad + if angle_targ < -0.4: angle_targ = -0.4 + hover_targ = 0.55*np.abs(s[0]) # target y should be proporional to horizontal offset + + # PID controller: s[4] angle, s[5] angularSpeed + angle_todo = (angle_targ - s[4])*0.5 - (s[5])*1.0 + #print("angle_targ=%0.2f, angle_todo=%0.2f" % (angle_targ, angle_todo)) + + # PID controller: s[1] vertical coordinate s[3] vertical speed + hover_todo = (hover_targ - s[1])*0.5 - (s[3])*0.5 + #print("hover_targ=%0.2f, hover_todo=%0.2f" % (hover_targ, hover_todo)) + + if s[6] or s[7]: # legs have contact + angle_todo = 0 + hover_todo = -(s[3])*0.5 # override to reduce fall speed, that's all we need after contact + + if env.continuous: + a = np.array( [hover_todo*20 - 1, -angle_todo*20] ) + a = np.clip(a, -1, +1) + else: + a = 0 + if hover_todo > np.abs(angle_todo) and hover_todo > 0.05: a = 2 + elif angle_todo < -0.05: a = 3 + elif angle_todo > +0.05: a = 1 + return a + +def demo_heuristic_lander(env, seed=None, render=False): + env.seed(seed) + total_reward = 0 + steps = 0 + s = env.reset() + while True: + a = heuristic(env, s) + s, r, done, info = env.step(a) + total_reward += r + + if render: + still_open = env.render() + if still_open == False: break + + if steps % 20 == 0 or done: + print("observations:", " ".join(["{:+0.2f}".format(x) for x in s])) + print("step {} total_reward {:+0.2f}".format(steps, total_reward)) + steps += 1 + if done: break + return total_reward + + +if __name__ == '__main__': + demo_heuristic_lander(LunarLander(), render=True) + + diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/test_lunar_lander.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/test_lunar_lander.py new file mode 100644 index 0000000000000000000000000000000000000000..d41634c987d49fa82b28593145db03467778ecc0 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/box2d/test_lunar_lander.py @@ -0,0 +1,22 @@ +import pytest +try: + import Box2D + from .lunar_lander import LunarLander, LunarLanderContinuous, demo_heuristic_lander +except ImportError: + Box2D = None + + +@pytest.mark.skipif(Box2D is None, reason='Box2D not installed') +def test_lunar_lander(): + _test_lander(LunarLander(), seed=0) + +@pytest.mark.skipif(Box2D is None, reason='Box2D not installed') +def test_lunar_lander_continuous(): + _test_lander(LunarLanderContinuous(), seed=0) + +@pytest.mark.skipif(Box2D is None, reason='Box2D not installed') +def _test_lander(env, seed=None, render=False): + total_reward = demo_heuristic_lander(env, seed=seed, render=render) + assert total_reward > 100 + + diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..21a66c89f6c2f3ef4f50f068608895a2545da22b --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__init__.py @@ -0,0 +1,7 @@ +from gym.envs.classic_control.cartpole import CartPoleEnv +from gym.envs.classic_control.mountain_car import MountainCarEnv +from gym.envs.classic_control.continuous_mountain_car import Continuous_MountainCarEnv +from gym.envs.classic_control.pendulum import PendulumEnv +from gym.envs.classic_control.acrobot import AcrobotEnv +from gym.envs.classic_control.continuous_dota import Continuous_DotaEnv + diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/__init__.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d147019f9cb6d4f5aa627bf7760deb72eec4f8ff Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/__init__.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/acrobot.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/acrobot.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f8e51c51274097a1f4651bb29db3847dba9bbdb8 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/acrobot.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/cartpole.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/cartpole.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..12ed234ed68f8e479acfdc2804a7dd5e23703857 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/cartpole.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/continuous_dota.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/continuous_dota.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f2720acc453f81c9e29b3de60000642954d709ba Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/continuous_dota.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/continuous_mountain_car.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/continuous_mountain_car.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f07175c9869b884231474b3ad1d762be9f904f26 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/continuous_mountain_car.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/mountain_car.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/mountain_car.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..83a550ff1492df6709e4264f1f1c1b4509c7ea94 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/mountain_car.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/pendulum.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/pendulum.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..343ddf0254a0d9efb911835bd152658e40cfcd66 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/__pycache__/pendulum.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/acrobot.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/acrobot.py new file mode 100644 index 0000000000000000000000000000000000000000..dc12222416702f3594a83f1bf2069044561b4b42 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/acrobot.py @@ -0,0 +1,305 @@ +"""classic Acrobot task""" +import numpy as np +from numpy import sin, cos, pi + +from gym import core, spaces +from gym.utils import seeding + +__copyright__ = "Copyright 2013, RLPy http://acl.mit.edu/RLPy" +__credits__ = ["Alborz Geramifard", "Robert H. Klein", "Christoph Dann", + "William Dabney", "Jonathan P. How"] +__license__ = "BSD 3-Clause" +__author__ = "Christoph Dann <cdann@cdann.de>" + +# SOURCE: +# https://github.com/rlpy/rlpy/blob/master/rlpy/Domains/Acrobot.py + +class AcrobotEnv(core.Env): + + """ + Acrobot is a 2-link pendulum with only the second joint actuated. + Initially, both links point downwards. The goal is to swing the + end-effector at a height at least the length of one link above the base. + Both links can swing freely and can pass by each other, i.e., they don't + collide when they have the same angle. + **STATE:** + The state consists of the sin() and cos() of the two rotational joint + angles and the joint angular velocities : + [cos(theta1) sin(theta1) cos(theta2) sin(theta2) thetaDot1 thetaDot2]. + For the first link, an angle of 0 corresponds to the link pointing downwards. + The angle of the second link is relative to the angle of the first link. + An angle of 0 corresponds to having the same angle between the two links. + A state of [1, 0, 1, 0, ..., ...] means that both links point downwards. + **ACTIONS:** + The action is either applying +1, 0 or -1 torque on the joint between + the two pendulum links. + .. note:: + The dynamics equations were missing some terms in the NIPS paper which + are present in the book. R. Sutton confirmed in personal correspondance + that the experimental results shown in the paper and the book were + generated with the equations shown in the book. + However, there is the option to run the domain with the paper equations + by setting book_or_nips = 'nips' + **REFERENCE:** + .. seealso:: + R. Sutton: Generalization in Reinforcement Learning: + Successful Examples Using Sparse Coarse Coding (NIPS 1996) + .. seealso:: + R. Sutton and A. G. Barto: + Reinforcement learning: An introduction. + Cambridge: MIT press, 1998. + .. warning:: + This version of the domain uses the Runge-Kutta method for integrating + the system dynamics and is more realistic, but also considerably harder + than the original version which employs Euler integration, + see the AcrobotLegacy class. + """ + + metadata = { + 'render.modes': ['human', 'rgb_array'], + 'video.frames_per_second' : 15 + } + + dt = .2 + + LINK_LENGTH_1 = 1. # [m] + LINK_LENGTH_2 = 1. # [m] + LINK_MASS_1 = 1. #: [kg] mass of link 1 + LINK_MASS_2 = 1. #: [kg] mass of link 2 + LINK_COM_POS_1 = 0.5 #: [m] position of the center of mass of link 1 + LINK_COM_POS_2 = 0.5 #: [m] position of the center of mass of link 2 + LINK_MOI = 1. #: moments of inertia for both links + + MAX_VEL_1 = 4 * np.pi + MAX_VEL_2 = 9 * np.pi + + AVAIL_TORQUE = [-1., 0., +1] + + torque_noise_max = 0. + + #: use dynamics equations from the nips paper or the book + book_or_nips = "book" + action_arrow = None + domain_fig = None + actions_num = 3 + + def __init__(self): + self.viewer = None + high = np.array([1.0, 1.0, 1.0, 1.0, self.MAX_VEL_1, self.MAX_VEL_2]) + low = -high + self.observation_space = spaces.Box(low=low, high=high, dtype=np.float32) + self.action_space = spaces.Discrete(3) + self.state = None + self.seed() + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def reset(self): + self.state = self.np_random.uniform(low=-0.1, high=0.1, size=(4,)) + return self._get_ob() + + def step(self, a): + s = self.state + torque = self.AVAIL_TORQUE[a] + + # Add noise to the force action + if self.torque_noise_max > 0: + torque += self.np_random.uniform(-self.torque_noise_max, self.torque_noise_max) + + # Now, augment the state with our force action so it can be passed to + # _dsdt + s_augmented = np.append(s, torque) + + ns = rk4(self._dsdt, s_augmented, [0, self.dt]) + # only care about final timestep of integration returned by integrator + ns = ns[-1] + ns = ns[:4] # omit action + # ODEINT IS TOO SLOW! + # ns_continuous = integrate.odeint(self._dsdt, self.s_continuous, [0, self.dt]) + # self.s_continuous = ns_continuous[-1] # We only care about the state + # at the ''final timestep'', self.dt + + ns[0] = wrap(ns[0], -pi, pi) + ns[1] = wrap(ns[1], -pi, pi) + ns[2] = bound(ns[2], -self.MAX_VEL_1, self.MAX_VEL_1) + ns[3] = bound(ns[3], -self.MAX_VEL_2, self.MAX_VEL_2) + self.state = ns + terminal = self._terminal() + reward = -1. if not terminal else 0. + return (self._get_ob(), reward, terminal, {}) + + def _get_ob(self): + s = self.state + return np.array([cos(s[0]), np.sin(s[0]), cos(s[1]), sin(s[1]), s[2], s[3]]) + + def _terminal(self): + s = self.state + return bool(-np.cos(s[0]) - np.cos(s[1] + s[0]) > 1.) + + def _dsdt(self, s_augmented, t): + m1 = self.LINK_MASS_1 + m2 = self.LINK_MASS_2 + l1 = self.LINK_LENGTH_1 + lc1 = self.LINK_COM_POS_1 + lc2 = self.LINK_COM_POS_2 + I1 = self.LINK_MOI + I2 = self.LINK_MOI + g = 9.8 + a = s_augmented[-1] + s = s_augmented[:-1] + theta1 = s[0] + theta2 = s[1] + dtheta1 = s[2] + dtheta2 = s[3] + d1 = m1 * lc1 ** 2 + m2 * \ + (l1 ** 2 + lc2 ** 2 + 2 * l1 * lc2 * np.cos(theta2)) + I1 + I2 + d2 = m2 * (lc2 ** 2 + l1 * lc2 * np.cos(theta2)) + I2 + phi2 = m2 * lc2 * g * np.cos(theta1 + theta2 - np.pi / 2.) + phi1 = - m2 * l1 * lc2 * dtheta2 ** 2 * np.sin(theta2) \ + - 2 * m2 * l1 * lc2 * dtheta2 * dtheta1 * np.sin(theta2) \ + + (m1 * lc1 + m2 * l1) * g * np.cos(theta1 - np.pi / 2) + phi2 + if self.book_or_nips == "nips": + # the following line is consistent with the description in the + # paper + ddtheta2 = (a + d2 / d1 * phi1 - phi2) / \ + (m2 * lc2 ** 2 + I2 - d2 ** 2 / d1) + else: + # the following line is consistent with the java implementation and the + # book + ddtheta2 = (a + d2 / d1 * phi1 - m2 * l1 * lc2 * dtheta1 ** 2 * np.sin(theta2) - phi2) \ + / (m2 * lc2 ** 2 + I2 - d2 ** 2 / d1) + ddtheta1 = -(d2 * ddtheta2 + phi1) / d1 + return (dtheta1, dtheta2, ddtheta1, ddtheta2, 0.) + + def render(self, mode='human'): + from gym.envs.classic_control import rendering + + s = self.state + + if self.viewer is None: + self.viewer = rendering.Viewer(500,500) + bound = self.LINK_LENGTH_1 + self.LINK_LENGTH_2 + 0.2 # 2.2 for default + self.viewer.set_bounds(-bound,bound,-bound,bound) + + if s is None: return None + + p1 = [-self.LINK_LENGTH_1 * + np.cos(s[0]), self.LINK_LENGTH_1 * np.sin(s[0])] + + p2 = [p1[0] - self.LINK_LENGTH_2 * np.cos(s[0] + s[1]), + p1[1] + self.LINK_LENGTH_2 * np.sin(s[0] + s[1])] + + xys = np.array([[0,0], p1, p2])[:,::-1] + thetas = [s[0]-np.pi/2, s[0]+s[1]-np.pi/2] + link_lengths = [self.LINK_LENGTH_1, self.LINK_LENGTH_2] + + self.viewer.draw_line((-2.2, 1), (2.2, 1)) + for ((x,y),th,llen) in zip(xys, thetas, link_lengths): + l,r,t,b = 0, llen, .1, -.1 + jtransform = rendering.Transform(rotation=th, translation=(x,y)) + link = self.viewer.draw_polygon([(l,b), (l,t), (r,t), (r,b)]) + link.add_attr(jtransform) + link.set_color(0,.8, .8) + circ = self.viewer.draw_circle(.1) + circ.set_color(.8, .8, 0) + circ.add_attr(jtransform) + + return self.viewer.render(return_rgb_array = mode=='rgb_array') + + def close(self): + if self.viewer: + self.viewer.close() + self.viewer = None + +def wrap(x, m, M): + """ + :param x: a scalar + :param m: minimum possible value in range + :param M: maximum possible value in range + Wraps ``x`` so m <= x <= M; but unlike ``bound()`` which + truncates, ``wrap()`` wraps x around the coordinate system defined by m,M.\n + For example, m = -180, M = 180 (degrees), x = 360 --> returns 0. + """ + diff = M - m + while x > M: + x = x - diff + while x < m: + x = x + diff + return x + +def bound(x, m, M=None): + """ + :param x: scalar + Either have m as scalar, so bound(x,m,M) which returns m <= x <= M *OR* + have m as length 2 vector, bound(x,m, <IGNORED>) returns m[0] <= x <= m[1]. + """ + if M is None: + M = m[1] + m = m[0] + # bound x between min (m) and Max (M) + return min(max(x, m), M) + + +def rk4(derivs, y0, t, *args, **kwargs): + """ + Integrate 1D or ND system of ODEs using 4-th order Runge-Kutta. + This is a toy implementation which may be useful if you find + yourself stranded on a system w/o scipy. Otherwise use + :func:`scipy.integrate`. + *y0* + initial state vector + *t* + sample times + *derivs* + returns the derivative of the system and has the + signature ``dy = derivs(yi, ti)`` + *args* + additional arguments passed to the derivative function + *kwargs* + additional keyword arguments passed to the derivative function + Example 1 :: + ## 2D system + def derivs6(x,t): + d1 = x[0] + 2*x[1] + d2 = -3*x[0] + 4*x[1] + return (d1, d2) + dt = 0.0005 + t = arange(0.0, 2.0, dt) + y0 = (1,2) + yout = rk4(derivs6, y0, t) + Example 2:: + ## 1D system + alpha = 2 + def derivs(x,t): + return -alpha*x + exp(-t) + y0 = 1 + yout = rk4(derivs, y0, t) + If you have access to scipy, you should probably be using the + scipy.integrate tools rather than this function. + """ + + try: + Ny = len(y0) + except TypeError: + yout = np.zeros((len(t),), np.float_) + else: + yout = np.zeros((len(t), Ny), np.float_) + + yout[0] = y0 + + + for i in np.arange(len(t) - 1): + + thist = t[i] + dt = t[i + 1] - thist + dt2 = dt / 2.0 + y0 = yout[i] + + k1 = np.asarray(derivs(y0, thist, *args, **kwargs)) + k2 = np.asarray(derivs(y0 + dt2 * k1, thist + dt2, *args, **kwargs)) + k3 = np.asarray(derivs(y0 + dt2 * k2, thist + dt2, *args, **kwargs)) + k4 = np.asarray(derivs(y0 + dt * k3, thist + dt, *args, **kwargs)) + yout[i + 1] = y0 + dt / 6.0 * (k1 + 2 * k2 + 2 * k3 + k4) + return yout diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/assets/clockwise.png b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/assets/clockwise.png new file mode 100644 index 0000000000000000000000000000000000000000..1aa423652b279e6bf31cd1f06bed6a9c421f9323 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/assets/clockwise.png differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/cartpole.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/cartpole.py new file mode 100644 index 0000000000000000000000000000000000000000..9482b7893b4fbab523da6ca243b970eed5b955c4 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/cartpole.py @@ -0,0 +1,193 @@ +""" +Classic cart-pole system implemented by Rich Sutton et al. +Copied from http://incompleteideas.net/sutton/book/code/pole.c +permalink: https://perma.cc/C9ZM-652R +""" + +import math +import gym +from gym import spaces, logger +from gym.utils import seeding +import numpy as np + +class CartPoleEnv(gym.Env): + """ + Description: + A pole is attached by an un-actuated joint to a cart, which moves along a frictionless track. The pendulum starts upright, and the goal is to prevent it from falling over by increasing and reducing the cart's velocity. + + Source: + This environment corresponds to the version of the cart-pole problem described by Barto, Sutton, and Anderson + + Observation: + Type: Box(4) + Num Observation Min Max + 0 Cart Position -4.8 4.8 + 1 Cart Velocity -Inf Inf + 2 Pole Angle -24 deg 24 deg + 3 Pole Velocity At Tip -Inf Inf + + Actions: + Type: Discrete(2) + Num Action + 0 Push cart to the left + 1 Push cart to the right + + Note: The amount the velocity that is reduced or increased is not fixed; it depends on the angle the pole is pointing. This is because the center of gravity of the pole increases the amount of energy needed to move the cart underneath it + + Reward: + Reward is 1 for every step taken, including the termination step + + Starting State: + All observations are assigned a uniform random value in [-0.05..0.05] + + Episode Termination: + Pole Angle is more than 12 degrees + Cart Position is more than 2.4 (center of the cart reaches the edge of the display) + Episode length is greater than 200 + Solved Requirements + Considered solved when the average reward is greater than or equal to 195.0 over 100 consecutive trials. + """ + + metadata = { + 'render.modes': ['human', 'rgb_array'], + 'video.frames_per_second' : 50 + } + + def __init__(self): + self.gravity = 9.8 + self.masscart = 1.0 + self.masspole = 0.1 + self.total_mass = (self.masspole + self.masscart) + self.length = 0.5 # actually half the pole's length + self.polemass_length = (self.masspole * self.length) + self.force_mag = 10.0 + self.tau = 0.02 # seconds between state updates + self.kinematics_integrator = 'euler' + + # Angle at which to fail the episode + self.theta_threshold_radians = 12 * 2 * math.pi / 360 + self.x_threshold = 2.4 + + # Angle limit set to 2 * theta_threshold_radians so failing observation is still within bounds + high = np.array([ + self.x_threshold * 2, + np.finfo(np.float32).max, + self.theta_threshold_radians * 2, + np.finfo(np.float32).max]) + + self.action_space = spaces.Discrete(2) + self.observation_space = spaces.Box(-high, high, dtype=np.float32) + + self.seed() + self.viewer = None + self.state = None + + self.steps_beyond_done = None + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def step(self, action): + assert self.action_space.contains(action), "%r (%s) invalid"%(action, type(action)) + state = self.state + x, x_dot, theta, theta_dot = state + force = self.force_mag if action==1 else -self.force_mag + costheta = math.cos(theta) + sintheta = math.sin(theta) + temp = (force + self.polemass_length * theta_dot * theta_dot * sintheta) / self.total_mass + thetaacc = (self.gravity * sintheta - costheta* temp) / (self.length * (4.0/3.0 - self.masspole * costheta * costheta / self.total_mass)) + xacc = temp - self.polemass_length * thetaacc * costheta / self.total_mass + if self.kinematics_integrator == 'euler': + x = x + self.tau * x_dot + x_dot = x_dot + self.tau * xacc + theta = theta + self.tau * theta_dot + theta_dot = theta_dot + self.tau * thetaacc + else: # semi-implicit euler + x_dot = x_dot + self.tau * xacc + x = x + self.tau * x_dot + theta_dot = theta_dot + self.tau * thetaacc + theta = theta + self.tau * theta_dot + self.state = (x,x_dot,theta,theta_dot) + done = x < -self.x_threshold \ + or x > self.x_threshold \ + or theta < -self.theta_threshold_radians \ + or theta > self.theta_threshold_radians + done = bool(done) + + if not done: + reward = 1.0 + elif self.steps_beyond_done is None: + # Pole just fell! + self.steps_beyond_done = 0 + reward = 1.0 + else: + if self.steps_beyond_done == 0: + logger.warn("You are calling 'step()' even though this environment has already returned done = True. You should always call 'reset()' once you receive 'done = True' -- any further steps are undefined behavior.") + self.steps_beyond_done += 1 + reward = 0.0 + + return np.array(self.state), reward, done, {} + + def reset(self): + self.state = self.np_random.uniform(low=-0.05, high=0.05, size=(4,)) + self.steps_beyond_done = None + return np.array(self.state) + + def render(self, mode='human'): + screen_width = 600 + screen_height = 400 + + world_width = self.x_threshold*2 + scale = screen_width/world_width + carty = 100 # TOP OF CART + polewidth = 10.0 + polelen = scale * (2 * self.length) + cartwidth = 50.0 + cartheight = 30.0 + + if self.viewer is None: + from gym.envs.classic_control import rendering + self.viewer = rendering.Viewer(screen_width, screen_height) + l,r,t,b = -cartwidth/2, cartwidth/2, cartheight/2, -cartheight/2 + axleoffset =cartheight/4.0 + cart = rendering.FilledPolygon([(l,b), (l,t), (r,t), (r,b)]) + self.carttrans = rendering.Transform() + cart.add_attr(self.carttrans) + self.viewer.add_geom(cart) + l,r,t,b = -polewidth/2,polewidth/2,polelen-polewidth/2,-polewidth/2 + pole = rendering.FilledPolygon([(l,b), (l,t), (r,t), (r,b)]) + pole.set_color(.8,.6,.4) + self.poletrans = rendering.Transform(translation=(0, axleoffset)) + pole.add_attr(self.poletrans) + pole.add_attr(self.carttrans) + self.viewer.add_geom(pole) + self.axle = rendering.make_circle(polewidth/2) + self.axle.add_attr(self.poletrans) + self.axle.add_attr(self.carttrans) + self.axle.set_color(.5,.5,.8) + self.viewer.add_geom(self.axle) + self.track = rendering.Line((0,carty), (screen_width,carty)) + self.track.set_color(0,0,0) + self.viewer.add_geom(self.track) + + self._pole_geom = pole + + if self.state is None: return None + + # Edit the pole polygon vertex + pole = self._pole_geom + l,r,t,b = -polewidth/2,polewidth/2,polelen-polewidth/2,-polewidth/2 + pole.v = [(l,b), (l,t), (r,t), (r,b)] + + x = self.state + cartx = x[0]*scale+screen_width/2.0 # MIDDLE OF CART + self.carttrans.set_translation(cartx, carty) + self.poletrans.set_rotation(-x[2]) + + return self.viewer.render(return_rgb_array = mode=='rgb_array') + + def close(self): + if self.viewer: + self.viewer.close() + self.viewer = None diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/continuous_dota.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/continuous_dota.py new file mode 100644 index 0000000000000000000000000000000000000000..b9e68c1bc2cb195b405a0e2997a07345ee69db6c --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/continuous_dota.py @@ -0,0 +1,159 @@ +# -*- coding: utf-8 -*- + +######## +# Code made by : Osvaldo Pinto de Oliveira and Alexandre Vanini +# Highly inspired by Ikostrikov : +# https://github.com/ikostrikov/pytorch-a2c-ppo-acktr-gail +# Purpose : AI for DOTA 2 which has to earn as much gold has it can. +######## + +''' +New - + +python3 main.py --env-name "Dota-v0" --algo ppo --use-gae --vis-interval 1 --log-interval 1 --num-steps 32 --num-processes 1 --lr 3e-4 --entropy-coef 0 --value-loss-coef 0.5 --ppo-epoch 10 --num-mini-batch 32 --gamma 0.99 --tau 0.95 --num-env-steps 1500 --use-linear-lr-decay --new-env 1 + +Const - + +python3 main.py --env-name "Dota-v0" --algo ppo --use-gae --vis-interval 1 --log-interval 1 --num-steps 32 --num-processes 1 --lr 3e-4 --entropy-coef 0 --value-loss-coef 0.5 --ppo-epoch 10 --num-mini-batch 32 --gamma 0.99 --tau 0.95 --num-env-steps 1500 --use-linear-lr-decay --new-env 0 --load-dir trained_models/ppo/ + + +#if num-steps = 32 proc = 1 num-env-steps = 100 -> 0 a 3 * 31 times (100 // 32 // 1) +''' + +import math,random + +import numpy as np + +import globalvar +import json +import time + +import gym +from gym import spaces +from gym.utils import seeding + +class Continuous_DotaEnv(gym.Env): + metadata = { + 'render.modes': ['human', 'rgb_array'], + 'video.frames_per_second': 30 + } + + def __init__(self): + + #Dota 2 field bounds + self.min_x = -8223 + self.max_y = 8223 + + self.min_y = -8223 + self.max_x = 8223 + + #Arbitrary defined max gold (but 0 is the min) + self.min_gold = 0 + self.max_gold = 10000 + + #Arbitrary defined max life (but 0 is the min) + self.min_life = 0 + self.max_life = 10000 + + #Arbitrary defined max deaths (but 0 is the min) + self.min_deaths = 0 + self.max_deaths = 100 + + #game done set as false if not done, true if done + self.min_game_state = False + self.max_game_state = True + + #Defining numpy arrays for the lowest and the highest environnement set + self.low_env = np.array([self.min_game_state,self.min_gold,self.min_life,self.min_deaths,self.min_x,self.min_y]) + self.high_env = np.array([self.max_game_state,self.max_gold,self.max_life,self.max_deaths,self.max_x,self.max_y]) + + #Creating the observation box, which is made of lowest and highest env + self.observation_space = spaces.Box(low=self.low_env, high=self.high_env,dtype=np.float32) + + #we will define actions as a click of the mouse, in a [-1,1] E x,y range + self.min_action = -1.0 + self.max_action = 1.0 + + self.low_action = np.array([self.min_action,self.min_action]) + self.high_action = np.array([self.max_action,self.max_action]) + + self.action_space = spaces.Box(low=self.low_action, high=self.high_action,dtype=np.float32) + + #Set the first env + self.reset() + + # Send action to communication protocol. + def _dota_do_action(self,action): + + #Bind the x and y to high of low position + x = min(max(action[0], self.min_action),self.max_action) + y = min(max(action[1], self.min_action), self.max_action) + + #Get the current position of the bot + current_x, current_y, current_z, gold, life, death = globalvar.get_ai_values(0) + + globalvar.move_bot(1,current_x + (x*200),current_y + (y*200),current_z) + + #### WARNING #### + #time.sleep(0.04) + pass + + #Get the current env of the bot + def _dota_get_state(self): + + #Get the current env of the bot from communication protocol + + + + x,y,z,gold,life,death = globalvar.get_ai_values(0) + + state = np.array([False,gold,life,death,x,y]) + + ## Print current state for debug purpose + print("############### STATE ##################") + print(state) + print("########################################") + return np.array(state) + + #Makes a step in learn iteration + def step(self, action): + + self._dota_do_action(action) + new_state = self._dota_get_state() + + reward = 0 + done = False + + ####### + # + # If the bot doesn't move, he looses reward to make him understand that staying in the same spot is not game valuable + # + ###### + reward_location_x = new_state[4] - self.state[4] + reward_location_y = new_state[5] - self.state[5] + + reward_location = 0 + if reward_location_x + reward_location_y == 0: + reward_location = 50 + + #(500 * (new_state[3] - self.state[3])) 500 * deaths (bad reward) + reward_death = (500 * (new_state[3] - self.state[3])) + reward_gold = new_state[1] - self.state[1] + + #(new_state[2] - self.state[2]) => makes the bot loose reward if he takes damage + reward_life = (new_state[2] - self.state[2]) + + # new_/self.state[1] contains money information (for a start) + reward = reward_gold - reward_death - reward_life - reward_location + + #the actual state becomes the "new one", since we wont do more checks on this one + self.state = new_state + print("############### REWARD ##################") + print(reward) + print("########################################") + + return self.state, reward, done, {} + + def reset(self): + self.state = np.array([False, 600,700,0,0,0]) + return np.array(self.state) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/continuous_mountain_car.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/continuous_mountain_car.py new file mode 100644 index 0000000000000000000000000000000000000000..a65f11bdd0e78a82e69e57a54f33d38cd83f7e27 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/continuous_mountain_car.py @@ -0,0 +1,148 @@ +# -*- coding: utf-8 -*- +""" +@author: Olivier Sigaud + +A merge between two sources: + +* Adaptation of the MountainCar Environment from the "FAReinforcement" library +of Jose Antonio Martin H. (version 1.0), adapted by 'Tom Schaul, tom@idsia.ch' +and then modified by Arnaud de Broissia + +* the OpenAI/gym MountainCar environment +itself from +http://incompleteideas.net/sutton/MountainCar/MountainCar1.cp +permalink: https://perma.cc/6Z2N-PFWC +""" + +import math + +import numpy as np + +import gym +from gym import spaces +from gym.utils import seeding + +class Continuous_MountainCarEnv(gym.Env): + metadata = { + 'render.modes': ['human', 'rgb_array'], + 'video.frames_per_second': 30 + } + + def __init__(self): + self.min_action = -1.0 + self.max_action = 1.0 + self.min_position = -1.2 + self.max_position = 0.6 + self.max_speed = 0.07 + self.goal_position = 0.45 # was 0.5 in gym, 0.45 in Arnaud de Broissia's version + self.power = 0.0015 + + self.low_state = np.array([self.min_position, -self.max_speed]) + self.high_state = np.array([self.max_position, self.max_speed]) + + self.viewer = None + + self.action_space = spaces.Box(low=self.min_action, high=self.max_action, + shape=(1,), dtype=np.float32) + self.observation_space = spaces.Box(low=self.low_state, high=self.high_state, + dtype=np.float32) + + self.seed() + self.reset() + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def step(self, action): + + position = self.state[0] + velocity = self.state[1] + force = min(max(action[0], -1.0), 1.0) + + velocity += force*self.power -0.0025 * math.cos(3*position) + if (velocity > self.max_speed): velocity = self.max_speed + if (velocity < -self.max_speed): velocity = -self.max_speed + position += velocity + if (position > self.max_position): position = self.max_position + if (position < self.min_position): position = self.min_position + if (position==self.min_position and velocity<0): velocity = 0 + + done = bool(position >= self.goal_position) + + reward = 0 + if done: + reward = 100.0 + reward-= math.pow(action[0],2)*0.1 + + self.state = np.array([position, velocity]) + return self.state, reward, done, {} + + def reset(self): + self.state = np.array([self.np_random.uniform(low=-0.6, high=-0.4), 0]) + return np.array(self.state) + +# def get_state(self): +# return self.state + + def _height(self, xs): + return np.sin(3 * xs)*.45+.55 + + def render(self, mode='human'): + screen_width = 600 + screen_height = 400 + + world_width = self.max_position - self.min_position + scale = screen_width/world_width + carwidth=40 + carheight=20 + + + if self.viewer is None: + from gym.envs.classic_control import rendering + self.viewer = rendering.Viewer(screen_width, screen_height) + xs = np.linspace(self.min_position, self.max_position, 100) + ys = self._height(xs) + xys = list(zip((xs-self.min_position)*scale, ys*scale)) + + self.track = rendering.make_polyline(xys) + self.track.set_linewidth(4) + self.viewer.add_geom(self.track) + + clearance = 10 + + l,r,t,b = -carwidth/2, carwidth/2, carheight, 0 + car = rendering.FilledPolygon([(l,b), (l,t), (r,t), (r,b)]) + car.add_attr(rendering.Transform(translation=(0, clearance))) + self.cartrans = rendering.Transform() + car.add_attr(self.cartrans) + self.viewer.add_geom(car) + frontwheel = rendering.make_circle(carheight/2.5) + frontwheel.set_color(.5, .5, .5) + frontwheel.add_attr(rendering.Transform(translation=(carwidth/4,clearance))) + frontwheel.add_attr(self.cartrans) + self.viewer.add_geom(frontwheel) + backwheel = rendering.make_circle(carheight/2.5) + backwheel.add_attr(rendering.Transform(translation=(-carwidth/4,clearance))) + backwheel.add_attr(self.cartrans) + backwheel.set_color(.5, .5, .5) + self.viewer.add_geom(backwheel) + flagx = (self.goal_position-self.min_position)*scale + flagy1 = self._height(self.goal_position)*scale + flagy2 = flagy1 + 50 + flagpole = rendering.Line((flagx, flagy1), (flagx, flagy2)) + self.viewer.add_geom(flagpole) + flag = rendering.FilledPolygon([(flagx, flagy2), (flagx, flagy2-10), (flagx+25, flagy2-5)]) + flag.set_color(.8,.8,0) + self.viewer.add_geom(flag) + + pos = self.state[0] + self.cartrans.set_translation((pos-self.min_position)*scale, self._height(pos)*scale) + self.cartrans.set_rotation(math.cos(3 * pos)) + + return self.viewer.render(return_rgb_array = mode=='rgb_array') + + def close(self): + if self.viewer: + self.viewer.close() + self.viewer = None diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/mountain_car.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/mountain_car.py new file mode 100644 index 0000000000000000000000000000000000000000..4ec4af4d36ec66f365962f26b10ed631af9088e3 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/mountain_car.py @@ -0,0 +1,126 @@ +""" +http://incompleteideas.net/sutton/MountainCar/MountainCar1.cp +permalink: https://perma.cc/6Z2N-PFWC +""" + +import math + +import numpy as np + +import gym +from gym import spaces +from gym.utils import seeding + +class MountainCarEnv(gym.Env): + metadata = { + 'render.modes': ['human', 'rgb_array'], + 'video.frames_per_second': 30 + } + + def __init__(self): + self.min_position = -1.2 + self.max_position = 0.6 + self.max_speed = 0.07 + self.goal_position = 0.5 + + self.force=0.001 + self.gravity=0.0025 + + self.low = np.array([self.min_position, -self.max_speed]) + self.high = np.array([self.max_position, self.max_speed]) + + self.viewer = None + + self.action_space = spaces.Discrete(3) + self.observation_space = spaces.Box(self.low, self.high, dtype=np.float32) + + self.seed() + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def step(self, action): + assert self.action_space.contains(action), "%r (%s) invalid" % (action, type(action)) + + position, velocity = self.state + velocity += (action-1)*self.force + math.cos(3*position)*(-self.gravity) + velocity = np.clip(velocity, -self.max_speed, self.max_speed) + position += velocity + position = np.clip(position, self.min_position, self.max_position) + if (position==self.min_position and velocity<0): velocity = 0 + + done = bool(position >= self.goal_position) + reward = -1.0 + + self.state = (position, velocity) + return np.array(self.state), reward, done, {} + + def reset(self): + self.state = np.array([self.np_random.uniform(low=-0.6, high=-0.4), 0]) + return np.array(self.state) + + def _height(self, xs): + return np.sin(3 * xs)*.45+.55 + + def render(self, mode='human'): + screen_width = 600 + screen_height = 400 + + world_width = self.max_position - self.min_position + scale = screen_width/world_width + carwidth=40 + carheight=20 + + + if self.viewer is None: + from gym.envs.classic_control import rendering + self.viewer = rendering.Viewer(screen_width, screen_height) + xs = np.linspace(self.min_position, self.max_position, 100) + ys = self._height(xs) + xys = list(zip((xs-self.min_position)*scale, ys*scale)) + + self.track = rendering.make_polyline(xys) + self.track.set_linewidth(4) + self.viewer.add_geom(self.track) + + clearance = 10 + + l,r,t,b = -carwidth/2, carwidth/2, carheight, 0 + car = rendering.FilledPolygon([(l,b), (l,t), (r,t), (r,b)]) + car.add_attr(rendering.Transform(translation=(0, clearance))) + self.cartrans = rendering.Transform() + car.add_attr(self.cartrans) + self.viewer.add_geom(car) + frontwheel = rendering.make_circle(carheight/2.5) + frontwheel.set_color(.5, .5, .5) + frontwheel.add_attr(rendering.Transform(translation=(carwidth/4,clearance))) + frontwheel.add_attr(self.cartrans) + self.viewer.add_geom(frontwheel) + backwheel = rendering.make_circle(carheight/2.5) + backwheel.add_attr(rendering.Transform(translation=(-carwidth/4,clearance))) + backwheel.add_attr(self.cartrans) + backwheel.set_color(.5, .5, .5) + self.viewer.add_geom(backwheel) + flagx = (self.goal_position-self.min_position)*scale + flagy1 = self._height(self.goal_position)*scale + flagy2 = flagy1 + 50 + flagpole = rendering.Line((flagx, flagy1), (flagx, flagy2)) + self.viewer.add_geom(flagpole) + flag = rendering.FilledPolygon([(flagx, flagy2), (flagx, flagy2-10), (flagx+25, flagy2-5)]) + flag.set_color(.8,.8,0) + self.viewer.add_geom(flag) + + pos = self.state[0] + self.cartrans.set_translation((pos-self.min_position)*scale, self._height(pos)*scale) + self.cartrans.set_rotation(math.cos(3 * pos)) + + return self.viewer.render(return_rgb_array = mode=='rgb_array') + + def get_keys_to_action(self): + return {():1,(276,):0,(275,):2,(275,276):1} #control with left and right arrow keys + + def close(self): + if self.viewer: + self.viewer.close() + self.viewer = None diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/pendulum.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/pendulum.py new file mode 100644 index 0000000000000000000000000000000000000000..940c2e1314d77e6e1dc84e86629358f95df4fa2b --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/pendulum.py @@ -0,0 +1,90 @@ +import gym +from gym import spaces +from gym.utils import seeding +import numpy as np +from os import path + +class PendulumEnv(gym.Env): + metadata = { + 'render.modes' : ['human', 'rgb_array'], + 'video.frames_per_second' : 30 + } + + def __init__(self): + self.max_speed=8 + self.max_torque=2. + self.dt=.05 + self.viewer = None + + high = np.array([1., 1., self.max_speed]) + self.action_space = spaces.Box(low=-self.max_torque, high=self.max_torque, shape=(1,), dtype=np.float32) + self.observation_space = spaces.Box(low=-high, high=high, dtype=np.float32) + + self.seed() + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def step(self,u): + th, thdot = self.state # th := theta + + g = 10. + m = 1. + l = 1. + dt = self.dt + + u = np.clip(u, -self.max_torque, self.max_torque)[0] + self.last_u = u # for rendering + costs = angle_normalize(th)**2 + .1*thdot**2 + .001*(u**2) + + newthdot = thdot + (-3*g/(2*l) * np.sin(th + np.pi) + 3./(m*l**2)*u) * dt + newth = th + newthdot*dt + newthdot = np.clip(newthdot, -self.max_speed, self.max_speed) #pylint: disable=E1111 + + self.state = np.array([newth, newthdot]) + return self._get_obs(), -costs, False, {} + + def reset(self): + high = np.array([np.pi, 1]) + self.state = self.np_random.uniform(low=-high, high=high) + self.last_u = None + return self._get_obs() + + def _get_obs(self): + theta, thetadot = self.state + return np.array([np.cos(theta), np.sin(theta), thetadot]) + + def render(self, mode='human'): + + if self.viewer is None: + from gym.envs.classic_control import rendering + self.viewer = rendering.Viewer(500,500) + self.viewer.set_bounds(-2.2,2.2,-2.2,2.2) + rod = rendering.make_capsule(1, .2) + rod.set_color(.8, .3, .3) + self.pole_transform = rendering.Transform() + rod.add_attr(self.pole_transform) + self.viewer.add_geom(rod) + axle = rendering.make_circle(.05) + axle.set_color(0,0,0) + self.viewer.add_geom(axle) + fname = path.join(path.dirname(__file__), "assets/clockwise.png") + self.img = rendering.Image(fname, 1., 1.) + self.imgtrans = rendering.Transform() + self.img.add_attr(self.imgtrans) + + self.viewer.add_onetime(self.img) + self.pole_transform.set_rotation(self.state[0] + np.pi/2) + if self.last_u: + self.imgtrans.scale = (-self.last_u/2, np.abs(self.last_u)/2) + + return self.viewer.render(return_rgb_array = mode=='rgb_array') + + def close(self): + if self.viewer: + self.viewer.close() + self.viewer = None + +def angle_normalize(x): + return (((x+np.pi) % (2*np.pi)) - np.pi) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/rendering.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/rendering.py new file mode 100644 index 0000000000000000000000000000000000000000..14f59466969f91efca03f8718e1dc7456d4dab0d --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/classic_control/rendering.py @@ -0,0 +1,369 @@ +""" +2D rendering framework +""" +from __future__ import division +import os +import six +import sys + +if "Apple" in sys.version: + if 'DYLD_FALLBACK_LIBRARY_PATH' in os.environ: + os.environ['DYLD_FALLBACK_LIBRARY_PATH'] += ':/usr/lib' + # (JDS 2016/04/15): avoid bug on Anaconda 2.3.0 / Yosemite + +from gym import error + +try: + import pyglet +except ImportError as e: + raise ImportError(''' + Cannot import pyglet. + HINT: you can install pyglet directly via 'pip install pyglet'. + But if you really just want to install all Gym dependencies and not have to think about it, + 'pip install -e .[all]' or 'pip install gym[all]' will do it. + ''') + +try: + from pyglet.gl import * +except ImportError as e: + raise ImportError(''' + Error occured while running `from pyglet.gl import *` + HINT: make sure you have OpenGL install. On Ubuntu, you can run 'apt-get install python-opengl'. + If you're running on a server, you may need a virtual frame buffer; something like this should work: + 'xvfb-run -s \"-screen 0 1400x900x24\" python <your_script.py>' + ''') + +import math +import numpy as np + +RAD2DEG = 57.29577951308232 + +def get_display(spec): + """Convert a display specification (such as :0) into an actual Display + object. + + Pyglet only supports multiple Displays on Linux. + """ + if spec is None: + return None + elif isinstance(spec, six.string_types): + return pyglet.canvas.Display(spec) + else: + raise error.Error('Invalid display specification: {}. (Must be a string like :0 or None.)'.format(spec)) + +class Viewer(object): + def __init__(self, width, height, display=None): + display = get_display(display) + + self.width = width + self.height = height + self.window = pyglet.window.Window(width=width, height=height, display=display) + self.window.on_close = self.window_closed_by_user + self.isopen = True + self.geoms = [] + self.onetime_geoms = [] + self.transform = Transform() + + glEnable(GL_BLEND) + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) + + def close(self): + self.window.close() + + def window_closed_by_user(self): + self.isopen = False + + def set_bounds(self, left, right, bottom, top): + assert right > left and top > bottom + scalex = self.width/(right-left) + scaley = self.height/(top-bottom) + self.transform = Transform( + translation=(-left*scalex, -bottom*scaley), + scale=(scalex, scaley)) + + def add_geom(self, geom): + self.geoms.append(geom) + + def add_onetime(self, geom): + self.onetime_geoms.append(geom) + + def render(self, return_rgb_array=False): + glClearColor(1,1,1,1) + self.window.clear() + self.window.switch_to() + self.window.dispatch_events() + self.transform.enable() + for geom in self.geoms: + geom.render() + for geom in self.onetime_geoms: + geom.render() + self.transform.disable() + arr = None + if return_rgb_array: + buffer = pyglet.image.get_buffer_manager().get_color_buffer() + image_data = buffer.get_image_data() + arr = np.frombuffer(image_data.data, dtype=np.uint8) + # In https://github.com/openai/gym-http-api/issues/2, we + # discovered that someone using Xmonad on Arch was having + # a window of size 598 x 398, though a 600 x 400 window + # was requested. (Guess Xmonad was preserving a pixel for + # the boundary.) So we use the buffer height/width rather + # than the requested one. + arr = arr.reshape(buffer.height, buffer.width, 4) + arr = arr[::-1,:,0:3] + self.window.flip() + self.onetime_geoms = [] + return arr if return_rgb_array else self.isopen + + # Convenience + def draw_circle(self, radius=10, res=30, filled=True, **attrs): + geom = make_circle(radius=radius, res=res, filled=filled) + _add_attrs(geom, attrs) + self.add_onetime(geom) + return geom + + def draw_polygon(self, v, filled=True, **attrs): + geom = make_polygon(v=v, filled=filled) + _add_attrs(geom, attrs) + self.add_onetime(geom) + return geom + + def draw_polyline(self, v, **attrs): + geom = make_polyline(v=v) + _add_attrs(geom, attrs) + self.add_onetime(geom) + return geom + + def draw_line(self, start, end, **attrs): + geom = Line(start, end) + _add_attrs(geom, attrs) + self.add_onetime(geom) + return geom + + def get_array(self): + self.window.flip() + image_data = pyglet.image.get_buffer_manager().get_color_buffer().get_image_data() + self.window.flip() + arr = np.fromstring(image_data.data, dtype=np.uint8, sep='') + arr = arr.reshape(self.height, self.width, 4) + return arr[::-1,:,0:3] + + def __del__(self): + self.close() + +def _add_attrs(geom, attrs): + if "color" in attrs: + geom.set_color(*attrs["color"]) + if "linewidth" in attrs: + geom.set_linewidth(attrs["linewidth"]) + +class Geom(object): + def __init__(self): + self._color=Color((0, 0, 0, 1.0)) + self.attrs = [self._color] + def render(self): + for attr in reversed(self.attrs): + attr.enable() + self.render1() + for attr in self.attrs: + attr.disable() + def render1(self): + raise NotImplementedError + def add_attr(self, attr): + self.attrs.append(attr) + def set_color(self, r, g, b): + self._color.vec4 = (r, g, b, 1) + +class Attr(object): + def enable(self): + raise NotImplementedError + def disable(self): + pass + +class Transform(Attr): + def __init__(self, translation=(0.0, 0.0), rotation=0.0, scale=(1,1)): + self.set_translation(*translation) + self.set_rotation(rotation) + self.set_scale(*scale) + def enable(self): + glPushMatrix() + glTranslatef(self.translation[0], self.translation[1], 0) # translate to GL loc ppint + glRotatef(RAD2DEG * self.rotation, 0, 0, 1.0) + glScalef(self.scale[0], self.scale[1], 1) + def disable(self): + glPopMatrix() + def set_translation(self, newx, newy): + self.translation = (float(newx), float(newy)) + def set_rotation(self, new): + self.rotation = float(new) + def set_scale(self, newx, newy): + self.scale = (float(newx), float(newy)) + +class Color(Attr): + def __init__(self, vec4): + self.vec4 = vec4 + def enable(self): + glColor4f(*self.vec4) + +class LineStyle(Attr): + def __init__(self, style): + self.style = style + def enable(self): + glEnable(GL_LINE_STIPPLE) + glLineStipple(1, self.style) + def disable(self): + glDisable(GL_LINE_STIPPLE) + +class LineWidth(Attr): + def __init__(self, stroke): + self.stroke = stroke + def enable(self): + glLineWidth(self.stroke) + +class Point(Geom): + def __init__(self): + Geom.__init__(self) + def render1(self): + glBegin(GL_POINTS) # draw point + glVertex3f(0.0, 0.0, 0.0) + glEnd() + +class FilledPolygon(Geom): + def __init__(self, v): + Geom.__init__(self) + self.v = v + def render1(self): + if len(self.v) == 4 : glBegin(GL_QUADS) + elif len(self.v) > 4 : glBegin(GL_POLYGON) + else: glBegin(GL_TRIANGLES) + for p in self.v: + glVertex3f(p[0], p[1],0) # draw each vertex + glEnd() + +def make_circle(radius=10, res=30, filled=True): + points = [] + for i in range(res): + ang = 2*math.pi*i / res + points.append((math.cos(ang)*radius, math.sin(ang)*radius)) + if filled: + return FilledPolygon(points) + else: + return PolyLine(points, True) + +def make_polygon(v, filled=True): + if filled: return FilledPolygon(v) + else: return PolyLine(v, True) + +def make_polyline(v): + return PolyLine(v, False) + +def make_capsule(length, width): + l, r, t, b = 0, length, width/2, -width/2 + box = make_polygon([(l,b), (l,t), (r,t), (r,b)]) + circ0 = make_circle(width/2) + circ1 = make_circle(width/2) + circ1.add_attr(Transform(translation=(length, 0))) + geom = Compound([box, circ0, circ1]) + return geom + +class Compound(Geom): + def __init__(self, gs): + Geom.__init__(self) + self.gs = gs + for g in self.gs: + g.attrs = [a for a in g.attrs if not isinstance(a, Color)] + def render1(self): + for g in self.gs: + g.render() + +class PolyLine(Geom): + def __init__(self, v, close): + Geom.__init__(self) + self.v = v + self.close = close + self.linewidth = LineWidth(1) + self.add_attr(self.linewidth) + def render1(self): + glBegin(GL_LINE_LOOP if self.close else GL_LINE_STRIP) + for p in self.v: + glVertex3f(p[0], p[1],0) # draw each vertex + glEnd() + def set_linewidth(self, x): + self.linewidth.stroke = x + +class Line(Geom): + def __init__(self, start=(0.0, 0.0), end=(0.0, 0.0)): + Geom.__init__(self) + self.start = start + self.end = end + self.linewidth = LineWidth(1) + self.add_attr(self.linewidth) + + def render1(self): + glBegin(GL_LINES) + glVertex2f(*self.start) + glVertex2f(*self.end) + glEnd() + +class Image(Geom): + def __init__(self, fname, width, height): + Geom.__init__(self) + self.width = width + self.height = height + img = pyglet.image.load(fname) + self.img = img + self.flip = False + def render1(self): + self.img.blit(-self.width/2, -self.height/2, width=self.width, height=self.height) + +# ================================================================ + +class SimpleImageViewer(object): + def __init__(self, display=None, maxwidth=500): + self.window = None + self.isopen = False + self.display = display + self.maxwidth = maxwidth + def imshow(self, arr): + if self.window is None: + height, width, _channels = arr.shape + if width > self.maxwidth: + scale = self.maxwidth / width + width = int(scale * width) + height = int(scale * height) + self.window = pyglet.window.Window(width=width, height=height, + display=self.display, vsync=False, resizable=True) + self.width = width + self.height = height + self.isopen = True + + @self.window.event + def on_resize(width, height): + self.width = width + self.height = height + + @self.window.event + def on_close(): + self.isopen = False + + assert len(arr.shape) == 3, "You passed in an image with the wrong number shape" + image = pyglet.image.ImageData(arr.shape[1], arr.shape[0], + 'RGB', arr.tobytes(), pitch=arr.shape[1]*-3) + gl.glTexParameteri(gl.GL_TEXTURE_2D, + gl.GL_TEXTURE_MAG_FILTER, gl.GL_NEAREST) + texture = image.get_texture() + texture.width = self.width + texture.height = self.height + self.window.clear() + self.window.switch_to() + self.window.dispatch_events() + texture.blit(0, 0) # draw + self.window.flip() + def close(self): + if self.isopen and sys.meta_path: + # ^^^ check sys.meta_path to avoid 'ImportError: sys.meta_path is None, Python is likely shutting down' + self.window.close() + self.isopen = False + + def __del__(self): + self.close() diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..ec1e3b0ffbf7da9cc6f23a47d0b1e866cb8628bf --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/__init__.py @@ -0,0 +1,16 @@ +from gym.envs.mujoco.mujoco_env import MujocoEnv +# ^^^^^ so that user gets the correct error +# message if mujoco is not installed correctly +from gym.envs.mujoco.ant import AntEnv +from gym.envs.mujoco.half_cheetah import HalfCheetahEnv +from gym.envs.mujoco.hopper import HopperEnv +from gym.envs.mujoco.walker2d import Walker2dEnv +from gym.envs.mujoco.humanoid import HumanoidEnv +from gym.envs.mujoco.inverted_pendulum import InvertedPendulumEnv +from gym.envs.mujoco.inverted_double_pendulum import InvertedDoublePendulumEnv +from gym.envs.mujoco.reacher import ReacherEnv +from gym.envs.mujoco.swimmer import SwimmerEnv +from gym.envs.mujoco.humanoidstandup import HumanoidStandupEnv +from gym.envs.mujoco.pusher import PusherEnv +from gym.envs.mujoco.thrower import ThrowerEnv +from gym.envs.mujoco.striker import StrikerEnv diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/ant.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/ant.py new file mode 100644 index 0000000000000000000000000000000000000000..550fb645a55adb16dc208dd841bd1c4b9251f3bc --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/ant.py @@ -0,0 +1,45 @@ +import numpy as np +from gym import utils +from gym.envs.mujoco import mujoco_env + +class AntEnv(mujoco_env.MujocoEnv, utils.EzPickle): + def __init__(self): + mujoco_env.MujocoEnv.__init__(self, 'ant.xml', 5) + utils.EzPickle.__init__(self) + + def step(self, a): + xposbefore = self.get_body_com("torso")[0] + self.do_simulation(a, self.frame_skip) + xposafter = self.get_body_com("torso")[0] + forward_reward = (xposafter - xposbefore)/self.dt + ctrl_cost = .5 * np.square(a).sum() + contact_cost = 0.5 * 1e-3 * np.sum( + np.square(np.clip(self.sim.data.cfrc_ext, -1, 1))) + survive_reward = 1.0 + reward = forward_reward - ctrl_cost - contact_cost + survive_reward + state = self.state_vector() + notdone = np.isfinite(state).all() \ + and state[2] >= 0.2 and state[2] <= 1.0 + done = not notdone + ob = self._get_obs() + return ob, reward, done, dict( + reward_forward=forward_reward, + reward_ctrl=-ctrl_cost, + reward_contact=-contact_cost, + reward_survive=survive_reward) + + def _get_obs(self): + return np.concatenate([ + self.sim.data.qpos.flat[2:], + self.sim.data.qvel.flat, + np.clip(self.sim.data.cfrc_ext, -1, 1).flat, + ]) + + def reset_model(self): + qpos = self.init_qpos + self.np_random.uniform(size=self.model.nq, low=-.1, high=.1) + qvel = self.init_qvel + self.np_random.randn(self.model.nv) * .1 + self.set_state(qpos, qvel) + return self._get_obs() + + def viewer_setup(self): + self.viewer.cam.distance = self.model.stat.extent * 0.5 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/ant_v3.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/ant_v3.py new file mode 100644 index 0000000000000000000000000000000000000000..960929626361c20edc35e7014bef9110d8c434fe --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/ant_v3.py @@ -0,0 +1,147 @@ +import numpy as np +from gym import utils +from gym.envs.mujoco import mujoco_env + + +DEFAULT_CAMERA_CONFIG = { + 'distance': 4.0, +} + + +class AntEnv(mujoco_env.MujocoEnv, utils.EzPickle): + def __init__(self, + xml_file='ant.xml', + ctrl_cost_weight=0.5, + contact_cost_weight=5e-4, + healthy_reward=1.0, + terminate_when_unhealthy=True, + healthy_z_range=(0.2, 1.0), + contact_force_range=(-1.0, 1.0), + reset_noise_scale=0.1, + exclude_current_positions_from_observation=True, + rgb_rendering_tracking=True): + utils.EzPickle.__init__(**locals()) + + self._ctrl_cost_weight = ctrl_cost_weight + self._contact_cost_weight = contact_cost_weight + + self._healthy_reward = healthy_reward + self._terminate_when_unhealthy = terminate_when_unhealthy + self._healthy_z_range = healthy_z_range + + self._contact_force_range = contact_force_range + + self._reset_noise_scale = reset_noise_scale + + self._exclude_current_positions_from_observation = ( + exclude_current_positions_from_observation) + + mujoco_env.MujocoEnv.__init__(self, xml_file, 5, rgb_rendering_tracking=rgb_rendering_tracking) + + @property + def healthy_reward(self): + return float( + self.is_healthy + or self._terminate_when_unhealthy + ) * self._healthy_reward + + def control_cost(self, action): + control_cost = self._ctrl_cost_weight * np.sum(np.square(action)) + return control_cost + + @property + def contact_forces(self): + raw_contact_forces = self.sim.data.cfrc_ext + min_value, max_value = self._contact_force_range + contact_forces = np.clip(raw_contact_forces, min_value, max_value) + return contact_forces + + @property + def contact_cost(self): + contact_cost = self._contact_cost_weight * np.sum( + np.square(self.contact_forces)) + return contact_cost + + @property + def is_healthy(self): + state = self.state_vector() + min_z, max_z = self._healthy_z_range + is_healthy = (np.isfinite(state).all() and min_z <= state[2] <= max_z) + return is_healthy + + @property + def done(self): + done = (not self.is_healthy + if self._terminate_when_unhealthy + else False) + return done + + def step(self, action): + xy_position_before = self.get_body_com("torso")[:2].copy() + self.do_simulation(action, self.frame_skip) + xy_position_after = self.get_body_com("torso")[:2].copy() + + xy_velocity = (xy_position_after - xy_position_before) / self.dt + x_velocity, y_velocity = xy_velocity + + ctrl_cost = self.control_cost(action) + contact_cost = self.contact_cost + + forward_reward = x_velocity + healthy_reward = self.healthy_reward + + rewards = forward_reward + healthy_reward + costs = ctrl_cost + contact_cost + + reward = rewards - costs + done = self.done + observation = self._get_obs() + info = { + 'reward_forward': forward_reward, + 'reward_ctrl': -ctrl_cost, + 'reward_contact': -contact_cost, + 'reward_survive': healthy_reward, + + 'x_position': xy_position_after[0], + 'y_position': xy_position_after[1], + 'distance_from_origin': np.linalg.norm(xy_position_after, ord=2), + + 'x_velocity': x_velocity, + 'y_velocity': y_velocity, + 'forward_reward': forward_reward, + } + + return observation, reward, done, info + + def _get_obs(self): + position = self.sim.data.qpos.flat.copy() + velocity = self.sim.data.qvel.flat.copy() + contact_force = self.contact_forces.flat.copy() + + if self._exclude_current_positions_from_observation: + position = position[2:] + + observations = np.concatenate((position, velocity, contact_force)) + + return observations + + def reset_model(self): + noise_low = -self._reset_noise_scale + noise_high = self._reset_noise_scale + + qpos = self.init_qpos + self.np_random.uniform( + low=noise_low, high=noise_high, size=self.model.nq) + qvel = self.init_qvel + self._reset_noise_scale * self.np_random.randn( + self.model.nv) + self.set_state(qpos, qvel) + + observation = self._get_obs() + + return observation + + def viewer_setup(self): + for key, value in DEFAULT_CAMERA_CONFIG.items(): + if isinstance(value, np.ndarray): + getattr(self.viewer.cam, key)[:] = value + else: + setattr(self.viewer.cam, key, value) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/ant.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/ant.xml new file mode 100644 index 0000000000000000000000000000000000000000..ee4d679981c136b949ce278f39ddbd16e42e5de3 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/ant.xml @@ -0,0 +1,81 @@ +<mujoco model="ant"> + <compiler angle="degree" coordinate="local" inertiafromgeom="true"/> + <option integrator="RK4" timestep="0.01"/> + <custom> + <numeric data="0.0 0.0 0.55 1.0 0.0 0.0 0.0 0.0 1.0 0.0 -1.0 0.0 -1.0 0.0 1.0" name="init_qpos"/> + </custom> + <default> + <joint armature="1" damping="1" limited="true"/> + <geom conaffinity="0" condim="3" density="5.0" friction="1 0.5 0.5" margin="0.01" rgba="0.8 0.6 0.4 1"/> + </default> + <asset> + <texture builtin="gradient" height="100" rgb1="1 1 1" rgb2="0 0 0" type="skybox" width="100"/> + <texture builtin="flat" height="1278" mark="cross" markrgb="1 1 1" name="texgeom" random="0.01" rgb1="0.8 0.6 0.4" rgb2="0.8 0.6 0.4" type="cube" width="127"/> + <texture builtin="checker" height="100" name="texplane" rgb1="0 0 0" rgb2="0.8 0.8 0.8" type="2d" width="100"/> + <material name="MatPlane" reflectance="0.5" shininess="1" specular="1" texrepeat="60 60" texture="texplane"/> + <material name="geom" texture="texgeom" texuniform="true"/> + </asset> + <worldbody> + <light cutoff="100" diffuse="1 1 1" dir="-0 0 -1.3" directional="true" exponent="1" pos="0 0 1.3" specular=".1 .1 .1"/> + <geom conaffinity="1" condim="3" material="MatPlane" name="floor" pos="0 0 0" rgba="0.8 0.9 0.8 1" size="40 40 40" type="plane"/> + <body name="torso" pos="0 0 0.75"> + <camera name="track" mode="trackcom" pos="0 -3 0.3" xyaxes="1 0 0 0 0 1"/> + <geom name="torso_geom" pos="0 0 0" size="0.25" type="sphere"/> + <joint armature="0" damping="0" limited="false" margin="0.01" name="root" pos="0 0 0" type="free"/> + <body name="front_left_leg" pos="0 0 0"> + <geom fromto="0.0 0.0 0.0 0.2 0.2 0.0" name="aux_1_geom" size="0.08" type="capsule"/> + <body name="aux_1" pos="0.2 0.2 0"> + <joint axis="0 0 1" name="hip_1" pos="0.0 0.0 0.0" range="-30 30" type="hinge"/> + <geom fromto="0.0 0.0 0.0 0.2 0.2 0.0" name="left_leg_geom" size="0.08" type="capsule"/> + <body pos="0.2 0.2 0"> + <joint axis="-1 1 0" name="ankle_1" pos="0.0 0.0 0.0" range="30 70" type="hinge"/> + <geom fromto="0.0 0.0 0.0 0.4 0.4 0.0" name="left_ankle_geom" size="0.08" type="capsule"/> + </body> + </body> + </body> + <body name="front_right_leg" pos="0 0 0"> + <geom fromto="0.0 0.0 0.0 -0.2 0.2 0.0" name="aux_2_geom" size="0.08" type="capsule"/> + <body name="aux_2" pos="-0.2 0.2 0"> + <joint axis="0 0 1" name="hip_2" pos="0.0 0.0 0.0" range="-30 30" type="hinge"/> + <geom fromto="0.0 0.0 0.0 -0.2 0.2 0.0" name="right_leg_geom" size="0.08" type="capsule"/> + <body pos="-0.2 0.2 0"> + <joint axis="1 1 0" name="ankle_2" pos="0.0 0.0 0.0" range="-70 -30" type="hinge"/> + <geom fromto="0.0 0.0 0.0 -0.4 0.4 0.0" name="right_ankle_geom" size="0.08" type="capsule"/> + </body> + </body> + </body> + <body name="back_leg" pos="0 0 0"> + <geom fromto="0.0 0.0 0.0 -0.2 -0.2 0.0" name="aux_3_geom" size="0.08" type="capsule"/> + <body name="aux_3" pos="-0.2 -0.2 0"> + <joint axis="0 0 1" name="hip_3" pos="0.0 0.0 0.0" range="-30 30" type="hinge"/> + <geom fromto="0.0 0.0 0.0 -0.2 -0.2 0.0" name="back_leg_geom" size="0.08" type="capsule"/> + <body pos="-0.2 -0.2 0"> + <joint axis="-1 1 0" name="ankle_3" pos="0.0 0.0 0.0" range="-70 -30" type="hinge"/> + <geom fromto="0.0 0.0 0.0 -0.4 -0.4 0.0" name="third_ankle_geom" size="0.08" type="capsule"/> + </body> + </body> + </body> + <body name="right_back_leg" pos="0 0 0"> + <geom fromto="0.0 0.0 0.0 0.2 -0.2 0.0" name="aux_4_geom" size="0.08" type="capsule"/> + <body name="aux_4" pos="0.2 -0.2 0"> + <joint axis="0 0 1" name="hip_4" pos="0.0 0.0 0.0" range="-30 30" type="hinge"/> + <geom fromto="0.0 0.0 0.0 0.2 -0.2 0.0" name="rightback_leg_geom" size="0.08" type="capsule"/> + <body pos="0.2 -0.2 0"> + <joint axis="1 1 0" name="ankle_4" pos="0.0 0.0 0.0" range="30 70" type="hinge"/> + <geom fromto="0.0 0.0 0.0 0.4 -0.4 0.0" name="fourth_ankle_geom" size="0.08" type="capsule"/> + </body> + </body> + </body> + </body> + </worldbody> + <actuator> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="hip_4" gear="150"/> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="ankle_4" gear="150"/> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="hip_1" gear="150"/> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="ankle_1" gear="150"/> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="hip_2" gear="150"/> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="ankle_2" gear="150"/> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="hip_3" gear="150"/> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="ankle_3" gear="150"/> + </actuator> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/half_cheetah.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/half_cheetah.xml new file mode 100644 index 0000000000000000000000000000000000000000..338c2e87a705c425ab7c2ff733d5c40c96fcc918 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/half_cheetah.xml @@ -0,0 +1,96 @@ +<!-- Cheetah Model + + The state space is populated with joints in the order that they are + defined in this file. The actuators also operate on joints. + + State-Space (name/joint/parameter): + - rootx slider position (m) + - rootz slider position (m) + - rooty hinge angle (rad) + - bthigh hinge angle (rad) + - bshin hinge angle (rad) + - bfoot hinge angle (rad) + - fthigh hinge angle (rad) + - fshin hinge angle (rad) + - ffoot hinge angle (rad) + - rootx slider velocity (m/s) + - rootz slider velocity (m/s) + - rooty hinge angular velocity (rad/s) + - bthigh hinge angular velocity (rad/s) + - bshin hinge angular velocity (rad/s) + - bfoot hinge angular velocity (rad/s) + - fthigh hinge angular velocity (rad/s) + - fshin hinge angular velocity (rad/s) + - ffoot hinge angular velocity (rad/s) + + Actuators (name/actuator/parameter): + - bthigh hinge torque (N m) + - bshin hinge torque (N m) + - bfoot hinge torque (N m) + - fthigh hinge torque (N m) + - fshin hinge torque (N m) + - ffoot hinge torque (N m) + +--> +<mujoco model="cheetah"> + <compiler angle="radian" coordinate="local" inertiafromgeom="true" settotalmass="14"/> + <default> + <joint armature=".1" damping=".01" limited="true" solimplimit="0 .8 .03" solreflimit=".02 1" stiffness="8"/> + <geom conaffinity="0" condim="3" contype="1" friction=".4 .1 .1" rgba="0.8 0.6 .4 1" solimp="0.0 0.8 0.01" solref="0.02 1"/> + <motor ctrllimited="true" ctrlrange="-1 1"/> + </default> + <size nstack="300000" nuser_geom="1"/> + <option gravity="0 0 -9.81" timestep="0.01"/> + <asset> + <texture builtin="gradient" height="100" rgb1="1 1 1" rgb2="0 0 0" type="skybox" width="100"/> + <texture builtin="flat" height="1278" mark="cross" markrgb="1 1 1" name="texgeom" random="0.01" rgb1="0.8 0.6 0.4" rgb2="0.8 0.6 0.4" type="cube" width="127"/> + <texture builtin="checker" height="100" name="texplane" rgb1="0 0 0" rgb2="0.8 0.8 0.8" type="2d" width="100"/> + <material name="MatPlane" reflectance="0.5" shininess="1" specular="1" texrepeat="60 60" texture="texplane"/> + <material name="geom" texture="texgeom" texuniform="true"/> + </asset> + <worldbody> + <light cutoff="100" diffuse="1 1 1" dir="-0 0 -1.3" directional="true" exponent="1" pos="0 0 1.3" specular=".1 .1 .1"/> + <geom conaffinity="1" condim="3" material="MatPlane" name="floor" pos="0 0 0" rgba="0.8 0.9 0.8 1" size="40 40 40" type="plane"/> + <body name="torso" pos="0 0 .7"> + <camera name="track" mode="trackcom" pos="0 -3 0.3" xyaxes="1 0 0 0 0 1"/> + <joint armature="0" axis="1 0 0" damping="0" limited="false" name="rootx" pos="0 0 0" stiffness="0" type="slide"/> + <joint armature="0" axis="0 0 1" damping="0" limited="false" name="rootz" pos="0 0 0" stiffness="0" type="slide"/> + <joint armature="0" axis="0 1 0" damping="0" limited="false" name="rooty" pos="0 0 0" stiffness="0" type="hinge"/> + <geom fromto="-.5 0 0 .5 0 0" name="torso" size="0.046" type="capsule"/> + <geom axisangle="0 1 0 .87" name="head" pos=".6 0 .1" size="0.046 .15" type="capsule"/> + <!-- <site name='tip' pos='.15 0 .11'/>--> + <body name="bthigh" pos="-.5 0 0"> + <joint axis="0 1 0" damping="6" name="bthigh" pos="0 0 0" range="-.52 1.05" stiffness="240" type="hinge"/> + <geom axisangle="0 1 0 -3.8" name="bthigh" pos=".1 0 -.13" size="0.046 .145" type="capsule"/> + <body name="bshin" pos=".16 0 -.25"> + <joint axis="0 1 0" damping="4.5" name="bshin" pos="0 0 0" range="-.785 .785" stiffness="180" type="hinge"/> + <geom axisangle="0 1 0 -2.03" name="bshin" pos="-.14 0 -.07" rgba="0.9 0.6 0.6 1" size="0.046 .15" type="capsule"/> + <body name="bfoot" pos="-.28 0 -.14"> + <joint axis="0 1 0" damping="3" name="bfoot" pos="0 0 0" range="-.4 .785" stiffness="120" type="hinge"/> + <geom axisangle="0 1 0 -.27" name="bfoot" pos=".03 0 -.097" rgba="0.9 0.6 0.6 1" size="0.046 .094" type="capsule"/> + </body> + </body> + </body> + <body name="fthigh" pos=".5 0 0"> + <joint axis="0 1 0" damping="4.5" name="fthigh" pos="0 0 0" range="-1 .7" stiffness="180" type="hinge"/> + <geom axisangle="0 1 0 .52" name="fthigh" pos="-.07 0 -.12" size="0.046 .133" type="capsule"/> + <body name="fshin" pos="-.14 0 -.24"> + <joint axis="0 1 0" damping="3" name="fshin" pos="0 0 0" range="-1.2 .87" stiffness="120" type="hinge"/> + <geom axisangle="0 1 0 -.6" name="fshin" pos=".065 0 -.09" rgba="0.9 0.6 0.6 1" size="0.046 .106" type="capsule"/> + <body name="ffoot" pos=".13 0 -.18"> + <joint axis="0 1 0" damping="1.5" name="ffoot" pos="0 0 0" range="-.5 .5" stiffness="60" type="hinge"/> + <geom axisangle="0 1 0 -.6" name="ffoot" pos=".045 0 -.07" rgba="0.9 0.6 0.6 1" size="0.046 .07" type="capsule"/> + </body> + </body> + </body> + </body> + </worldbody> + <actuator> + <motor gear="120" joint="bthigh" name="bthigh"/> + <motor gear="90" joint="bshin" name="bshin"/> + <motor gear="60" joint="bfoot" name="bfoot"/> + <motor gear="120" joint="fthigh" name="fthigh"/> + <motor gear="60" joint="fshin" name="fshin"/> + <motor gear="30" joint="ffoot" name="ffoot"/> + </actuator> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/hopper.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/hopper.xml new file mode 100644 index 0000000000000000000000000000000000000000..f18bc46994c5a725d31fb68c40342ce6be9846bc --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/hopper.xml @@ -0,0 +1,48 @@ +<mujoco model="hopper"> + <compiler angle="degree" coordinate="global" inertiafromgeom="true"/> + <default> + <joint armature="1" damping="1" limited="true"/> + <geom conaffinity="1" condim="1" contype="1" margin="0.001" material="geom" rgba="0.8 0.6 .4 1" solimp=".8 .8 .01" solref=".02 1"/> + <motor ctrllimited="true" ctrlrange="-.4 .4"/> + </default> + <option integrator="RK4" timestep="0.002"/> + <visual> + <map znear="0.02"/> + </visual> + <worldbody> + <light cutoff="100" diffuse="1 1 1" dir="-0 0 -1.3" directional="true" exponent="1" pos="0 0 1.3" specular=".1 .1 .1"/> + <geom conaffinity="1" condim="3" name="floor" pos="0 0 0" rgba="0.8 0.9 0.8 1" size="20 20 .125" type="plane" material="MatPlane"/> + <body name="torso" pos="0 0 1.25"> + <camera name="track" mode="trackcom" pos="0 -3 1" xyaxes="1 0 0 0 0 1"/> + <joint armature="0" axis="1 0 0" damping="0" limited="false" name="rootx" pos="0 0 0" stiffness="0" type="slide"/> + <joint armature="0" axis="0 0 1" damping="0" limited="false" name="rootz" pos="0 0 0" ref="1.25" stiffness="0" type="slide"/> + <joint armature="0" axis="0 1 0" damping="0" limited="false" name="rooty" pos="0 0 1.25" stiffness="0" type="hinge"/> + <geom friction="0.9" fromto="0 0 1.45 0 0 1.05" name="torso_geom" size="0.05" type="capsule"/> + <body name="thigh" pos="0 0 1.05"> + <joint axis="0 -1 0" name="thigh_joint" pos="0 0 1.05" range="-150 0" type="hinge"/> + <geom friction="0.9" fromto="0 0 1.05 0 0 0.6" name="thigh_geom" size="0.05" type="capsule"/> + <body name="leg" pos="0 0 0.35"> + <joint axis="0 -1 0" name="leg_joint" pos="0 0 0.6" range="-150 0" type="hinge"/> + <geom friction="0.9" fromto="0 0 0.6 0 0 0.1" name="leg_geom" size="0.04" type="capsule"/> + <body name="foot" pos="0.13/2 0 0.1"> + <joint axis="0 -1 0" name="foot_joint" pos="0 0 0.1" range="-45 45" type="hinge"/> + <geom friction="2.0" fromto="-0.13 0 0.1 0.26 0 0.1" name="foot_geom" size="0.06" type="capsule"/> + </body> + </body> + </body> + </body> + </worldbody> + <actuator> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="200.0" joint="thigh_joint"/> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="200.0" joint="leg_joint"/> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="200.0" joint="foot_joint"/> + </actuator> + <asset> + <texture type="skybox" builtin="gradient" rgb1=".4 .5 .6" rgb2="0 0 0" + width="100" height="100"/> + <texture builtin="flat" height="1278" mark="cross" markrgb="1 1 1" name="texgeom" random="0.01" rgb1="0.8 0.6 0.4" rgb2="0.8 0.6 0.4" type="cube" width="127"/> + <texture builtin="checker" height="100" name="texplane" rgb1="0 0 0" rgb2="0.8 0.8 0.8" type="2d" width="100"/> + <material name="MatPlane" reflectance="0.5" shininess="1" specular="1" texrepeat="60 60" texture="texplane"/> + <material name="geom" texture="texgeom" texuniform="true"/> + </asset> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/humanoid.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/humanoid.xml new file mode 100755 index 0000000000000000000000000000000000000000..c8d5fc61a1829cfef4f1ef1fc752dc5d4fc3c5d3 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/humanoid.xml @@ -0,0 +1,121 @@ +<mujoco model="humanoid"> + <compiler angle="degree" inertiafromgeom="true"/> + <default> + <joint armature="1" damping="1" limited="true"/> + <geom conaffinity="1" condim="1" contype="1" margin="0.001" material="geom" rgba="0.8 0.6 .4 1"/> + <motor ctrllimited="true" ctrlrange="-.4 .4"/> + </default> + <option integrator="RK4" iterations="50" solver="PGS" timestep="0.003"> + <!-- <flags solverstat="enable" energy="enable"/>--> + </option> + <size nkey="5" nuser_geom="1"/> + <visual> + <map fogend="5" fogstart="3"/> + </visual> + <asset> + <texture builtin="gradient" height="100" rgb1=".4 .5 .6" rgb2="0 0 0" type="skybox" width="100"/> + <!-- <texture builtin="gradient" height="100" rgb1="1 1 1" rgb2="0 0 0" type="skybox" width="100"/>--> + <texture builtin="flat" height="1278" mark="cross" markrgb="1 1 1" name="texgeom" random="0.01" rgb1="0.8 0.6 0.4" rgb2="0.8 0.6 0.4" type="cube" width="127"/> + <texture builtin="checker" height="100" name="texplane" rgb1="0 0 0" rgb2="0.8 0.8 0.8" type="2d" width="100"/> + <material name="MatPlane" reflectance="0.5" shininess="1" specular="1" texrepeat="60 60" texture="texplane"/> + <material name="geom" texture="texgeom" texuniform="true"/> + </asset> + <worldbody> + <light cutoff="100" diffuse="1 1 1" dir="-0 0 -1.3" directional="true" exponent="1" pos="0 0 1.3" specular=".1 .1 .1"/> + <geom condim="3" friction="1 .1 .1" material="MatPlane" name="floor" pos="0 0 0" rgba="0.8 0.9 0.8 1" size="20 20 0.125" type="plane"/> + <!-- <geom condim="3" material="MatPlane" name="floor" pos="0 0 0" size="10 10 0.125" type="plane"/>--> + <body name="torso" pos="0 0 1.4"> + <camera name="track" mode="trackcom" pos="0 -4 0" xyaxes="1 0 0 0 0 1"/> + <joint armature="0" damping="0" limited="false" name="root" pos="0 0 0" stiffness="0" type="free"/> + <geom fromto="0 -.07 0 0 .07 0" name="torso1" size="0.07" type="capsule"/> + <geom name="head" pos="0 0 .19" size=".09" type="sphere" user="258"/> + <geom fromto="-.01 -.06 -.12 -.01 .06 -.12" name="uwaist" size="0.06" type="capsule"/> + <body name="lwaist" pos="-.01 0 -0.260" quat="1.000 0 -0.002 0"> + <geom fromto="0 -.06 0 0 .06 0" name="lwaist" size="0.06" type="capsule"/> + <joint armature="0.02" axis="0 0 1" damping="5" name="abdomen_z" pos="0 0 0.065" range="-45 45" stiffness="20" type="hinge"/> + <joint armature="0.02" axis="0 1 0" damping="5" name="abdomen_y" pos="0 0 0.065" range="-75 30" stiffness="10" type="hinge"/> + <body name="pelvis" pos="0 0 -0.165" quat="1.000 0 -0.002 0"> + <joint armature="0.02" axis="1 0 0" damping="5" name="abdomen_x" pos="0 0 0.1" range="-35 35" stiffness="10" type="hinge"/> + <geom fromto="-.02 -.07 0 -.02 .07 0" name="butt" size="0.09" type="capsule"/> + <body name="right_thigh" pos="0 -0.1 -0.04"> + <joint armature="0.01" axis="1 0 0" damping="5" name="right_hip_x" pos="0 0 0" range="-25 5" stiffness="10" type="hinge"/> + <joint armature="0.01" axis="0 0 1" damping="5" name="right_hip_z" pos="0 0 0" range="-60 35" stiffness="10" type="hinge"/> + <joint armature="0.0080" axis="0 1 0" damping="5" name="right_hip_y" pos="0 0 0" range="-110 20" stiffness="20" type="hinge"/> + <geom fromto="0 0 0 0 0.01 -.34" name="right_thigh1" size="0.06" type="capsule"/> + <body name="right_shin" pos="0 0.01 -0.403"> + <joint armature="0.0060" axis="0 -1 0" name="right_knee" pos="0 0 .02" range="-160 -2" type="hinge"/> + <geom fromto="0 0 0 0 0 -.3" name="right_shin1" size="0.049" type="capsule"/> + <body name="right_foot" pos="0 0 -0.45"> + <geom name="right_foot" pos="0 0 0.1" size="0.075" type="sphere" user="0"/> + </body> + </body> + </body> + <body name="left_thigh" pos="0 0.1 -0.04"> + <joint armature="0.01" axis="-1 0 0" damping="5" name="left_hip_x" pos="0 0 0" range="-25 5" stiffness="10" type="hinge"/> + <joint armature="0.01" axis="0 0 -1" damping="5" name="left_hip_z" pos="0 0 0" range="-60 35" stiffness="10" type="hinge"/> + <joint armature="0.01" axis="0 1 0" damping="5" name="left_hip_y" pos="0 0 0" range="-110 20" stiffness="20" type="hinge"/> + <geom fromto="0 0 0 0 -0.01 -.34" name="left_thigh1" size="0.06" type="capsule"/> + <body name="left_shin" pos="0 -0.01 -0.403"> + <joint armature="0.0060" axis="0 -1 0" name="left_knee" pos="0 0 .02" range="-160 -2" stiffness="1" type="hinge"/> + <geom fromto="0 0 0 0 0 -.3" name="left_shin1" size="0.049" type="capsule"/> + <body name="left_foot" pos="0 0 -0.45"> + <geom name="left_foot" type="sphere" size="0.075" pos="0 0 0.1" user="0" /> + </body> + </body> + </body> + </body> + </body> + <body name="right_upper_arm" pos="0 -0.17 0.06"> + <joint armature="0.0068" axis="2 1 1" name="right_shoulder1" pos="0 0 0" range="-85 60" stiffness="1" type="hinge"/> + <joint armature="0.0051" axis="0 -1 1" name="right_shoulder2" pos="0 0 0" range="-85 60" stiffness="1" type="hinge"/> + <geom fromto="0 0 0 .16 -.16 -.16" name="right_uarm1" size="0.04 0.16" type="capsule"/> + <body name="right_lower_arm" pos=".18 -.18 -.18"> + <joint armature="0.0028" axis="0 -1 1" name="right_elbow" pos="0 0 0" range="-90 50" stiffness="0" type="hinge"/> + <geom fromto="0.01 0.01 0.01 .17 .17 .17" name="right_larm" size="0.031" type="capsule"/> + <geom name="right_hand" pos=".18 .18 .18" size="0.04" type="sphere"/> + <camera pos="0 0 0"/> + </body> + </body> + <body name="left_upper_arm" pos="0 0.17 0.06"> + <joint armature="0.0068" axis="2 -1 1" name="left_shoulder1" pos="0 0 0" range="-60 85" stiffness="1" type="hinge"/> + <joint armature="0.0051" axis="0 1 1" name="left_shoulder2" pos="0 0 0" range="-60 85" stiffness="1" type="hinge"/> + <geom fromto="0 0 0 .16 .16 -.16" name="left_uarm1" size="0.04 0.16" type="capsule"/> + <body name="left_lower_arm" pos=".18 .18 -.18"> + <joint armature="0.0028" axis="0 -1 -1" name="left_elbow" pos="0 0 0" range="-90 50" stiffness="0" type="hinge"/> + <geom fromto="0.01 -0.01 0.01 .17 -.17 .17" name="left_larm" size="0.031" type="capsule"/> + <geom name="left_hand" pos=".18 -.18 .18" size="0.04" type="sphere"/> + </body> + </body> + </body> + </worldbody> + <tendon> + <fixed name="left_hipknee"> + <joint coef="-1" joint="left_hip_y"/> + <joint coef="1" joint="left_knee"/> + </fixed> + <fixed name="right_hipknee"> + <joint coef="-1" joint="right_hip_y"/> + <joint coef="1" joint="right_knee"/> + </fixed> + </tendon> + + <actuator> + <motor gear="100" joint="abdomen_y" name="abdomen_y"/> + <motor gear="100" joint="abdomen_z" name="abdomen_z"/> + <motor gear="100" joint="abdomen_x" name="abdomen_x"/> + <motor gear="100" joint="right_hip_x" name="right_hip_x"/> + <motor gear="100" joint="right_hip_z" name="right_hip_z"/> + <motor gear="300" joint="right_hip_y" name="right_hip_y"/> + <motor gear="200" joint="right_knee" name="right_knee"/> + <motor gear="100" joint="left_hip_x" name="left_hip_x"/> + <motor gear="100" joint="left_hip_z" name="left_hip_z"/> + <motor gear="300" joint="left_hip_y" name="left_hip_y"/> + <motor gear="200" joint="left_knee" name="left_knee"/> + <motor gear="25" joint="right_shoulder1" name="right_shoulder1"/> + <motor gear="25" joint="right_shoulder2" name="right_shoulder2"/> + <motor gear="25" joint="right_elbow" name="right_elbow"/> + <motor gear="25" joint="left_shoulder1" name="left_shoulder1"/> + <motor gear="25" joint="left_shoulder2" name="left_shoulder2"/> + <motor gear="25" joint="left_elbow" name="left_elbow"/> + </actuator> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/humanoidstandup.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/humanoidstandup.xml new file mode 100755 index 0000000000000000000000000000000000000000..8dd36ba87a851290ebf4c42d58cfbd65eb54e268 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/humanoidstandup.xml @@ -0,0 +1,121 @@ +<mujoco model="humanoidstandup"> + <compiler angle="degree" inertiafromgeom="true"/> + <default> + <joint armature="1" damping="1" limited="true"/> + <geom conaffinity="1" condim="1" contype="1" margin="0.001" material="geom" rgba="0.8 0.6 .4 1"/> + <motor ctrllimited="true" ctrlrange="-.4 .4"/> + </default> + <option integrator="RK4" iterations="50" solver="PGS" timestep="0.003"> + <!-- <flags solverstat="enable" energy="enable"/>--> + </option> + <size nkey="5" nuser_geom="1"/> + <visual> + <map fogend="5" fogstart="3"/> + </visual> + <asset> + <texture builtin="gradient" height="100" rgb1=".4 .5 .6" rgb2="0 0 0" type="skybox" width="100"/> + <!-- <texture builtin="gradient" height="100" rgb1="1 1 1" rgb2="0 0 0" type="skybox" width="100"/>--> + <texture builtin="flat" height="1278" mark="cross" markrgb="1 1 1" name="texgeom" random="0.01" rgb1="0.8 0.6 0.4" rgb2="0.8 0.6 0.4" type="cube" width="127"/> + <texture builtin="checker" height="100" name="texplane" rgb1="0 0 0" rgb2="0.8 0.8 0.8" type="2d" width="100"/> + <material name="MatPlane" reflectance="0.5" shininess="1" specular="1" texrepeat="60 60" texture="texplane"/> + <material name="geom" texture="texgeom" texuniform="true"/> + </asset> + <worldbody> + <light cutoff="100" diffuse="1 1 1" dir="-0 0 -1.3" directional="true" exponent="1" pos="0 0 1.3" specular=".1 .1 .1"/> + <geom condim="3" friction="1 .1 .1" material="MatPlane" name="floor" pos="0 0 0" rgba="0.8 0.9 0.8 1" size="20 20 0.125" type="plane"/> + <!-- <geom condim="3" material="MatPlane" name="floor" pos="0 0 0" size="10 10 0.125" type="plane"/>--> + <body name="torso" pos="0 0 .105"> + <camera name="track" mode="trackcom" pos="0 -3 .5" xyaxes="1 0 0 0 0 1"/> + <joint armature="0" damping="0" limited="false" name="root" pos="0 0 0" stiffness="0" type="free"/> + <geom fromto="0 -.07 0 0 .07 0" name="torso1" size="0.07" type="capsule"/> + <geom name="head" pos="-.15 0 0" size=".09" type="sphere" user="258"/> + <geom fromto=".11 -.06 0 .11 .06 0" name="uwaist" size="0.06" type="capsule"/> + <body name="lwaist" pos=".21 0 0" quat="1.000 0 -0.002 0"> + <geom fromto="0 -.06 0 0 .06 0" name="lwaist" size="0.06" type="capsule"/> + <joint armature="0.02" axis="0 0 1" damping="5" name="abdomen_z" pos="0 0 0.065" range="-45 45" stiffness="20" type="hinge"/> + <joint armature="0.02" axis="0 1 0" damping="5" name="abdomen_y" pos="0 0 0.065" range="-75 30" stiffness="10" type="hinge"/> + <body name="pelvis" pos="0.165 0 0" quat="1.000 0 -0.002 0"> + <joint armature="0.02" axis="1 0 0" damping="5" name="abdomen_x" pos="0 0 0.1" range="-35 35" stiffness="10" type="hinge"/> + <geom fromto="-.02 -.07 0 -.02 .07 0" name="butt" size="0.09" type="capsule"/> + <body name="right_thigh" pos="0 -0.1 0"> + <joint armature="0.01" axis="1 0 0" damping="5" name="right_hip_x" pos="0 0 0" range="-25 5" stiffness="10" type="hinge"/> + <joint armature="0.01" axis="0 0 1" damping="5" name="right_hip_z" pos="0 0 0" range="-60 35" stiffness="10" type="hinge"/> + <joint armature="0.0080" axis="0 1 0" damping="5" name="right_hip_y" pos="0 0 0" range="-110 20" stiffness="20" type="hinge"/> + <geom fromto="0 0 0 0.34 0.01 0" name="right_thigh1" size="0.06" type="capsule"/> + <body name="right_shin" pos="0.403 0.01 0"> + <joint armature="0.0060" axis="0 -1 0" name="right_knee" pos="0 0 .02" range="-160 -2" type="hinge"/> + <geom fromto="0 0 0 0.3 0 0" name="right_shin1" size="0.049" type="capsule"/> + <body name="right_foot" pos="0.35 0 -.10"> + <geom name="right_foot" pos="0 0 0.1" size="0.075" type="sphere" user="0"/> + </body> + </body> + </body> + <body name="left_thigh" pos="0 0.1 0"> + <joint armature="0.01" axis="-1 0 0" damping="5" name="left_hip_x" pos="0 0 0" range="-25 5" stiffness="10" type="hinge"/> + <joint armature="0.01" axis="0 0 -1" damping="5" name="left_hip_z" pos="0 0 0" range="-60 35" stiffness="10" type="hinge"/> + <joint armature="0.01" axis="0 1 0" damping="5" name="left_hip_y" pos="0 0 0" range="-120 20" stiffness="20" type="hinge"/> + <geom fromto="0 0 0 0.34 -0.01 0" name="left_thigh1" size="0.06" type="capsule"/> + <body name="left_shin" pos="0.403 -0.01 0"> + <joint armature="0.0060" axis="0 -1 0" name="left_knee" pos="0 0 .02" range="-160 -2" stiffness="1" type="hinge"/> + <geom fromto="0 0 0 0.3 0 0" name="left_shin1" size="0.049" type="capsule"/> + <body name="left_foot" pos="0.35 0 -.1"> + <geom name="left_foot" type="sphere" size="0.075" pos="0 0 0.1" user="0" /> + </body> + </body> + </body> + </body> + </body> + <body name="right_upper_arm" pos="0 -0.17 0.06"> + <joint armature="0.0068" axis="2 1 1" name="right_shoulder1" pos="0 0 0" range="-85 60" stiffness="1" type="hinge"/> + <joint armature="0.0051" axis="0 -1 1" name="right_shoulder2" pos="0 0 0" range="-85 60" stiffness="1" type="hinge"/> + <geom fromto="0 0 0 .16 -.16 -.16" name="right_uarm1" size="0.04 0.16" type="capsule"/> + <body name="right_lower_arm" pos=".18 -.18 -.18"> + <joint armature="0.0028" axis="0 -1 1" name="right_elbow" pos="0 0 0" range="-90 50" stiffness="0" type="hinge"/> + <geom fromto="0.01 0.01 0.01 .17 .17 .17" name="right_larm" size="0.031" type="capsule"/> + <geom name="right_hand" pos=".18 .18 .18" size="0.04" type="sphere"/> + <camera pos="0 0 0"/> + </body> + </body> + <body name="left_upper_arm" pos="0 0.17 0.06"> + <joint armature="0.0068" axis="2 -1 1" name="left_shoulder1" pos="0 0 0" range="-60 85" stiffness="1" type="hinge"/> + <joint armature="0.0051" axis="0 1 1" name="left_shoulder2" pos="0 0 0" range="-60 85" stiffness="1" type="hinge"/> + <geom fromto="0 0 0 .16 .16 -.16" name="left_uarm1" size="0.04 0.16" type="capsule"/> + <body name="left_lower_arm" pos=".18 .18 -.18"> + <joint armature="0.0028" axis="0 -1 -1" name="left_elbow" pos="0 0 0" range="-90 50" stiffness="0" type="hinge"/> + <geom fromto="0.01 -0.01 0.01 .17 -.17 .17" name="left_larm" size="0.031" type="capsule"/> + <geom name="left_hand" pos=".18 -.18 .18" size="0.04" type="sphere"/> + </body> + </body> + </body> + </worldbody> + <tendon> + <fixed name="left_hipknee"> + <joint coef="-1" joint="left_hip_y"/> + <joint coef="1" joint="left_knee"/> + </fixed> + <fixed name="right_hipknee"> + <joint coef="-1" joint="right_hip_y"/> + <joint coef="1" joint="right_knee"/> + </fixed> + </tendon> + + <actuator> + <motor gear="100" joint="abdomen_y" name="abdomen_y"/> + <motor gear="100" joint="abdomen_z" name="abdomen_z"/> + <motor gear="100" joint="abdomen_x" name="abdomen_x"/> + <motor gear="100" joint="right_hip_x" name="right_hip_x"/> + <motor gear="100" joint="right_hip_z" name="right_hip_z"/> + <motor gear="300" joint="right_hip_y" name="right_hip_y"/> + <motor gear="200" joint="right_knee" name="right_knee"/> + <motor gear="100" joint="left_hip_x" name="left_hip_x"/> + <motor gear="100" joint="left_hip_z" name="left_hip_z"/> + <motor gear="300" joint="left_hip_y" name="left_hip_y"/> + <motor gear="200" joint="left_knee" name="left_knee"/> + <motor gear="25" joint="right_shoulder1" name="right_shoulder1"/> + <motor gear="25" joint="right_shoulder2" name="right_shoulder2"/> + <motor gear="25" joint="right_elbow" name="right_elbow"/> + <motor gear="25" joint="left_shoulder1" name="left_shoulder1"/> + <motor gear="25" joint="left_shoulder2" name="left_shoulder2"/> + <motor gear="25" joint="left_elbow" name="left_elbow"/> + </actuator> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/inverted_double_pendulum.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/inverted_double_pendulum.xml new file mode 100644 index 0000000000000000000000000000000000000000..a274e8c5d5b7e13127c52d7cb1dcdff80fbe2222 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/inverted_double_pendulum.xml @@ -0,0 +1,47 @@ +<!-- Cartpole Model + + The state space is populated with joints in the order that they are + defined in this file. The actuators also operate on joints. + + State-Space (name/joint/parameter): + - cart slider position (m) + - pole hinge angle (rad) + - cart slider velocity (m/s) + - pole hinge angular velocity (rad/s) + + Actuators (name/actuator/parameter): + - cart motor force x (N) + +--> +<mujoco model="cartpole"> + <compiler coordinate="local" inertiafromgeom="true"/> + <custom> + <numeric data="2" name="frame_skip"/> + </custom> + <default> + <joint damping="0.05"/> + <geom contype="0" friction="1 0.1 0.1" rgba="0.7 0.7 0 1"/> + </default> + <option gravity="1e-5 0 -9.81" integrator="RK4" timestep="0.01"/> + <size nstack="3000"/> + <worldbody> + <geom name="floor" pos="0 0 -3.0" rgba="0.8 0.9 0.8 1" size="40 40 40" type="plane"/> + <geom name="rail" pos="0 0 0" quat="0.707 0 0.707 0" rgba="0.3 0.3 0.7 1" size="0.02 1" type="capsule"/> + <body name="cart" pos="0 0 0"> + <joint axis="1 0 0" limited="true" margin="0.01" name="slider" pos="0 0 0" range="-1 1" type="slide"/> + <geom name="cart" pos="0 0 0" quat="0.707 0 0.707 0" size="0.1 0.1" type="capsule"/> + <body name="pole" pos="0 0 0"> + <joint axis="0 1 0" name="hinge" pos="0 0 0" type="hinge"/> + <geom fromto="0 0 0 0 0 0.6" name="cpole" rgba="0 0.7 0.7 1" size="0.045 0.3" type="capsule"/> + <body name="pole2" pos="0 0 0.6"> + <joint axis="0 1 0" name="hinge2" pos="0 0 0" type="hinge"/> + <geom fromto="0 0 0 0 0 0.6" name="cpole2" rgba="0 0.7 0.7 1" size="0.045 0.3" type="capsule"/> + <site name="tip" pos="0 0 .6" size="0.01 0.01"/> + </body> + </body> + </body> + </worldbody> + <actuator> + <motor ctrllimited="true" ctrlrange="-1 1" gear="500" joint="slider" name="slide"/> + </actuator> +</mujoco> \ No newline at end of file diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/inverted_pendulum.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/inverted_pendulum.xml new file mode 100644 index 0000000000000000000000000000000000000000..396a0b3499aa03165efa0ea1f34f157dd275c834 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/inverted_pendulum.xml @@ -0,0 +1,27 @@ +<mujoco model="inverted pendulum"> + <compiler inertiafromgeom="true"/> + <default> + <joint armature="0" damping="1" limited="true"/> + <geom contype="0" friction="1 0.1 0.1" rgba="0.7 0.7 0 1"/> + <tendon/> + <motor ctrlrange="-3 3"/> + </default> + <option gravity="0 0 -9.81" integrator="RK4" timestep="0.02"/> + <size nstack="3000"/> + <worldbody> + <!--geom name="ground" type="plane" pos="0 0 0" /--> + <geom name="rail" pos="0 0 0" quat="0.707 0 0.707 0" rgba="0.3 0.3 0.7 1" size="0.02 1" type="capsule"/> + <body name="cart" pos="0 0 0"> + <joint axis="1 0 0" limited="true" name="slider" pos="0 0 0" range="-1 1" type="slide"/> + <geom name="cart" pos="0 0 0" quat="0.707 0 0.707 0" size="0.1 0.1" type="capsule"/> + <body name="pole" pos="0 0 0"> + <joint axis="0 1 0" name="hinge" pos="0 0 0" range="-90 90" type="hinge"/> + <geom fromto="0 0 0 0.001 0 0.6" name="cpole" rgba="0 0.7 0.7 1" size="0.049 0.3" type="capsule"/> + <!-- <body name="pole2" pos="0.001 0 0.6"><joint name="hinge2" type="hinge" pos="0 0 0" axis="0 1 0"/><geom name="cpole2" type="capsule" fromto="0 0 0 0 0 0.6" size="0.05 0.3" rgba="0.7 0 0.7 1"/><site name="tip2" pos="0 0 .6"/></body>--> + </body> + </body> + </worldbody> + <actuator> + <motor gear="100" joint="slider" name="slide"/> + </actuator> +</mujoco> \ No newline at end of file diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/point.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/point.xml new file mode 100644 index 0000000000000000000000000000000000000000..e35ef3de807585cf5dc586990b608ec1ef30c056 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/point.xml @@ -0,0 +1,31 @@ +<mujoco> + <compiler angle="degree" coordinate="local" inertiafromgeom="true"/> + <option integrator="RK4" timestep="0.02"/> + <default> + <joint armature="0" damping="0" limited="false"/> + <geom conaffinity="0" condim="3" density="100" friction="1 0.5 0.5" margin="0" rgba="0.8 0.6 0.4 1"/> + </default> + <asset> + <texture builtin="gradient" height="100" rgb1="1 1 1" rgb2="0 0 0" type="skybox" width="100"/> + <texture builtin="flat" height="1278" mark="cross" markrgb="1 1 1" name="texgeom" random="0.01" rgb1="0.8 0.6 0.4" rgb2="0.8 0.6 0.4" type="cube" width="127"/> + <texture builtin="checker" height="100" name="texplane" rgb1="0 0 0" rgb2="0.8 0.8 0.8" type="2d" width="100"/> + <material name="MatPlane" reflectance="0.5" shininess="1" specular="1" texrepeat="30 30" texture="texplane"/> + <material name="geom" texture="texgeom" texuniform="true"/> + </asset> + <worldbody> + <light cutoff="100" diffuse="1 1 1" dir="-0 0 -1.3" directional="true" exponent="1" pos="0 0 1.3" specular=".1 .1 .1"/> + <geom conaffinity="1" condim="3" material="MatPlane" name="floor" pos="0 0 0" rgba="0.8 0.9 0.8 1" size="40 40 40" type="plane"/> + <body name="torso" pos="0 0 0"> + <geom name="pointbody" pos="0 0 0.5" size="0.5" type="sphere"/> + <geom name="pointarrow" pos="0.6 0 0.5" size="0.5 0.1 0.1" type="box"/> + <joint axis="1 0 0" name="ballx" pos="0 0 0" type="slide"/> + <joint axis="0 1 0" name="bally" pos="0 0 0" type="slide"/> + <joint axis="0 0 1" limited="false" name="rot" pos="0 0 0" type="hinge"/> + </body> + </worldbody> + <actuator> + <!-- Those are just dummy actuators for providing ranges --> + <motor ctrllimited="true" ctrlrange="-1 1" joint="ballx"/> + <motor ctrllimited="true" ctrlrange="-0.25 0.25" joint="rot"/> + </actuator> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/pusher.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/pusher.xml new file mode 100644 index 0000000000000000000000000000000000000000..31a5ef706065f42c6fa62201edf800cc005b50e7 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/pusher.xml @@ -0,0 +1,91 @@ +<mujoco model="arm3d"> + <compiler inertiafromgeom="true" angle="radian" coordinate="local"/> + <option timestep="0.01" gravity="0 0 0" iterations="20" integrator="Euler" /> + + <default> + <joint armature='0.04' damping="1" limited="true"/> + <geom friction=".8 .1 .1" density="300" margin="0.002" condim="1" contype="0" conaffinity="0"/> + </default> + + <worldbody> + <light diffuse=".5 .5 .5" pos="0 0 3" dir="0 0 -1"/> + <geom name="table" type="plane" pos="0 0.5 -0.325" size="1 1 0.1" contype="1" conaffinity="1"/> + + <body name="r_shoulder_pan_link" pos="0 -0.6 0"> + <geom name="e1" type="sphere" rgba="0.6 0.6 0.6 1" pos="-0.06 0.05 0.2" size="0.05" /> + <geom name="e2" type="sphere" rgba="0.6 0.6 0.6 1" pos=" 0.06 0.05 0.2" size="0.05" /> + <geom name="e1p" type="sphere" rgba="0.1 0.1 0.1 1" pos="-0.06 0.09 0.2" size="0.03" /> + <geom name="e2p" type="sphere" rgba="0.1 0.1 0.1 1" pos=" 0.06 0.09 0.2" size="0.03" /> + <geom name="sp" type="capsule" fromto="0 0 -0.4 0 0 0.2" size="0.1" /> + <joint name="r_shoulder_pan_joint" type="hinge" pos="0 0 0" axis="0 0 1" range="-2.2854 1.714602" damping="1.0" /> + + <body name="r_shoulder_lift_link" pos="0.1 0 0"> + <geom name="sl" type="capsule" fromto="0 -0.1 0 0 0.1 0" size="0.1" /> + <joint name="r_shoulder_lift_joint" type="hinge" pos="0 0 0" axis="0 1 0" range="-0.5236 1.3963" damping="1.0" /> + + <body name="r_upper_arm_roll_link" pos="0 0 0"> + <geom name="uar" type="capsule" fromto="-0.1 0 0 0.1 0 0" size="0.02" /> + <joint name="r_upper_arm_roll_joint" type="hinge" pos="0 0 0" axis="1 0 0" range="-1.5 1.7" damping="0.1" /> + + <body name="r_upper_arm_link" pos="0 0 0"> + <geom name="ua" type="capsule" fromto="0 0 0 0.4 0 0" size="0.06" /> + + <body name="r_elbow_flex_link" pos="0.4 0 0"> + <geom name="ef" type="capsule" fromto="0 -0.02 0 0.0 0.02 0" size="0.06" /> + <joint name="r_elbow_flex_joint" type="hinge" pos="0 0 0" axis="0 1 0" range="-2.3213 0" damping="0.1" /> + + <body name="r_forearm_roll_link" pos="0 0 0"> + <geom name="fr" type="capsule" fromto="-0.1 0 0 0.1 0 0" size="0.02" /> + <joint name="r_forearm_roll_joint" type="hinge" limited="true" pos="0 0 0" axis="1 0 0" damping=".1" range="-1.5 1.5"/> + + <body name="r_forearm_link" pos="0 0 0"> + <geom name="fa" type="capsule" fromto="0 0 0 0.291 0 0" size="0.05" /> + + <body name="r_wrist_flex_link" pos="0.321 0 0"> + <geom name="wf" type="capsule" fromto="0 -0.02 0 0 0.02 0" size="0.01" /> + <joint name="r_wrist_flex_joint" type="hinge" pos="0 0 0" axis="0 1 0" range="-1.094 0" damping=".1" /> + + <body name="r_wrist_roll_link" pos="0 0 0"> + <joint name="r_wrist_roll_joint" type="hinge" pos="0 0 0" limited="true" axis="1 0 0" damping="0.1" range="-1.5 1.5"/> + <body name="tips_arm" pos="0 0 0"> + <geom name="tip_arml" type="sphere" pos="0.1 -0.1 0." size="0.01" /> + <geom name="tip_armr" type="sphere" pos="0.1 0.1 0." size="0.01" /> + </body> + <geom type="capsule" fromto="0 -0.1 0. 0.0 +0.1 0" size="0.02" contype="1" conaffinity="1" /> + <geom type="capsule" fromto="0 -0.1 0. 0.1 -0.1 0" size="0.02" contype="1" conaffinity="1" /> + <geom type="capsule" fromto="0 +0.1 0. 0.1 +0.1 0." size="0.02" contype="1" conaffinity="1" /> + </body> + </body> + </body> + </body> + </body> + </body> + </body> + </body> + </body> + + <!--<body name="object" pos="0.55 -0.3 -0.275" >--> + <body name="object" pos="0.45 -0.05 -0.275" > + <geom rgba="1 1 1 0" type="sphere" size="0.05 0.05 0.05" density="0.00001" conaffinity="0"/> + <geom rgba="1 1 1 1" type="cylinder" size="0.05 0.05 0.05" density="0.00001" contype="1" conaffinity="0"/> + <joint name="obj_slidey" type="slide" pos="0 0 0" axis="0 1 0" range="-10.3213 10.3" damping="0.5"/> + <joint name="obj_slidex" type="slide" pos="0 0 0" axis="1 0 0" range="-10.3213 10.3" damping="0.5"/> + </body> + + <body name="goal" pos="0.45 -0.05 -0.3230"> + <geom rgba="1 0 0 1" type="cylinder" size="0.08 0.001 0.1" density='0.00001' contype="0" conaffinity="0"/> + <joint name="goal_slidey" type="slide" pos="0 0 0" axis="0 1 0" range="-10.3213 10.3" damping="0.5"/> + <joint name="goal_slidex" type="slide" pos="0 0 0" axis="1 0 0" range="-10.3213 10.3" damping="0.5"/> + </body> + </worldbody> + + <actuator> + <motor joint="r_shoulder_pan_joint" ctrlrange="-2.0 2.0" ctrllimited="true" /> + <motor joint="r_shoulder_lift_joint" ctrlrange="-2.0 2.0" ctrllimited="true" /> + <motor joint="r_upper_arm_roll_joint" ctrlrange="-2.0 2.0" ctrllimited="true" /> + <motor joint="r_elbow_flex_joint" ctrlrange="-2.0 2.0" ctrllimited="true" /> + <motor joint="r_forearm_roll_joint" ctrlrange="-2.0 2.0" ctrllimited="true" /> + <motor joint="r_wrist_flex_joint" ctrlrange="-2.0 2.0" ctrllimited="true" /> + <motor joint="r_wrist_roll_joint" ctrlrange="-2.0 2.0" ctrllimited="true"/> + </actuator> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/reacher.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/reacher.xml new file mode 100644 index 0000000000000000000000000000000000000000..64a67b961ac7a265c2d2d4347155ceeb9e84c820 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/reacher.xml @@ -0,0 +1,39 @@ +<mujoco model="reacher"> + <compiler angle="radian" inertiafromgeom="true"/> + <default> + <joint armature="1" damping="1" limited="true"/> + <geom contype="0" friction="1 0.1 0.1" rgba="0.7 0.7 0 1"/> + </default> + <option gravity="0 0 -9.81" integrator="RK4" timestep="0.01"/> + <worldbody> + <!-- Arena --> + <geom conaffinity="0" contype="0" name="ground" pos="0 0 0" rgba="0.9 0.9 0.9 1" size="1 1 10" type="plane"/> + <geom conaffinity="0" fromto="-.3 -.3 .01 .3 -.3 .01" name="sideS" rgba="0.9 0.4 0.6 1" size=".02" type="capsule"/> + <geom conaffinity="0" fromto=" .3 -.3 .01 .3 .3 .01" name="sideE" rgba="0.9 0.4 0.6 1" size=".02" type="capsule"/> + <geom conaffinity="0" fromto="-.3 .3 .01 .3 .3 .01" name="sideN" rgba="0.9 0.4 0.6 1" size=".02" type="capsule"/> + <geom conaffinity="0" fromto="-.3 -.3 .01 -.3 .3 .01" name="sideW" rgba="0.9 0.4 0.6 1" size=".02" type="capsule"/> + <!-- Arm --> + <geom conaffinity="0" contype="0" fromto="0 0 0 0 0 0.02" name="root" rgba="0.9 0.4 0.6 1" size=".011" type="cylinder"/> + <body name="body0" pos="0 0 .01"> + <geom fromto="0 0 0 0.1 0 0" name="link0" rgba="0.0 0.4 0.6 1" size=".01" type="capsule"/> + <joint axis="0 0 1" limited="false" name="joint0" pos="0 0 0" type="hinge"/> + <body name="body1" pos="0.1 0 0"> + <joint axis="0 0 1" limited="true" name="joint1" pos="0 0 0" range="-3.0 3.0" type="hinge"/> + <geom fromto="0 0 0 0.1 0 0" name="link1" rgba="0.0 0.4 0.6 1" size=".01" type="capsule"/> + <body name="fingertip" pos="0.11 0 0"> + <geom contype="0" name="fingertip" pos="0 0 0" rgba="0.0 0.8 0.6 1" size=".01" type="sphere"/> + </body> + </body> + </body> + <!-- Target --> + <body name="target" pos=".1 -.1 .01"> + <joint armature="0" axis="1 0 0" damping="0" limited="true" name="target_x" pos="0 0 0" range="-.27 .27" ref=".1" stiffness="0" type="slide"/> + <joint armature="0" axis="0 1 0" damping="0" limited="true" name="target_y" pos="0 0 0" range="-.27 .27" ref="-.1" stiffness="0" type="slide"/> + <geom conaffinity="0" contype="0" name="target" pos="0 0 0" rgba="0.9 0.2 0.2 1" size=".009" type="sphere"/> + </body> + </worldbody> + <actuator> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="200.0" joint="joint0"/> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="200.0" joint="joint1"/> + </actuator> +</mujoco> \ No newline at end of file diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/striker.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/striker.xml new file mode 100644 index 0000000000000000000000000000000000000000..f66f8080646c3d586316e71173b1a3eac87286c4 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/striker.xml @@ -0,0 +1,101 @@ +<mujoco model="arm3d"> + <compiler inertiafromgeom="true" angle="radian" coordinate="local"/> + <option timestep="0.01" gravity="0 0 0" iterations="20" integrator="Euler"/> + + <default> + <joint armature='0.04' damping="1" limited="true"/> + <geom friction=".0 .0 .0" density="300" margin="0.002" condim="1" contype="0" conaffinity="0"/> + </default> + + <worldbody> + <light diffuse=".5 .5 .5" pos="0 0 3" dir="0 0 -1"/> + <geom name="table" type="plane" pos="0 0.5 -0.325" size="1 1 0.1" contype="1" conaffinity="1"/> + + <body name="r_shoulder_pan_link" pos="0 -0.6 0"> + <geom name="e1" type="sphere" rgba="0.6 0.6 0.6 1" pos="-0.06 0.05 0.2" size="0.05"/> + <geom name="e2" type="sphere" rgba="0.6 0.6 0.6 1" pos=" 0.06 0.05 0.2" size="0.05"/> + <geom name="e1p" type="sphere" rgba="0.1 0.1 0.1 1" pos="-0.06 0.09 0.2" size="0.03"/> + <geom name="e2p" type="sphere" rgba="0.1 0.1 0.1 1" pos=" 0.06 0.09 0.2" size="0.03"/> + <geom name="sp" type="capsule" fromto="0 0 -0.4 0 0 0.2" size="0.1" /> + <joint name="r_shoulder_pan_joint" type="hinge" pos="0 0 0" axis="0 0 1" range="-2.2854 1.714602" damping="1.0" /> + + <body name="r_shoulder_lift_link" pos="0.1 0 0"> + <geom name="sl" type="capsule" fromto="0 -0.1 0 0 0.1 0" size="0.1" /> + <joint name="r_shoulder_lift_joint" type="hinge" pos="0 0 0" axis="0 1 0" range="-0.5236 1.3963" damping="1.0" /> + + <body name="r_upper_arm_roll_link" pos="0 0 0"> + <geom name="uar" type="capsule" fromto="-0.1 0 0 0.1 0 0" size="0.02" /> + <joint name="r_upper_arm_roll_joint" type="hinge" pos="0 0 0" axis="1 0 0" range="-1.5 1.7" damping="0.1" /> + + <body name="r_upper_arm_link" pos="0 0 0"> + <geom name="ua" type="capsule" fromto="0 0 0 0.4 0 0" size="0.06" /> + + <body name="r_elbow_flex_link" pos="0.4 0 0"> + <geom name="ef" type="capsule" fromto="0 -0.02 0 0.0 0.02 0" size="0.06" /> + <joint name="r_elbow_flex_joint" type="hinge" pos="0 0 0" axis="0 1 0" range="-2.3213 0" damping="0.1" /> + + <body name="r_forearm_roll_link" pos="0 0 0"> + <geom name="fr" type="capsule" fromto="-0.1 0 0 0.1 0 0" size="0.02" /> + <joint name="r_forearm_roll_joint" type="hinge" limited="true" pos="0 0 0" axis="1 0 0" damping=".1" range="-1.5 1.5"/> + + <body name="r_forearm_link" pos="0 0 0"> + <geom name="fa" type="capsule" fromto="0 0 0 0.291 0 0" size="0.05" /> + + <body name="r_wrist_flex_link" pos="0.321 0 0"> + <geom name="wf" type="capsule" fromto="0 -0.02 0 0 0.02 0" size="0.01" /> + <joint name="r_wrist_flex_joint" type="hinge" pos="0 0 0" axis="0 1 0" range="-1.094 0" damping=".1" /> + + <body name="r_wrist_roll_link" pos="0 0 0"> + <joint name="r_wrist_roll_joint" type="hinge" pos="0 0 0" limited="true" axis="1 0 0" damping="0.1" range="-1.5 1.5"/> + + + <body name="tips_arm" pos="0 0 0"> + <geom conaffinity="1" contype="1" name="tip_arml" pos="0.017 0 0" size="0.003 0.12 0.05" type="box" /> + + </body> + <geom conaffinity="1" contype="1" fromto="0 -0.1 0. 0.0 +0.1 0" size="0.02" type="capsule" /> + </body> + </body> + </body> + </body> + </body> + </body> + </body> + </body> + </body> + + <body name="object" pos="0 0 -0.270" > + <geom type="sphere" rgba="1 1 1 1" pos="0 0 0" size="0.05 0.05 0.05" contype="1" conaffinity="0"/> + <joint name="obj_slidey" armature="0.1" type="slide" pos="0 0 0" axis="0 1 0" range="-10.3213 10.3" damping="0.5"/> + <joint name="obj_slidex" armature="0.1" type="slide" pos="0 0 0" axis="1 0 0" range="-10.3213 10.3" damping="0.5"/> + </body> + + <body name="goal" pos="0.0 0.0 -0.3230"> + <geom rgba="1. 1. 1. 0" pos="0 0 0" type="box" size="0.01 0.01 0.01" contype="0" conaffinity="0"/> + <body pos="0 0 0"> + <geom rgba="1. 1. 1. 1" pos="0 0.075 0.04" type="box" size="0.032 0.001 0.04" contype="0" conaffinity="1"/> + </body> + <body name="coaster" pos="0 0 0"> + <geom rgba="1. 1. 1. 1" type="cylinder" size="0.08 0.001 0.1" density='1000000' contype="0" conaffinity="0"/> + </body> + <body pos="0 0 0" axisangle="0 0 1 0.785"> + <geom rgba="1. 1. 1. 1" pos="0 0.075 0.04" type="box" size="0.032 0.001 0.04" contype="0" conaffinity="1"/> + </body> + <body pos="0 0 0" axisangle="0 0 1 -0.785"> + <geom rgba="1. 1. 1. 1" pos="0 0.075 0.04" type="box" size="0.032 0.001 0.04" contype="0" conaffinity="1"/> + </body> + <joint name="goal_free" type="free" pos="0 0 0" limited="false" damping="0"/> + </body> + </worldbody> + + <actuator> + <motor joint="r_shoulder_pan_joint" ctrlrange="-3.0 3.0" ctrllimited="true" /> + <motor joint="r_shoulder_lift_joint" ctrlrange="-3.0 3.0" ctrllimited="true" /> + <motor joint="r_upper_arm_roll_joint" ctrlrange="-3.0 3.0" ctrllimited="true" /> + <motor joint="r_elbow_flex_joint" ctrlrange="-3.0 3.0" ctrllimited="true" /> + <motor joint="r_forearm_roll_joint" ctrlrange="-3.0 3.0" ctrllimited="true" /> + <motor joint="r_wrist_flex_joint" ctrlrange="-3.0 3.0" ctrllimited="true" /> + <motor joint="r_wrist_roll_joint" ctrlrange="-3.0 3.0" ctrllimited="true"/> + </actuator> + +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/swimmer.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/swimmer.xml new file mode 100644 index 0000000000000000000000000000000000000000..2ab6cbdd667255cfcc6ea8ad30b86f3d67c07c50 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/swimmer.xml @@ -0,0 +1,39 @@ +<mujoco model="swimmer"> + <compiler angle="degree" coordinate="local" inertiafromgeom="true"/> + <option collision="predefined" density="4000" integrator="RK4" timestep="0.01" viscosity="0.1"/> + <default> + <geom conaffinity="1" condim="1" contype="1" material="geom" rgba="0.8 0.6 .4 1"/> + <joint armature='0.1' /> + </default> + <asset> + <texture builtin="gradient" height="100" rgb1="1 1 1" rgb2="0 0 0" type="skybox" width="100"/> + <texture builtin="flat" height="1278" mark="cross" markrgb="1 1 1" name="texgeom" random="0.01" rgb1="0.8 0.6 0.4" rgb2="0.8 0.6 0.4" type="cube" width="127"/> + <texture builtin="checker" height="100" name="texplane" rgb1="0 0 0" rgb2="0.8 0.8 0.8" type="2d" width="100"/> + <material name="MatPlane" reflectance="0.5" shininess="1" specular="1" texrepeat="30 30" texture="texplane"/> + <material name="geom" texture="texgeom" texuniform="true"/> + </asset> + <worldbody> + <light cutoff="100" diffuse="1 1 1" dir="-0 0 -1.3" directional="true" exponent="1" pos="0 0 1.3" specular=".1 .1 .1"/> + <geom conaffinity="1" condim="3" material="MatPlane" name="floor" pos="0 0 -0.1" rgba="0.8 0.9 0.8 1" size="40 40 0.1" type="plane"/> + <!-- ================= SWIMMER ================= /--> + <body name="torso" pos="0 0 0"> + <camera name="track" mode="trackcom" pos="0 -3 3" xyaxes="1 0 0 0 1 1"/> + <geom density="1000" fromto="1.5 0 0 0.5 0 0" size="0.1" type="capsule"/> + <joint axis="1 0 0" name="slider1" pos="0 0 0" type="slide"/> + <joint axis="0 1 0" name="slider2" pos="0 0 0" type="slide"/> + <joint axis="0 0 1" name="rot" pos="0 0 0" type="hinge"/> + <body name="mid" pos="0.5 0 0"> + <geom density="1000" fromto="0 0 0 -1 0 0" size="0.1" type="capsule"/> + <joint axis="0 0 1" limited="true" name="rot2" pos="0 0 0" range="-100 100" type="hinge"/> + <body name="back" pos="-1 0 0"> + <geom density="1000" fromto="0 0 0 -1 0 0" size="0.1" type="capsule"/> + <joint axis="0 0 1" limited="true" name="rot3" pos="0 0 0" range="-100 100" type="hinge"/> + </body> + </body> + </body> + </worldbody> + <actuator> + <motor ctrllimited="true" ctrlrange="-1 1" gear="150.0" joint="rot2"/> + <motor ctrllimited="true" ctrlrange="-1 1" gear="150.0" joint="rot3"/> + </actuator> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/thrower.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/thrower.xml new file mode 100644 index 0000000000000000000000000000000000000000..b68f256054915f4df2a9318bf5db721062aa072e --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/thrower.xml @@ -0,0 +1,127 @@ +<mujoco model="arm3d"> + <compiler inertiafromgeom="true" angle="radian" coordinate="local"/> + <option timestep="0.01" gravity="0 0 -9.81" iterations="20" integrator="Euler"/> + <default> + <joint armature='0.75' damping="1" limited="true"/> + <geom friction=".8 .1 .1" density="300" margin="0.002" condim="1" contype="0" conaffinity="0"/> + </default> + + <worldbody> + <light diffuse=".5 .5 .5" pos="0 0 3" dir="0 0 -1"/> + + <geom type="plane" pos="0 0.5 -0.325" size="1 1 0.1" contype="1" conaffinity="1"/> + + <body name="r_shoulder_pan_link" pos="0 -0.6 0"> + <geom name="e1" type="sphere" rgba="0.6 0.6 0.6 1" pos="-0.06 0.05 0.2" size="0.05" density="0.0001"/> + <geom name="e2" type="sphere" rgba="0.6 0.6 0.6 1" pos=" 0.06 0.05 0.2" size="0.05" density="0.0001"/> + <geom name="e1p" type="sphere" rgba="0.1 0.1 0.1 1" pos="-0.06 0.09 0.2" size="0.03" density="0.0001"/> + <geom name="e2p" type="sphere" rgba="0.1 0.1 0.1 1" pos=" 0.06 0.09 0.2" size="0.03" density="0.0001"/> + <geom name="sp" type="capsule" fromto="0 0 -0.4 0 0 0.2" size="0.1" density="1"/> + <joint name="r_shoulder_pan_joint" type="hinge" pos="0 0 0" axis="0 0 1" range="-0.4854 1.214602" damping="1.0"/> + + <body name="r_shoulder_lift_link" pos="0.1 0 0"> + <geom name="sl" type="capsule" fromto="0 -0.1 0 0 0.1 0" size="0.1" density="0.0001"/> + <joint name="r_shoulder_lift_joint" type="hinge" pos="0 0 0" axis="0 1 0" range="-0.5236 0.7963" damping="1.0"/> + + <body name="r_upper_arm_roll_link" pos="0 0 0"> + <geom name="uar" type="capsule" fromto="-0.1 0 0 0.1 0 0" size="0.02" density="0.0001"/> + <joint name="r_upper_arm_roll_joint" type="hinge" pos="0 0 0" axis="1 0 0" range="-1.5 1.7" damping="1.0"/> + + <body name="r_upper_arm_link" pos="0 0 0"> + <geom name="ua" type="capsule" fromto="0 0 0 0.4 0 0" size="0.06" density="0.0001"/> + + <body name="r_elbow_flex_link" pos="0.4 0 0"> + <geom name="ef" type="capsule" fromto="0 -0.02 0 0.0 0.02 0" size="0.06" density="0.0001"/> + <joint name="r_elbow_flex_joint" type="hinge" pos="0 0 0" axis="0 1 0" range="-0.7 0.7" damping="1.0"/> + + <body name="r_forearm_roll_link" pos="0 0 0"> + <geom name="fr" type="capsule" fromto="-0.1 0 0 0.1 0 0" size="0.02" density="0.0001"/> + <joint name="r_forearm_roll_joint" type="hinge" limited="true" pos="0 0 0" axis="1 0 0" damping="1.0" range="-1.5 1.5"/> + + <body name="r_forearm_link" pos="0 0 0" axisangle="1 0 0 0.392"> + <geom name="fa" type="capsule" fromto="0 0 0 0 0 0.291" size="0.05" density="0.0001"/> + + <body name="r_wrist_flex_link" pos="0 0 0.321" axisangle="0 0 1 1.57"> + <geom name="wf" type="capsule" fromto="0 -0.02 0 0 0.02 0" size="0.01" density="0.0001"/> + <joint name="r_wrist_flex_joint" type="hinge" pos="0 0 0" axis="0 0 1" range="-1.0 1.0" damping="1.0" /> + + <body name="r_wrist_roll_link" pos="0 0 0" axisangle="0 1 0 -1.178"> + <joint name="r_wrist_roll_joint" type="hinge" pos="0 0 0" limited="true" axis="0 1 0" damping="1.0" range="0 2.25"/> + <geom type="capsule" fromto="0 -0.05 0 0 0.05 0" size="0.01" contype="1" conaffinity="1" density="0.0001"/> + <body pos="0 0 0" axisangle="0 0 1 0.392"> + <geom type="capsule" fromto="0 0.025 0 0 0.075 0.075" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + <geom type="capsule" fromto="0 0.075 0.075 0 0.075 0.15" size="0.005" contype="1" conaffinity="1" density=".0001"/> + <geom type="capsule" fromto="0 0.075 0.15 0 0 0.225" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + </body> + <body pos="0 0 0" axisangle="0 0 1 1.57"> + <geom type="capsule" fromto="0 0.025 0 0 0.075 0.075" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + <geom type="capsule" fromto="0 0.075 0.075 0 0.075 0.15" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + <geom type="capsule" fromto="0 0.075 0.15 0 0 0.225" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + </body> + <body pos="0 0 0" axisangle="0 0 1 1.178"> + <geom type="capsule" fromto="0 0.025 0 0 0.075 0.075" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + <geom type="capsule" fromto="0 0.075 0.075 0 0.075 0.15" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + <geom type="capsule" fromto="0 0.075 0.15 0 0 0.225" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + </body> + <body pos="0 0 0" axisangle="0 0 1 0.785"> + <geom type="capsule" fromto="0 0.025 0 0 0.075 0.075" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + <geom type="capsule" fromto="0 0.075 0.075 0 0.075 0.15" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + <geom type="capsule" fromto="0 0.075 0.15 0 0 0.225" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + </body> + <body pos="0 0 0" axisangle="0 0 1 1.96"> + <geom type="capsule" fromto="0 0.025 0 0 0.075 0.075" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + <geom type="capsule" fromto="0 0.075 0.075 0 0.075 0.15" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + <geom type="capsule" fromto="0 0.075 0.15 0 0 0.225" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + </body> + <body pos="0 0 0" axisangle="0 0 1 2.355"> + <geom type="capsule" fromto="0 0.025 0 0 0.075 0.075" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + <geom type="capsule" fromto="0 0.075 0.075 0 0.075 0.15" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + <geom type="capsule" fromto="0 0.075 0.15 0 0 0.225" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + </body> + <body pos="0 0 0" axisangle="0 0 1 2.74"> + <geom type="capsule" fromto="0 0.025 0 0 0.075 0.075" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + <geom type="capsule" fromto="0 0.075 0.075 0 0.075 0.15" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + <geom type="capsule" fromto="0 0.075 0.15 0 0 0.225" size="0.005" contype="1" conaffinity="1" density="0.0001"/> + </body> + </body> + </body> + </body> + </body> + </body> + </body> + </body> + </body> + </body> + + <body name="goal" pos="0.575 0.5 -0.328"> + <geom rgba="1 1 1 1" type="box" pos="0 0 0.005" size="0.075 0.075 0.001" contype="1" conaffinity="1" density="1000"/> + <geom rgba="1 1 1 1" type="box" pos="0.0 0.075 0.034" size="0.075 0.001 0.03" contype="1" conaffinity="0"/> + <geom rgba="1 1 1 1" type="box" pos="0.0 -0.075 0.034" size="0.075 0.001 0.03" contype="1" conaffinity="0"/> + <geom rgba="1 1 1 1" type="box" pos="0.075 0 0.034" size="0.001 0.075 0.03" contype="1" conaffinity="0"/> + <geom rgba="1 1 1 1" type="box" pos="-0.076 0 0.034" size="0.001 0.075 0.03" contype="1" conaffinity="0"/> + <geom rgba="1 1 1 1" type="capsule" fromto="0.073 0.073 0.0075 0.073 0.073 0.06" size="0.005" contype="1" conaffinity="0"/> + <geom rgba="1 1 1 1" type="capsule" fromto="0.073 -0.073 0.0075 0.073 -0.073 0.06" size="0.005" contype="1" conaffinity="0"/> + <geom rgba="1 1 1 1" type="capsule" fromto="-0.073 0.073 0.0075 -0.073 0.073 0.06" size="0.005" contype="1" conaffinity="0"/> + <geom rgba="1 1 1 1" type="capsule" fromto="-0.073 -0.073 0.0075 -0.073 -0.073 0.06" size="0.005" contype="1" conaffinity="0"/> + <joint name="goal_slidey" type="slide" pos="0 0 0" axis="0 1 0" range="-10.3213 10.3" damping="1.0"/> + <joint name="goal_slidex" type="slide" pos="0 0 0" axis="1 0 0" range="-10.3213 10.3" damping="1.0"/> + </body> + + <body name="ball" pos="0.5 -0.8 0.275"> + <geom rgba="1. 1. 1. 1" type="sphere" size="0.03 0.03 0.1" density='25' contype="1" conaffinity="1"/> + <joint name="ball_free" type="free" armature='0' damping="0" limited="false"/> + </body> + + </worldbody> + + <actuator> + <motor joint="r_shoulder_pan_joint" ctrlrange="-10.0 10.0" ctrllimited="true" /> + <motor joint="r_shoulder_lift_joint" ctrlrange="-10.0 10.0" ctrllimited="true" /> + <motor joint="r_upper_arm_roll_joint" ctrlrange="-10.0 10.0" ctrllimited="true" /> + <motor joint="r_elbow_flex_joint" ctrlrange="-10.0 10.0" ctrllimited="true" /> + <motor joint="r_forearm_roll_joint" ctrlrange="-15.0 15.0" ctrllimited="true" /> + <motor joint="r_wrist_flex_joint" ctrlrange="-15.0 15.0" ctrllimited="true" /> + <motor joint="r_wrist_roll_joint" ctrlrange="-15.0 15.0" ctrllimited="true"/> + </actuator> + +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/walker2d.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/walker2d.xml new file mode 100644 index 0000000000000000000000000000000000000000..3342571666db0d2db1bfa6e58829b0cc4f36a60e --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/assets/walker2d.xml @@ -0,0 +1,62 @@ +<mujoco model="walker2d"> + <compiler angle="degree" coordinate="global" inertiafromgeom="true"/> + <default> + <joint armature="0.01" damping=".1" limited="true"/> + <geom conaffinity="0" condim="3" contype="1" density="1000" friction=".7 .1 .1" rgba="0.8 0.6 .4 1"/> + </default> + <option integrator="RK4" timestep="0.002"/> + <worldbody> + <light cutoff="100" diffuse="1 1 1" dir="-0 0 -1.3" directional="true" exponent="1" pos="0 0 1.3" specular=".1 .1 .1"/> + <geom conaffinity="1" condim="3" name="floor" pos="0 0 0" rgba="0.8 0.9 0.8 1" size="40 40 40" type="plane" material="MatPlane"/> + <body name="torso" pos="0 0 1.25"> + <camera name="track" mode="trackcom" pos="0 -3 1" xyaxes="1 0 0 0 0 1"/> + <joint armature="0" axis="1 0 0" damping="0" limited="false" name="rootx" pos="0 0 0" stiffness="0" type="slide"/> + <joint armature="0" axis="0 0 1" damping="0" limited="false" name="rootz" pos="0 0 0" ref="1.25" stiffness="0" type="slide"/> + <joint armature="0" axis="0 1 0" damping="0" limited="false" name="rooty" pos="0 0 1.25" stiffness="0" type="hinge"/> + <geom friction="0.9" fromto="0 0 1.45 0 0 1.05" name="torso_geom" size="0.05" type="capsule"/> + <body name="thigh" pos="0 0 1.05"> + <joint axis="0 -1 0" name="thigh_joint" pos="0 0 1.05" range="-150 0" type="hinge"/> + <geom friction="0.9" fromto="0 0 1.05 0 0 0.6" name="thigh_geom" size="0.05" type="capsule"/> + <body name="leg" pos="0 0 0.35"> + <joint axis="0 -1 0" name="leg_joint" pos="0 0 0.6" range="-150 0" type="hinge"/> + <geom friction="0.9" fromto="0 0 0.6 0 0 0.1" name="leg_geom" size="0.04" type="capsule"/> + <body name="foot" pos="0.2/2 0 0.1"> + <joint axis="0 -1 0" name="foot_joint" pos="0 0 0.1" range="-45 45" type="hinge"/> + <geom friction="0.9" fromto="-0.0 0 0.1 0.2 0 0.1" name="foot_geom" size="0.06" type="capsule"/> + </body> + </body> + </body> + <!-- copied and then replace thigh->thigh_left, leg->leg_left, foot->foot_right --> + <body name="thigh_left" pos="0 0 1.05"> + <joint axis="0 -1 0" name="thigh_left_joint" pos="0 0 1.05" range="-150 0" type="hinge"/> + <geom friction="0.9" fromto="0 0 1.05 0 0 0.6" name="thigh_left_geom" rgba=".7 .3 .6 1" size="0.05" type="capsule"/> + <body name="leg_left" pos="0 0 0.35"> + <joint axis="0 -1 0" name="leg_left_joint" pos="0 0 0.6" range="-150 0" type="hinge"/> + <geom friction="0.9" fromto="0 0 0.6 0 0 0.1" name="leg_left_geom" rgba=".7 .3 .6 1" size="0.04" type="capsule"/> + <body name="foot_left" pos="0.2/2 0 0.1"> + <joint axis="0 -1 0" name="foot_left_joint" pos="0 0 0.1" range="-45 45" type="hinge"/> + <geom friction="1.9" fromto="-0.0 0 0.1 0.2 0 0.1" name="foot_left_geom" rgba=".7 .3 .6 1" size="0.06" type="capsule"/> + </body> + </body> + </body> + </body> + </worldbody> + <actuator> + <!-- <motor joint="torso_joint" ctrlrange="-100.0 100.0" isctrllimited="true"/>--> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="100" joint="thigh_joint"/> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="100" joint="leg_joint"/> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="100" joint="foot_joint"/> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="100" joint="thigh_left_joint"/> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="100" joint="leg_left_joint"/> + <motor ctrllimited="true" ctrlrange="-1.0 1.0" gear="100" joint="foot_left_joint"/> + <!-- <motor joint="finger2_rot" ctrlrange="-20.0 20.0" isctrllimited="true"/>--> + </actuator> + <asset> + <texture type="skybox" builtin="gradient" rgb1=".4 .5 .6" rgb2="0 0 0" + width="100" height="100"/> + <texture builtin="flat" height="1278" mark="cross" markrgb="1 1 1" name="texgeom" random="0.01" rgb1="0.8 0.6 0.4" rgb2="0.8 0.6 0.4" type="cube" width="127"/> + <texture builtin="checker" height="100" name="texplane" rgb1="0 0 0" rgb2="0.8 0.8 0.8" type="2d" width="100"/> + <material name="MatPlane" reflectance="0.5" shininess="1" specular="1" texrepeat="60 60" texture="texplane"/> + <material name="geom" texture="texgeom" texuniform="true"/> + </asset> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/half_cheetah.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/half_cheetah.py new file mode 100644 index 0000000000000000000000000000000000000000..ea9761c5610634fed6f651d13d929e5d3491ff5a --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/half_cheetah.py @@ -0,0 +1,34 @@ +import numpy as np +from gym import utils +from gym.envs.mujoco import mujoco_env + +class HalfCheetahEnv(mujoco_env.MujocoEnv, utils.EzPickle): + def __init__(self): + mujoco_env.MujocoEnv.__init__(self, 'half_cheetah.xml', 5) + utils.EzPickle.__init__(self) + + def step(self, action): + xposbefore = self.sim.data.qpos[0] + self.do_simulation(action, self.frame_skip) + xposafter = self.sim.data.qpos[0] + ob = self._get_obs() + reward_ctrl = - 0.1 * np.square(action).sum() + reward_run = (xposafter - xposbefore)/self.dt + reward = reward_ctrl + reward_run + done = False + return ob, reward, done, dict(reward_run=reward_run, reward_ctrl=reward_ctrl) + + def _get_obs(self): + return np.concatenate([ + self.sim.data.qpos.flat[1:], + self.sim.data.qvel.flat, + ]) + + def reset_model(self): + qpos = self.init_qpos + self.np_random.uniform(low=-.1, high=.1, size=self.model.nq) + qvel = self.init_qvel + self.np_random.randn(self.model.nv) * .1 + self.set_state(qpos, qvel) + return self._get_obs() + + def viewer_setup(self): + self.viewer.cam.distance = self.model.stat.extent * 0.5 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/half_cheetah_v3.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/half_cheetah_v3.py new file mode 100644 index 0000000000000000000000000000000000000000..11565efdb23309ff17d831765cfa3e19a76abded --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/half_cheetah_v3.py @@ -0,0 +1,89 @@ +import numpy as np +from gym import utils +from gym.envs.mujoco import mujoco_env + + +DEFAULT_CAMERA_CONFIG = { + 'distance': 4.0, +} + + +class HalfCheetahEnv(mujoco_env.MujocoEnv, utils.EzPickle): + def __init__(self, + xml_file='half_cheetah.xml', + forward_reward_weight=1.0, + ctrl_cost_weight=0.1, + reset_noise_scale=0.1, + exclude_current_positions_from_observation=True, + rgb_rendering_tracking=True): + utils.EzPickle.__init__(**locals()) + + self._forward_reward_weight = forward_reward_weight + + self._ctrl_cost_weight = ctrl_cost_weight + + self._reset_noise_scale = reset_noise_scale + + self._exclude_current_positions_from_observation = ( + exclude_current_positions_from_observation) + + mujoco_env.MujocoEnv.__init__(self, xml_file, 5, rgb_rendering_tracking=rgb_rendering_tracking) + + def control_cost(self, action): + control_cost = self._ctrl_cost_weight * np.sum(np.square(action)) + return control_cost + + def step(self, action): + x_position_before = self.sim.data.qpos[0] + self.do_simulation(action, self.frame_skip) + x_position_after = self.sim.data.qpos[0] + x_velocity = ((x_position_after - x_position_before) + / self.dt) + + ctrl_cost = self.control_cost(action) + + forward_reward = self._forward_reward_weight * x_velocity + + observation = self._get_obs() + reward = forward_reward - ctrl_cost + done = False + info = { + 'x_position': x_position_after, + 'x_velocity': x_velocity, + + 'reward_run': forward_reward, + 'reward_ctrl': -ctrl_cost + } + + return observation, reward, done, info + + def _get_obs(self): + position = self.sim.data.qpos.flat.copy() + velocity = self.sim.data.qvel.flat.copy() + + if self._exclude_current_positions_from_observation: + position = position[1:] + + observation = np.concatenate((position, velocity)).ravel() + return observation + + def reset_model(self): + noise_low = -self._reset_noise_scale + noise_high = self._reset_noise_scale + + qpos = self.init_qpos + self.np_random.uniform( + low=noise_low, high=noise_high, size=self.model.nq) + qvel = self.init_qvel + self._reset_noise_scale * self.np_random.randn( + self.model.nv) + + self.set_state(qpos, qvel) + + observation = self._get_obs() + return observation + + def viewer_setup(self): + for key, value in DEFAULT_CAMERA_CONFIG.items(): + if isinstance(value, np.ndarray): + getattr(self.viewer.cam, key)[:] = value + else: + setattr(self.viewer.cam, key, value) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/hopper.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/hopper.py new file mode 100644 index 0000000000000000000000000000000000000000..be826a409af44a9a7c9602c88d4544b1e4a41ade --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/hopper.py @@ -0,0 +1,40 @@ +import numpy as np +from gym import utils +from gym.envs.mujoco import mujoco_env + +class HopperEnv(mujoco_env.MujocoEnv, utils.EzPickle): + def __init__(self): + mujoco_env.MujocoEnv.__init__(self, 'hopper.xml', 4) + utils.EzPickle.__init__(self) + + def step(self, a): + posbefore = self.sim.data.qpos[0] + self.do_simulation(a, self.frame_skip) + posafter, height, ang = self.sim.data.qpos[0:3] + alive_bonus = 1.0 + reward = (posafter - posbefore) / self.dt + reward += alive_bonus + reward -= 1e-3 * np.square(a).sum() + s = self.state_vector() + done = not (np.isfinite(s).all() and (np.abs(s[2:]) < 100).all() and + (height > .7) and (abs(ang) < .2)) + ob = self._get_obs() + return ob, reward, done, {} + + def _get_obs(self): + return np.concatenate([ + self.sim.data.qpos.flat[1:], + np.clip(self.sim.data.qvel.flat, -10, 10) + ]) + + def reset_model(self): + qpos = self.init_qpos + self.np_random.uniform(low=-.005, high=.005, size=self.model.nq) + qvel = self.init_qvel + self.np_random.uniform(low=-.005, high=.005, size=self.model.nv) + self.set_state(qpos, qvel) + return self._get_obs() + + def viewer_setup(self): + self.viewer.cam.trackbodyid = 2 + self.viewer.cam.distance = self.model.stat.extent * 0.75 + self.viewer.cam.lookat[2] = 1.15 + self.viewer.cam.elevation = -20 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/hopper_v3.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/hopper_v3.py new file mode 100644 index 0000000000000000000000000000000000000000..ce2a13a4d9567d13acb305f6a8967a6684da0e3d --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/hopper_v3.py @@ -0,0 +1,138 @@ +import numpy as np +from gym.envs.mujoco import mujoco_env +from gym import utils + + +DEFAULT_CAMERA_CONFIG = { + 'trackbodyid': 2, + 'distance': 3.0, + 'lookat': np.array((0.0, 0.0, 1.15)), + 'elevation': -20.0, +} + + +class HopperEnv(mujoco_env.MujocoEnv, utils.EzPickle): + def __init__(self, + xml_file='hopper.xml', + forward_reward_weight=1.0, + ctrl_cost_weight=1e-3, + healthy_reward=1.0, + terminate_when_unhealthy=True, + healthy_state_range=(-100.0, 100.0), + healthy_z_range=(0.7, float('inf')), + healthy_angle_range=(-0.2, 0.2), + reset_noise_scale=5e-3, + exclude_current_positions_from_observation=True, + rgb_rendering_tracking=True): + utils.EzPickle.__init__(**locals()) + + self._forward_reward_weight = forward_reward_weight + + self._ctrl_cost_weight = ctrl_cost_weight + + self._healthy_reward = healthy_reward + self._terminate_when_unhealthy = terminate_when_unhealthy + + self._healthy_state_range = healthy_state_range + self._healthy_z_range = healthy_z_range + self._healthy_angle_range = healthy_angle_range + + self._reset_noise_scale = reset_noise_scale + + self._exclude_current_positions_from_observation = ( + exclude_current_positions_from_observation) + + mujoco_env.MujocoEnv.__init__(self, xml_file, 4, rgb_rendering_tracking=rgb_rendering_tracking) + + @property + def healthy_reward(self): + return float( + self.is_healthy + or self._terminate_when_unhealthy + ) * self._healthy_reward + + def control_cost(self, action): + control_cost = self._ctrl_cost_weight * np.sum(np.square(action)) + return control_cost + + @property + def is_healthy(self): + z, angle = self.sim.data.qpos[1:3] + state = self.state_vector()[2:] + + min_state, max_state = self._healthy_state_range + min_z, max_z = self._healthy_z_range + min_angle, max_angle = self._healthy_angle_range + + healthy_state = np.all( + np.logical_and(min_state < state, state < max_state)) + healthy_z = min_z < z < max_z + healthy_angle = min_angle < angle < max_angle + + is_healthy = all((healthy_state, healthy_z, healthy_angle)) + + return is_healthy + + @property + def done(self): + done = (not self.is_healthy + if self._terminate_when_unhealthy + else False) + return done + + def _get_obs(self): + position = self.sim.data.qpos.flat.copy() + velocity = np.clip( + self.sim.data.qvel.flat.copy(), -10, 10) + + if self._exclude_current_positions_from_observation: + position = position[1:] + + observation = np.concatenate((position, velocity)).ravel() + return observation + + def step(self, action): + x_position_before = self.sim.data.qpos[0] + self.do_simulation(action, self.frame_skip) + x_position_after = self.sim.data.qpos[0] + x_velocity = ((x_position_after - x_position_before) + / self.dt) + + ctrl_cost = self.control_cost(action) + + forward_reward = self._forward_reward_weight * x_velocity + healthy_reward = self.healthy_reward + + rewards = forward_reward + healthy_reward + costs = ctrl_cost + + observation = self._get_obs() + reward = rewards - costs + done = self.done + info = { + 'x_position': x_position_after, + 'x_velocity': x_velocity, + } + + return observation, reward, done, info + + def reset_model(self): + noise_low = -self._reset_noise_scale + noise_high = self._reset_noise_scale + + qpos = self.init_qpos + self.np_random.uniform( + low=noise_low, high=noise_high, size=self.model.nq) + qvel = self.init_qvel + self.np_random.uniform( + low=noise_low, high=noise_high, size=self.model.nv) + + self.set_state(qpos, qvel) + + observation = self._get_obs() + return observation + + def viewer_setup(self): + for key, value in DEFAULT_CAMERA_CONFIG.items(): + if isinstance(value, np.ndarray): + getattr(self.viewer.cam, key)[:] = value + else: + setattr(self.viewer.cam, key, value) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/humanoid.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/humanoid.py new file mode 100644 index 0000000000000000000000000000000000000000..afa2ccaa6286fa4fc0e13167d035a03d1f196b0c --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/humanoid.py @@ -0,0 +1,51 @@ +import numpy as np +from gym.envs.mujoco import mujoco_env +from gym import utils + +def mass_center(model, sim): + mass = np.expand_dims(model.body_mass, 1) + xpos = sim.data.xipos + return (np.sum(mass * xpos, 0) / np.sum(mass))[0] + +class HumanoidEnv(mujoco_env.MujocoEnv, utils.EzPickle): + def __init__(self): + mujoco_env.MujocoEnv.__init__(self, 'humanoid.xml', 5) + utils.EzPickle.__init__(self) + + def _get_obs(self): + data = self.sim.data + return np.concatenate([data.qpos.flat[2:], + data.qvel.flat, + data.cinert.flat, + data.cvel.flat, + data.qfrc_actuator.flat, + data.cfrc_ext.flat]) + + def step(self, a): + pos_before = mass_center(self.model, self.sim) + self.do_simulation(a, self.frame_skip) + pos_after = mass_center(self.model, self.sim) + alive_bonus = 5.0 + data = self.sim.data + lin_vel_cost = 1.25 * (pos_after - pos_before) / self.dt + quad_ctrl_cost = 0.1 * np.square(data.ctrl).sum() + quad_impact_cost = .5e-6 * np.square(data.cfrc_ext).sum() + quad_impact_cost = min(quad_impact_cost, 10) + reward = lin_vel_cost - quad_ctrl_cost - quad_impact_cost + alive_bonus + qpos = self.sim.data.qpos + done = bool((qpos[2] < 1.0) or (qpos[2] > 2.0)) + return self._get_obs(), reward, done, dict(reward_linvel=lin_vel_cost, reward_quadctrl=-quad_ctrl_cost, reward_alive=alive_bonus, reward_impact=-quad_impact_cost) + + def reset_model(self): + c = 0.01 + self.set_state( + self.init_qpos + self.np_random.uniform(low=-c, high=c, size=self.model.nq), + self.init_qvel + self.np_random.uniform(low=-c, high=c, size=self.model.nv,) + ) + return self._get_obs() + + def viewer_setup(self): + self.viewer.cam.trackbodyid = 1 + self.viewer.cam.distance = self.model.stat.extent * 1.0 + self.viewer.cam.lookat[2] = 2.0 + self.viewer.cam.elevation = -20 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/humanoid_v3.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/humanoid_v3.py new file mode 100644 index 0000000000000000000000000000000000000000..f76c370a1eec04ad4d3f83bbb980fb4355f83082 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/humanoid_v3.py @@ -0,0 +1,162 @@ +import numpy as np +from gym.envs.mujoco import mujoco_env +from gym import utils + + +DEFAULT_CAMERA_CONFIG = { + 'trackbodyid': 1, + 'distance': 4.0, + 'lookat': np.array((0.0, 0.0, 2.0)), + 'elevation': -20.0, +} + + +def mass_center(model, sim): + mass = np.expand_dims(model.body_mass, axis=1) + xpos = sim.data.xipos + return (np.sum(mass * xpos, axis=0) / np.sum(mass))[0:2].copy() + + +class HumanoidEnv(mujoco_env.MujocoEnv, utils.EzPickle): + def __init__(self, + xml_file='humanoid.xml', + forward_reward_weight=1.25, + ctrl_cost_weight=0.1, + contact_cost_weight=5e-7, + contact_cost_range=(-np.inf, 10.0), + healthy_reward=5.0, + terminate_when_unhealthy=True, + healthy_z_range=(1.0, 2.0), + reset_noise_scale=1e-2, + exclude_current_positions_from_observation=True, + rgb_rendering_tracking=True): + utils.EzPickle.__init__(**locals()) + + self._forward_reward_weight = forward_reward_weight + self._ctrl_cost_weight = ctrl_cost_weight + self._contact_cost_weight = contact_cost_weight + self._contact_cost_range = contact_cost_range + self._healthy_reward = healthy_reward + self._terminate_when_unhealthy = terminate_when_unhealthy + self._healthy_z_range = healthy_z_range + + self._reset_noise_scale = reset_noise_scale + + self._exclude_current_positions_from_observation = ( + exclude_current_positions_from_observation) + + mujoco_env.MujocoEnv.__init__(self, xml_file, 5, rgb_rendering_tracking=rgb_rendering_tracking) + + @property + def healthy_reward(self): + return float( + self.is_healthy + or self._terminate_when_unhealthy + ) * self._healthy_reward + + def control_cost(self, action): + control_cost = self._ctrl_cost_weight * np.sum( + np.square(self.sim.data.ctrl)) + return control_cost + + @property + def contact_cost(self): + contact_forces = self.sim.data.cfrc_ext + contact_cost = self._contact_cost_weight * np.sum( + np.square(contact_forces)) + min_cost, max_cost = self._contact_cost_range + contact_cost = np.clip(contact_cost, min_cost, max_cost) + return contact_cost + + @property + def is_healthy(self): + min_z, max_z = self._healthy_z_range + is_healthy = min_z < self.sim.data.qpos[2] < max_z + + return is_healthy + + @property + def done(self): + done = ((not self.is_healthy) + if self._terminate_when_unhealthy + else False) + return done + + def _get_obs(self): + position = self.sim.data.qpos.flat.copy() + velocity = self.sim.data.qvel.flat.copy() + + com_inertia = self.sim.data.cinert.flat.copy() + com_velocity = self.sim.data.cvel.flat.copy() + + actuator_forces = self.sim.data.qfrc_actuator.flat.copy() + external_contact_forces = self.sim.data.cfrc_ext.flat.copy() + + if self._exclude_current_positions_from_observation: + position = position[2:] + + return np.concatenate(( + position, + velocity, + com_inertia, + com_velocity, + actuator_forces, + external_contact_forces, + )) + + def step(self, action): + xy_position_before = mass_center(self.model, self.sim) + self.do_simulation(action, self.frame_skip) + xy_position_after = mass_center(self.model, self.sim) + + xy_velocity = (xy_position_after - xy_position_before) / self.dt + x_velocity, y_velocity = xy_velocity + + ctrl_cost = self.control_cost(action) + contact_cost = self.contact_cost + + forward_reward = self._forward_reward_weight * x_velocity + healthy_reward = self.healthy_reward + + rewards = forward_reward + healthy_reward + costs = ctrl_cost + contact_cost + + observation = self._get_obs() + reward = rewards - costs + done = self.done + info = { + 'reward_linvel': forward_reward, + 'reward_quadctrl': -ctrl_cost, + 'reward_alive': healthy_reward, + 'reward_impact': -contact_cost, + + 'x_position': xy_position_after[0], + 'y_position': xy_position_after[1], + 'distance_from_origin': np.linalg.norm(xy_position_after, ord=2), + + 'x_velocity': x_velocity, + 'y_velocity': y_velocity, + 'forward_reward': forward_reward, + } + + return observation, reward, done, info + + def reset_model(self): + noise_low = -self._reset_noise_scale + noise_high = self._reset_noise_scale + + qpos = self.init_qpos + self.np_random.uniform( + low=noise_low, high=noise_high, size=self.model.nq) + qvel = self.init_qvel + self.np_random.uniform( + low=noise_low, high=noise_high, size=self.model.nv) + self.set_state(qpos, qvel) + + observation = self._get_obs() + return observation + + def viewer_setup(self): + for key, value in DEFAULT_CAMERA_CONFIG.items(): + if isinstance(value, np.ndarray): + getattr(self.viewer.cam, key)[:] = value + else: + setattr(self.viewer.cam, key, value) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/humanoidstandup.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/humanoidstandup.py new file mode 100644 index 0000000000000000000000000000000000000000..6ab595b55ce0e5b1a4f1832e792868afa68ad0e4 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/humanoidstandup.py @@ -0,0 +1,45 @@ +from gym.envs.mujoco import mujoco_env +from gym import utils +import numpy as np + +class HumanoidStandupEnv(mujoco_env.MujocoEnv, utils.EzPickle): + def __init__(self): + mujoco_env.MujocoEnv.__init__(self, 'humanoidstandup.xml', 5) + utils.EzPickle.__init__(self) + + def _get_obs(self): + data = self.sim.data + return np.concatenate([data.qpos.flat[2:], + data.qvel.flat, + data.cinert.flat, + data.cvel.flat, + data.qfrc_actuator.flat, + data.cfrc_ext.flat]) + + def step(self, a): + self.do_simulation(a, self.frame_skip) + pos_after = self.sim.data.qpos[2] + data = self.sim.data + uph_cost = (pos_after - 0) / self.model.opt.timestep + + quad_ctrl_cost = 0.1 * np.square(data.ctrl).sum() + quad_impact_cost = .5e-6 * np.square(data.cfrc_ext).sum() + quad_impact_cost = min(quad_impact_cost, 10) + reward = uph_cost - quad_ctrl_cost - quad_impact_cost + 1 + + done = bool(False) + return self._get_obs(), reward, done, dict(reward_linup=uph_cost, reward_quadctrl=-quad_ctrl_cost, reward_impact=-quad_impact_cost) + + def reset_model(self): + c = 0.01 + self.set_state( + self.init_qpos + self.np_random.uniform(low=-c, high=c, size=self.model.nq), + self.init_qvel + self.np_random.uniform(low=-c, high=c, size=self.model.nv,) + ) + return self._get_obs() + + def viewer_setup(self): + self.viewer.cam.trackbodyid = 1 + self.viewer.cam.distance = self.model.stat.extent * 1.0 + self.viewer.cam.lookat[2] = 0.8925 + self.viewer.cam.elevation = -20 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/inverted_double_pendulum.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/inverted_double_pendulum.py new file mode 100644 index 0000000000000000000000000000000000000000..f461066b092280f9bc2ae827f8a8ee29f3f03ca2 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/inverted_double_pendulum.py @@ -0,0 +1,43 @@ +import numpy as np +from gym import utils +from gym.envs.mujoco import mujoco_env + +class InvertedDoublePendulumEnv(mujoco_env.MujocoEnv, utils.EzPickle): + + def __init__(self): + mujoco_env.MujocoEnv.__init__(self, 'inverted_double_pendulum.xml', 5) + utils.EzPickle.__init__(self) + + def step(self, action): + self.do_simulation(action, self.frame_skip) + ob = self._get_obs() + x, _, y = self.sim.data.site_xpos[0] + dist_penalty = 0.01 * x ** 2 + (y - 2) ** 2 + v1, v2 = self.sim.data.qvel[1:3] + vel_penalty = 1e-3 * v1**2 + 5e-3 * v2**2 + alive_bonus = 10 + r = alive_bonus - dist_penalty - vel_penalty + done = bool(y <= 1) + return ob, r, done, {} + + def _get_obs(self): + return np.concatenate([ + self.sim.data.qpos[:1], # cart x pos + np.sin(self.sim.data.qpos[1:]), # link angles + np.cos(self.sim.data.qpos[1:]), + np.clip(self.sim.data.qvel, -10, 10), + np.clip(self.sim.data.qfrc_constraint, -10, 10) + ]).ravel() + + def reset_model(self): + self.set_state( + self.init_qpos + self.np_random.uniform(low=-.1, high=.1, size=self.model.nq), + self.init_qvel + self.np_random.randn(self.model.nv) * .1 + ) + return self._get_obs() + + def viewer_setup(self): + v = self.viewer + v.cam.trackbodyid = 0 + v.cam.distance = self.model.stat.extent * 0.5 + v.cam.lookat[2] = 0.12250000000000005 # v.model.stat.center[2] diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/inverted_pendulum.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/inverted_pendulum.py new file mode 100644 index 0000000000000000000000000000000000000000..b2ed6bd4bb90d82556352269d4dca4f56435434c --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/inverted_pendulum.py @@ -0,0 +1,30 @@ +import numpy as np +from gym import utils +from gym.envs.mujoco import mujoco_env + +class InvertedPendulumEnv(mujoco_env.MujocoEnv, utils.EzPickle): + def __init__(self): + utils.EzPickle.__init__(self) + mujoco_env.MujocoEnv.__init__(self, 'inverted_pendulum.xml', 2) + + def step(self, a): + reward = 1.0 + self.do_simulation(a, self.frame_skip) + ob = self._get_obs() + notdone = np.isfinite(ob).all() and (np.abs(ob[1]) <= .2) + done = not notdone + return ob, reward, done, {} + + def reset_model(self): + qpos = self.init_qpos + self.np_random.uniform(size=self.model.nq, low=-0.01, high=0.01) + qvel = self.init_qvel + self.np_random.uniform(size=self.model.nv, low=-0.01, high=0.01) + self.set_state(qpos, qvel) + return self._get_obs() + + def _get_obs(self): + return np.concatenate([self.sim.data.qpos, self.sim.data.qvel]).ravel() + + def viewer_setup(self): + v = self.viewer + v.cam.trackbodyid = 0 + v.cam.distance = self.model.stat.extent diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/mujoco_env.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/mujoco_env.py new file mode 100644 index 0000000000000000000000000000000000000000..a9986843801e3a9a53a4a074fe1cc06606e9976b --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/mujoco_env.py @@ -0,0 +1,150 @@ +import os + +from gym import error, spaces +from gym.utils import seeding +import numpy as np +from os import path +import gym +import six + +try: + import mujoco_py +except ImportError as e: + raise error.DependencyNotInstalled("{}. (HINT: you need to install mujoco_py, and also perform the setup instructions here: https://github.com/openai/mujoco-py/.)".format(e)) + +DEFAULT_SIZE = 500 + +class MujocoEnv(gym.Env): + """Superclass for all MuJoCo environments. + """ + + def __init__(self, model_path, frame_skip, rgb_rendering_tracking=True): + if model_path.startswith("/"): + fullpath = model_path + else: + fullpath = os.path.join(os.path.dirname(__file__), "assets", model_path) + if not path.exists(fullpath): + raise IOError("File %s does not exist" % fullpath) + self.frame_skip = frame_skip + self.model = mujoco_py.load_model_from_path(fullpath) + self.sim = mujoco_py.MjSim(self.model) + self.data = self.sim.data + self.viewer = None + self.rgb_rendering_tracking = rgb_rendering_tracking + self._viewers = {} + + self.metadata = { + 'render.modes': ['human', 'rgb_array', 'depth_array'], + 'video.frames_per_second': int(np.round(1.0 / self.dt)) + } + + self.init_qpos = self.sim.data.qpos.ravel().copy() + self.init_qvel = self.sim.data.qvel.ravel().copy() + observation, _reward, done, _info = self.step(np.zeros(self.model.nu)) + assert not done + self.obs_dim = observation.size + + bounds = self.model.actuator_ctrlrange.copy() + low = bounds[:, 0] + high = bounds[:, 1] + self.action_space = spaces.Box(low=low, high=high, dtype=np.float32) + + high = np.inf*np.ones(self.obs_dim) + low = -high + self.observation_space = spaces.Box(low, high, dtype=np.float32) + + self.seed() + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + # methods to override: + # ---------------------------- + + def reset_model(self): + """ + Reset the robot degrees of freedom (qpos and qvel). + Implement this in each subclass. + """ + raise NotImplementedError + + def viewer_setup(self): + """ + This method is called when the viewer is initialized. + Optionally implement this method, if you need to tinker with camera position + and so forth. + """ + pass + + # ----------------------------- + + def reset(self): + self.sim.reset() + ob = self.reset_model() + return ob + + def set_state(self, qpos, qvel): + assert qpos.shape == (self.model.nq,) and qvel.shape == (self.model.nv,) + old_state = self.sim.get_state() + new_state = mujoco_py.MjSimState(old_state.time, qpos, qvel, + old_state.act, old_state.udd_state) + self.sim.set_state(new_state) + self.sim.forward() + + @property + def dt(self): + return self.model.opt.timestep * self.frame_skip + + def do_simulation(self, ctrl, n_frames): + self.sim.data.ctrl[:] = ctrl + for _ in range(n_frames): + self.sim.step() + + def render(self, mode='human', width=DEFAULT_SIZE, height=DEFAULT_SIZE): + if mode == 'rgb_array': + camera_id = None + camera_name = 'track' + if self.rgb_rendering_tracking and camera_name in self.model.camera_names: + camera_id = self.model.camera_name2id(camera_name) + self._get_viewer(mode).render(width, height, camera_id=camera_id) + # window size used for old mujoco-py: + data = self._get_viewer(mode).read_pixels(width, height, depth=False) + # original image is upside-down, so flip it + return data[::-1, :, :] + elif mode == 'depth_array': + self._get_viewer(mode).render(width, height) + # window size used for old mujoco-py: + # Extract depth part of the read_pixels() tuple + data = self._get_viewer(mode).read_pixels(width, height, depth=True)[1] + # original image is upside-down, so flip it + return data[::-1, :] + elif mode == 'human': + self._get_viewer(mode).render() + + def close(self): + if self.viewer is not None: + # self.viewer.finish() + self.viewer = None + self._viewers = {} + + def _get_viewer(self, mode): + self.viewer = self._viewers.get(mode) + if self.viewer is None: + if mode == 'human': + self.viewer = mujoco_py.MjViewer(self.sim) + elif mode == 'rgb_array' or mode == 'depth_array': + self.viewer = mujoco_py.MjRenderContextOffscreen(self.sim, -1) + + self.viewer_setup() + self._viewers[mode] = self.viewer + return self.viewer + + def get_body_com(self, body_name): + return self.data.get_body_xpos(body_name) + + def state_vector(self): + return np.concatenate([ + self.sim.data.qpos.flat, + self.sim.data.qvel.flat + ]) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/pusher.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/pusher.py new file mode 100644 index 0000000000000000000000000000000000000000..78670e64b10214577b90c34a8166829601af7eb1 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/pusher.py @@ -0,0 +1,57 @@ +import numpy as np +from gym import utils +from gym.envs.mujoco import mujoco_env + +import mujoco_py + +class PusherEnv(mujoco_env.MujocoEnv, utils.EzPickle): + def __init__(self): + utils.EzPickle.__init__(self) + mujoco_env.MujocoEnv.__init__(self, 'pusher.xml', 5) + + def step(self, a): + vec_1 = self.get_body_com("object") - self.get_body_com("tips_arm") + vec_2 = self.get_body_com("object") - self.get_body_com("goal") + + reward_near = - np.linalg.norm(vec_1) + reward_dist = - np.linalg.norm(vec_2) + reward_ctrl = - np.square(a).sum() + reward = reward_dist + 0.1 * reward_ctrl + 0.5 * reward_near + + self.do_simulation(a, self.frame_skip) + ob = self._get_obs() + done = False + return ob, reward, done, dict(reward_dist=reward_dist, + reward_ctrl=reward_ctrl) + + def viewer_setup(self): + self.viewer.cam.trackbodyid = -1 + self.viewer.cam.distance = 4.0 + + def reset_model(self): + qpos = self.init_qpos + + self.goal_pos = np.asarray([0, 0]) + while True: + self.cylinder_pos = np.concatenate([ + self.np_random.uniform(low=-0.3, high=0, size=1), + self.np_random.uniform(low=-0.2, high=0.2, size=1)]) + if np.linalg.norm(self.cylinder_pos - self.goal_pos) > 0.17: + break + + qpos[-4:-2] = self.cylinder_pos + qpos[-2:] = self.goal_pos + qvel = self.init_qvel + self.np_random.uniform(low=-0.005, + high=0.005, size=self.model.nv) + qvel[-4:] = 0 + self.set_state(qpos, qvel) + return self._get_obs() + + def _get_obs(self): + return np.concatenate([ + self.sim.data.qpos.flat[:7], + self.sim.data.qvel.flat[:7], + self.get_body_com("tips_arm"), + self.get_body_com("object"), + self.get_body_com("goal"), + ]) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/reacher.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/reacher.py new file mode 100644 index 0000000000000000000000000000000000000000..dad343c5bbf5c0a3cb5a3cf92343b374db940d9c --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/reacher.py @@ -0,0 +1,43 @@ +import numpy as np +from gym import utils +from gym.envs.mujoco import mujoco_env + +class ReacherEnv(mujoco_env.MujocoEnv, utils.EzPickle): + def __init__(self): + utils.EzPickle.__init__(self) + mujoco_env.MujocoEnv.__init__(self, 'reacher.xml', 2) + + def step(self, a): + vec = self.get_body_com("fingertip")-self.get_body_com("target") + reward_dist = - np.linalg.norm(vec) + reward_ctrl = - np.square(a).sum() + reward = reward_dist + reward_ctrl + self.do_simulation(a, self.frame_skip) + ob = self._get_obs() + done = False + return ob, reward, done, dict(reward_dist=reward_dist, reward_ctrl=reward_ctrl) + + def viewer_setup(self): + self.viewer.cam.trackbodyid = 0 + + def reset_model(self): + qpos = self.np_random.uniform(low=-0.1, high=0.1, size=self.model.nq) + self.init_qpos + while True: + self.goal = self.np_random.uniform(low=-.2, high=.2, size=2) + if np.linalg.norm(self.goal) < 0.2: + break + qpos[-2:] = self.goal + qvel = self.init_qvel + self.np_random.uniform(low=-.005, high=.005, size=self.model.nv) + qvel[-2:] = 0 + self.set_state(qpos, qvel) + return self._get_obs() + + def _get_obs(self): + theta = self.sim.data.qpos.flat[:2] + return np.concatenate([ + np.cos(theta), + np.sin(theta), + self.sim.data.qpos.flat[2:], + self.sim.data.qvel.flat[:2], + self.get_body_com("fingertip") - self.get_body_com("target") + ]) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/striker.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/striker.py new file mode 100644 index 0000000000000000000000000000000000000000..2efb27e06882f6ae0a493997db06c5ed33b6e3f2 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/striker.py @@ -0,0 +1,75 @@ +import numpy as np +from gym import utils +from gym.envs.mujoco import mujoco_env + +class StrikerEnv(mujoco_env.MujocoEnv, utils.EzPickle): + def __init__(self): + utils.EzPickle.__init__(self) + self._striked = False + self._min_strike_dist = np.inf + self.strike_threshold = 0.1 + mujoco_env.MujocoEnv.__init__(self, 'striker.xml', 5) + + def step(self, a): + vec_1 = self.get_body_com("object") - self.get_body_com("tips_arm") + vec_2 = self.get_body_com("object") - self.get_body_com("goal") + self._min_strike_dist = min(self._min_strike_dist, np.linalg.norm(vec_2)) + + if np.linalg.norm(vec_1) < self.strike_threshold: + self._striked = True + self._strike_pos = self.get_body_com("tips_arm") + + if self._striked: + vec_3 = self.get_body_com("object") - self._strike_pos + reward_near = - np.linalg.norm(vec_3) + else: + reward_near = - np.linalg.norm(vec_1) + + reward_dist = - np.linalg.norm(self._min_strike_dist) + reward_ctrl = - np.square(a).sum() + reward = 3 * reward_dist + 0.1 * reward_ctrl + 0.5 * reward_near + + self.do_simulation(a, self.frame_skip) + ob = self._get_obs() + done = False + return ob, reward, done, dict(reward_dist=reward_dist, + reward_ctrl=reward_ctrl) + + def viewer_setup(self): + self.viewer.cam.trackbodyid = 0 + self.viewer.cam.distance = 4.0 + + def reset_model(self): + self._min_strike_dist = np.inf + self._striked = False + self._strike_pos = None + + qpos = self.init_qpos + + self.ball = np.array([0.5, -0.175]) + while True: + self.goal = np.concatenate([ + self.np_random.uniform(low=0.15, high=0.7, size=1), + self.np_random.uniform(low=0.1, high=1.0, size=1)]) + if np.linalg.norm(self.ball - self.goal) > 0.17: + break + + qpos[-9:-7] = [self.ball[1], self.ball[0]] + qpos[-7:-5] = self.goal + diff = self.ball - self.goal + angle = -np.arctan(diff[0] / (diff[1] + 1e-8)) + qpos[-1] = angle / 3.14 + qvel = self.init_qvel + self.np_random.uniform(low=-.1, high=.1, + size=self.model.nv) + qvel[7:] = 0 + self.set_state(qpos, qvel) + return self._get_obs() + + def _get_obs(self): + return np.concatenate([ + self.sim.data.qpos.flat[:7], + self.sim.data.qvel.flat[:7], + self.get_body_com("tips_arm"), + self.get_body_com("object"), + self.get_body_com("goal"), + ]) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/swimmer.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/swimmer.py new file mode 100644 index 0000000000000000000000000000000000000000..42574fa3507f7c4c7cccbb697d5aa880dd15fb0f --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/swimmer.py @@ -0,0 +1,31 @@ +import numpy as np +from gym import utils +from gym.envs.mujoco import mujoco_env + +class SwimmerEnv(mujoco_env.MujocoEnv, utils.EzPickle): + def __init__(self): + mujoco_env.MujocoEnv.__init__(self, 'swimmer.xml', 4) + utils.EzPickle.__init__(self) + + def step(self, a): + ctrl_cost_coeff = 0.0001 + xposbefore = self.sim.data.qpos[0] + self.do_simulation(a, self.frame_skip) + xposafter = self.sim.data.qpos[0] + reward_fwd = (xposafter - xposbefore) / self.dt + reward_ctrl = - ctrl_cost_coeff * np.square(a).sum() + reward = reward_fwd + reward_ctrl + ob = self._get_obs() + return ob, reward, False, dict(reward_fwd=reward_fwd, reward_ctrl=reward_ctrl) + + def _get_obs(self): + qpos = self.sim.data.qpos + qvel = self.sim.data.qvel + return np.concatenate([qpos.flat[2:], qvel.flat]) + + def reset_model(self): + self.set_state( + self.init_qpos + self.np_random.uniform(low=-.1, high=.1, size=self.model.nq), + self.init_qvel + self.np_random.uniform(low=-.1, high=.1, size=self.model.nv) + ) + return self._get_obs() diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/swimmer_v3.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/swimmer_v3.py new file mode 100644 index 0000000000000000000000000000000000000000..96a110b1b937ea5b93849845082c6990d900ead3 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/swimmer_v3.py @@ -0,0 +1,92 @@ +import numpy as np +from gym.envs.mujoco import mujoco_env +from gym import utils + + +DEFAULT_CAMERA_CONFIG = {} + + +class SwimmerEnv(mujoco_env.MujocoEnv, utils.EzPickle): + def __init__(self, + xml_file='swimmer.xml', + forward_reward_weight=1.0, + ctrl_cost_weight=1e-4, + reset_noise_scale=0.1, + exclude_current_positions_from_observation=True, + rgb_rendering_tracking=True): + utils.EzPickle.__init__(**locals()) + + self._forward_reward_weight = forward_reward_weight + self._ctrl_cost_weight = ctrl_cost_weight + + self._reset_noise_scale = reset_noise_scale + + self._exclude_current_positions_from_observation = ( + exclude_current_positions_from_observation) + + mujoco_env.MujocoEnv.__init__(self, xml_file, 4, rgb_rendering_tracking=rgb_rendering_tracking) + + def control_cost(self, action): + control_cost = self._ctrl_cost_weight * np.sum(np.square(action)) + return control_cost + + def step(self, action): + xy_position_before = self.sim.data.qpos[0:2].copy() + self.do_simulation(action, self.frame_skip) + xy_position_after = self.sim.data.qpos[0:2].copy() + + xy_velocity = (xy_position_after - xy_position_before) / self.dt + x_velocity, y_velocity = xy_velocity + + forward_reward = self._forward_reward_weight * x_velocity + + ctrl_cost = self.control_cost(action) + + observation = self._get_obs() + reward = forward_reward - ctrl_cost + done = False + info = { + 'reward_fwd': forward_reward, + 'reward_ctrl': -ctrl_cost, + + 'x_position': xy_position_after[0], + 'y_position': xy_position_after[1], + 'distance_from_origin': np.linalg.norm(xy_position_after, ord=2), + + 'x_velocity': x_velocity, + 'y_velocity': y_velocity, + 'forward_reward': forward_reward, + } + + return observation, reward, done, info + + def _get_obs(self): + position = self.sim.data.qpos.flat.copy() + velocity = self.sim.data.qvel.flat.copy() + + if self._exclude_current_positions_from_observation: + position = position[2:] + + observation = np.concatenate([position, velocity]).ravel() + return observation + + def reset_model(self): + noise_low = -self._reset_noise_scale + noise_high = self._reset_noise_scale + + qpos = self.init_qpos + self.np_random.uniform( + low=noise_low, high=noise_high, size=self.model.nq) + qvel = self.init_qvel + self.np_random.uniform( + low=noise_low, high=noise_high, size=self.model.nv) + + self.set_state(qpos, qvel) + + observation = self._get_obs() + return observation + + def viewer_setup(self): + for key, value in DEFAULT_CAMERA_CONFIG.items(): + if isinstance(value, np.ndarray): + getattr(self.viewer.cam, key)[:] = value + else: + setattr(self.viewer.cam, key, value) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/thrower.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/thrower.py new file mode 100644 index 0000000000000000000000000000000000000000..1e8ca8d4679bc7cdb7078aed9868c9f4808e083f --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/thrower.py @@ -0,0 +1,60 @@ +import numpy as np +from gym import utils +from gym.envs.mujoco import mujoco_env + +class ThrowerEnv(mujoco_env.MujocoEnv, utils.EzPickle): + def __init__(self): + utils.EzPickle.__init__(self) + self._ball_hit_ground = False + self._ball_hit_location = None + mujoco_env.MujocoEnv.__init__(self, 'thrower.xml', 5) + + def step(self, a): + ball_xy = self.get_body_com("ball")[:2] + goal_xy = self.get_body_com("goal")[:2] + + if not self._ball_hit_ground and self.get_body_com("ball")[2] < -0.25: + self._ball_hit_ground = True + self._ball_hit_location = self.get_body_com("ball") + + if self._ball_hit_ground: + ball_hit_xy = self._ball_hit_location[:2] + reward_dist = -np.linalg.norm(ball_hit_xy - goal_xy) + else: + reward_dist = -np.linalg.norm(ball_xy - goal_xy) + reward_ctrl = - np.square(a).sum() + + reward = reward_dist + 0.002 * reward_ctrl + self.do_simulation(a, self.frame_skip) + ob = self._get_obs() + done = False + return ob, reward, done, dict(reward_dist=reward_dist, + reward_ctrl=reward_ctrl) + + def viewer_setup(self): + self.viewer.cam.trackbodyid = 0 + self.viewer.cam.distance = 4.0 + + def reset_model(self): + self._ball_hit_ground = False + self._ball_hit_location = None + + qpos = self.init_qpos + self.goal = np.array([self.np_random.uniform(low=-0.3, high=0.3), + self.np_random.uniform(low=-0.3, high=0.3)]) + + qpos[-9:-7] = self.goal + qvel = self.init_qvel + self.np_random.uniform(low=-0.005, + high=0.005, size=self.model.nv) + qvel[7:] = 0 + self.set_state(qpos, qvel) + return self._get_obs() + + def _get_obs(self): + return np.concatenate([ + self.sim.data.qpos.flat[:7], + self.sim.data.qvel.flat[:7], + self.get_body_com("r_wrist_roll_link"), + self.get_body_com("ball"), + self.get_body_com("goal"), + ]) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/walker2d.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/walker2d.py new file mode 100644 index 0000000000000000000000000000000000000000..805f2dd591a89f3a2ff0c8fa794c8eb9ab57ce9c --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/walker2d.py @@ -0,0 +1,40 @@ +import numpy as np +from gym import utils +from gym.envs.mujoco import mujoco_env + +class Walker2dEnv(mujoco_env.MujocoEnv, utils.EzPickle): + + def __init__(self): + mujoco_env.MujocoEnv.__init__(self, "walker2d.xml", 4) + utils.EzPickle.__init__(self) + + def step(self, a): + posbefore = self.sim.data.qpos[0] + self.do_simulation(a, self.frame_skip) + posafter, height, ang = self.sim.data.qpos[0:3] + alive_bonus = 1.0 + reward = ((posafter - posbefore) / self.dt) + reward += alive_bonus + reward -= 1e-3 * np.square(a).sum() + done = not (height > 0.8 and height < 2.0 and + ang > -1.0 and ang < 1.0) + ob = self._get_obs() + return ob, reward, done, {} + + def _get_obs(self): + qpos = self.sim.data.qpos + qvel = self.sim.data.qvel + return np.concatenate([qpos[1:], np.clip(qvel, -10, 10)]).ravel() + + def reset_model(self): + self.set_state( + self.init_qpos + self.np_random.uniform(low=-.005, high=.005, size=self.model.nq), + self.init_qvel + self.np_random.uniform(low=-.005, high=.005, size=self.model.nv) + ) + return self._get_obs() + + def viewer_setup(self): + self.viewer.cam.trackbodyid = 2 + self.viewer.cam.distance = self.model.stat.extent * 0.5 + self.viewer.cam.lookat[2] = 1.15 + self.viewer.cam.elevation = -20 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/walker2d_v3.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/walker2d_v3.py new file mode 100644 index 0000000000000000000000000000000000000000..e8c13146b88a04caab616c24f2e663d0dd33704d --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/mujoco/walker2d_v3.py @@ -0,0 +1,130 @@ +import numpy as np +from gym.envs.mujoco import mujoco_env +from gym import utils + + +DEFAULT_CAMERA_CONFIG = { + 'trackbodyid': 2, + 'distance': 4.0, + 'lookat': np.array((0.0, 0.0, 1.15)), + 'elevation': -20.0, +} + + +class Walker2dEnv(mujoco_env.MujocoEnv, utils.EzPickle): + def __init__(self, + xml_file='walker2d.xml', + forward_reward_weight=1.0, + ctrl_cost_weight=1e-3, + healthy_reward=1.0, + terminate_when_unhealthy=True, + healthy_z_range=(0.8, 2.0), + healthy_angle_range=(-1.0, 1.0), + reset_noise_scale=5e-3, + exclude_current_positions_from_observation=True, + rgb_rendering_tracking=True): + utils.EzPickle.__init__(**locals()) + + self._forward_reward_weight = forward_reward_weight + self._ctrl_cost_weight = ctrl_cost_weight + + self._healthy_reward = healthy_reward + self._terminate_when_unhealthy = terminate_when_unhealthy + + self._healthy_z_range = healthy_z_range + self._healthy_angle_range = healthy_angle_range + + self._reset_noise_scale = reset_noise_scale + + self._exclude_current_positions_from_observation = ( + exclude_current_positions_from_observation) + + mujoco_env.MujocoEnv.__init__(self, xml_file, 4, rgb_rendering_tracking=rgb_rendering_tracking) + + @property + def healthy_reward(self): + return float( + self.is_healthy + or self._terminate_when_unhealthy + ) * self._healthy_reward + + def control_cost(self, action): + control_cost = self._ctrl_cost_weight * np.sum(np.square(action)) + return control_cost + + @property + def is_healthy(self): + z, angle = self.sim.data.qpos[1:3] + + min_z, max_z = self._healthy_z_range + min_angle, max_angle = self._healthy_angle_range + + healthy_z = min_z < z < max_z + healthy_angle = min_angle < angle < max_angle + is_healthy = healthy_z and healthy_angle + + return is_healthy + + @property + def done(self): + done = (not self.is_healthy + if self._terminate_when_unhealthy + else False) + return done + + def _get_obs(self): + position = self.sim.data.qpos.flat.copy() + velocity = np.clip( + self.sim.data.qvel.flat.copy(), -10, 10) + + if self._exclude_current_positions_from_observation: + position = position[1:] + + observation = np.concatenate((position, velocity)).ravel() + return observation + + def step(self, action): + x_position_before = self.sim.data.qpos[0] + self.do_simulation(action, self.frame_skip) + x_position_after = self.sim.data.qpos[0] + x_velocity = ((x_position_after - x_position_before) + / self.dt) + + ctrl_cost = self.control_cost(action) + + forward_reward = self._forward_reward_weight * x_velocity + healthy_reward = self.healthy_reward + + rewards = forward_reward + healthy_reward + costs = ctrl_cost + + observation = self._get_obs() + reward = rewards - costs + done = self.done + info = { + 'x_position': x_position_after, + 'x_velocity': x_velocity, + } + + return observation, reward, done, info + + def reset_model(self): + noise_low = -self._reset_noise_scale + noise_high = self._reset_noise_scale + + qpos = self.init_qpos + self.np_random.uniform( + low=noise_low, high=noise_high, size=self.model.nq) + qvel = self.init_qvel + self.np_random.uniform( + low=noise_low, high=noise_high, size=self.model.nv) + + self.set_state(qpos, qvel) + + observation = self._get_obs() + return observation + + def viewer_setup(self): + for key, value in DEFAULT_CAMERA_CONFIG.items(): + if isinstance(value, np.ndarray): + getattr(self.viewer.cam, key)[:] = value + else: + setattr(self.viewer.cam, key, value) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/registration.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/registration.py new file mode 100644 index 0000000000000000000000000000000000000000..5cd3c06ba70f23afb8281cb0a56984c2125ede2c --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/registration.py @@ -0,0 +1,180 @@ +import re +import importlib +import warnings + +from gym import error, logger + +# This format is true today, but it's *not* an official spec. +# [username/](env-name)-v(version) env-name is group 1, version is group 2 +# +# 2016-10-31: We're experimentally expanding the environment ID format +# to include an optional username. +env_id_re = re.compile(r'^(?:[\w:-]+\/)?([\w:.-]+)-v(\d+)$') + + +def load(name): + mod_name, attr_name = name.split(":") + mod = importlib.import_module(mod_name) + fn = getattr(mod, attr_name) + return fn + + +class EnvSpec(object): + """A specification for a particular instance of the environment. Used + to register the parameters for official evaluations. + + Args: + id (str): The official environment ID + entry_point (Optional[str]): The Python entrypoint of the environment class (e.g. module.name:Class) + reward_threshold (Optional[int]): The reward threshold before the task is considered solved + kwargs (dict): The kwargs to pass to the environment class + nondeterministic (bool): Whether this environment is non-deterministic even after seeding + tags (dict[str:any]): A set of arbitrary key-value tags on this environment, including simple property=True tags + max_episode_steps (Optional[int]): The maximum number of steps that an episode can consist of + + Attributes: + id (str): The official environment ID + """ + + def __init__(self, id, entry_point=None, reward_threshold=None, kwargs=None, nondeterministic=False, tags=None, max_episode_steps=None): + self.id = id + # Evaluation parameters + self.reward_threshold = reward_threshold + # Environment properties + self.nondeterministic = nondeterministic + + if tags is None: + tags = {} + self.tags = tags + + tags['wrapper_config.TimeLimit.max_episode_steps'] = max_episode_steps + + self.max_episode_steps = max_episode_steps + + # We may make some of these other parameters public if they're + # useful. + match = env_id_re.search(id) + if not match: + raise error.Error('Attempted to register malformed environment ID: {}. (Currently all IDs must be of the form {}.)'.format(id, env_id_re.pattern)) + self._env_name = match.group(1) + self._entry_point = entry_point + self._kwargs = {} if kwargs is None else kwargs + + def make(self, **kwargs): + """Instantiates an instance of the environment with appropriate kwargs""" + if self._entry_point is None: + raise error.Error('Attempting to make deprecated env {}. (HINT: is there a newer registered version of this env?)'.format(self.id)) + _kwargs = self._kwargs.copy() + _kwargs.update(kwargs) + if callable(self._entry_point): + env = self._entry_point(**_kwargs) + else: + cls = load(self._entry_point) + env = cls(**_kwargs) + + # Make the enviroment aware of which spec it came from. + env.unwrapped.spec = self + + return env + + def __repr__(self): + return "EnvSpec({})".format(self.id) + + +class EnvRegistry(object): + """Register an env by ID. IDs remain stable over time and are + guaranteed to resolve to the same environment dynamics (or be + desupported). The goal is that results on a particular environment + should always be comparable, and not depend on the version of the + code that was running. + """ + + def __init__(self): + self.env_specs = {} + + def make(self, path, **kwargs): + if len(kwargs) > 0: + logger.info('Making new env: %s (%s)', path, kwargs) + else: + logger.info('Making new env: %s', path) + spec = self.spec(path) + env = spec.make(**kwargs) + # We used to have people override _reset/_step rather than + # reset/step. Set _gym_disable_underscore_compat = True on + # your environment if you use these methods and don't want + # compatibility code to be invoked. + if hasattr(env, "_reset") and hasattr(env, "_step") and not getattr(env, "_gym_disable_underscore_compat", False): + patch_deprecated_methods(env) + if (env.spec.max_episode_steps is not None) and not spec.tags.get('vnc'): + from gym.wrappers.time_limit import TimeLimit + env = TimeLimit(env, max_episode_steps=env.spec.max_episode_steps) + return env + + def all(self): + return self.env_specs.values() + + def spec(self, path): + if ':' in path: + mod_name, _sep, id = path.partition(':') + try: + importlib.import_module(mod_name) + # catch ImportError for python2.7 compatibility + except ImportError: + raise error.Error('A module ({}) was specified for the environment but was not found, make sure the package is installed with `pip install` before calling `gym.make()`'.format(mod_name)) + else: + id = path + + match = env_id_re.search(id) + if not match: + raise error.Error('Attempted to look up malformed environment ID: {}. (Currently all IDs must be of the form {}.)'.format(id.encode('utf-8'), env_id_re.pattern)) + + try: + return self.env_specs[id] + except KeyError: + # Parse the env name and check to see if it matches the non-version + # part of a valid env (could also check the exact number here) + env_name = match.group(1) + matching_envs = [valid_env_name for valid_env_name, valid_env_spec in self.env_specs.items() + if env_name == valid_env_spec._env_name] + if matching_envs: + raise error.DeprecatedEnv('Env {} not found (valid versions include {})'.format(id, matching_envs)) + else: + raise error.UnregisteredEnv('No registered env with id: {}'.format(id)) + + def register(self, id, **kwargs): + if id in self.env_specs: + raise error.Error('Cannot re-register id: {}'.format(id)) + self.env_specs[id] = EnvSpec(id, **kwargs) + +# Have a global registry +registry = EnvRegistry() + +def register(id, **kwargs): + return registry.register(id, **kwargs) + +def make(id, **kwargs): + return registry.make(id, **kwargs) + +def spec(id): + return registry.spec(id) + +warn_once = True + +def patch_deprecated_methods(env): + """ + Methods renamed from '_method' to 'method', render() no longer has 'close' parameter, close is a separate method. + For backward compatibility, this makes it possible to work with unmodified environments. + """ + global warn_once + if warn_once: + logger.warn("Environment '%s' has deprecated methods '_step' and '_reset' rather than 'step' and 'reset'. Compatibility code invoked. Set _gym_disable_underscore_compat = True to disable this behavior." % str(type(env))) + warn_once = False + env.reset = env._reset + env.step = env._step + env.seed = env._seed + def render(mode): + return env._render(mode, close=False) + def close(): + env._render("human", close=True) + env.render = render + env.close = close diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..8ff166314aba399f33753297288a3028447cdea3 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/__init__.py @@ -0,0 +1,14 @@ +from gym.envs.robotics.fetch_env import FetchEnv +from gym.envs.robotics.fetch.slide import FetchSlideEnv +from gym.envs.robotics.fetch.pick_and_place import FetchPickAndPlaceEnv +from gym.envs.robotics.fetch.push import FetchPushEnv +from gym.envs.robotics.fetch.reach import FetchReachEnv + +from gym.envs.robotics.hand.reach import HandReachEnv +from gym.envs.robotics.hand.manipulate import HandBlockEnv +from gym.envs.robotics.hand.manipulate import HandEggEnv +from gym.envs.robotics.hand.manipulate import HandPenEnv + +from gym.envs.robotics.hand.manipulate_touch_sensors import HandBlockTouchSensorsEnv +from gym.envs.robotics.hand.manipulate_touch_sensors import HandEggTouchSensorsEnv +from gym.envs.robotics.hand.manipulate_touch_sensors import HandPenTouchSensorsEnv diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/LICENSE.md b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/LICENSE.md new file mode 100644 index 0000000000000000000000000000000000000000..22ce9010d0b834098905c5b631e780723def824f --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/LICENSE.md @@ -0,0 +1,222 @@ +# Fetch Robotics +The model of the [Fetch](http://fetchrobotics.com/platforms-research-development/) is based on [models provided by Fetch](https://github.com/fetchrobotics/fetch_ros/tree/indigo-devel/fetch_description). It was adapted and refined by OpenAI. + +# ShadowHand +The model of the [ShadowHand](https://www.shadowrobot.com/products/dexterous-hand/) is based on [models provided by ShadowRobot](https://github.com/shadow-robot/sr_common/tree/kinetic-devel/sr_description/hand/model), and on code used under the following license: + +(C) Vikash Kumar, CSE, UW. Licensed under Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0. Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +Additional license notices: + + Sources : 1) Manipulator and Manipulation in High Dimensional Spaces. Vikash Kumar, Ph.D. Thesis, CSE, Univ. of Washington. 2016. + + Mujoco :: Advanced physics simulation engine + Source : www.roboti.us + Version : 1.40 + Released : 17Jan'17 + + Author :: Vikash Kumar + Contacts : vikash@openai.com + Last edits : 3Apr'17 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/pick_and_place.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/pick_and_place.xml new file mode 100644 index 0000000000000000000000000000000000000000..337032a8329bcbbd21231fe063c0df39e4ee95b4 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/pick_and_place.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<mujoco> + <compiler angle="radian" coordinate="local" meshdir="../stls/fetch" texturedir="../textures"></compiler> + <option timestep="0.002"> + <flag warmstart="enable"></flag> + </option> + + <include file="shared.xml"></include> + + <worldbody> + <geom name="floor0" pos="0.8 0.75 0" size="0.85 0.7 1" type="plane" condim="3" material="floor_mat"></geom> + <body name="floor0" pos="0.8 0.75 0"> + <site name="target0" pos="0 0 0.5" size="0.02 0.02 0.02" rgba="1 0 0 1" type="sphere"></site> + </body> + + <include file="robot.xml"></include> + + <body pos="1.3 0.75 0.2" name="table0"> + <geom size="0.25 0.35 0.2" type="box" mass="2000" material="table_mat"></geom> + </body> + + <body name="object0" pos="0.025 0.025 0.025"> + <joint name="object0:joint" type="free" damping="0.01"></joint> + <geom size="0.025 0.025 0.025" type="box" condim="3" name="object0" material="block_mat" mass="2"></geom> + <site name="object0" pos="0 0 0" size="0.02 0.02 0.02" rgba="1 0 0 1" type="sphere"></site> + </body> + + <light directional="true" ambient="0.2 0.2 0.2" diffuse="0.8 0.8 0.8" specular="0.3 0.3 0.3" castshadow="false" pos="0 0 4" dir="0 0 -1" name="light0"></light> + </worldbody> + + <actuator> + <position ctrllimited="true" ctrlrange="0 0.2" joint="robot0:l_gripper_finger_joint" kp="30000" name="robot0:l_gripper_finger_joint" user="1"></position> + <position ctrllimited="true" ctrlrange="0 0.2" joint="robot0:r_gripper_finger_joint" kp="30000" name="robot0:r_gripper_finger_joint" user="1"></position> + </actuator> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/push.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/push.xml new file mode 100644 index 0000000000000000000000000000000000000000..8e12db248c10708362338126f9eb6bcae1cdd9da --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/push.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?> +<mujoco> + <compiler angle="radian" coordinate="local" meshdir="../stls/fetch" texturedir="../textures"></compiler> + <option timestep="0.002"> + <flag warmstart="enable"></flag> + </option> + + <include file="shared.xml"></include> + + <worldbody> + <geom name="floor0" pos="0.8 0.75 0" size="0.85 0.70 1" type="plane" condim="3" material="floor_mat"></geom> + <body name="floor0" pos="0.8 0.75 0"> + <site name="target0" pos="0 0 0.5" size="0.02 0.02 0.02" rgba="1 0 0 1" type="sphere"></site> + </body> + + <include file="robot.xml"></include> + + <body pos="1.3 0.75 0.2" name="table0"> + <geom size="0.25 0.35 0.2" type="box" mass="2000" material="table_mat"></geom> + </body> + + <body name="object0" pos="0.025 0.025 0.025"> + <joint name="object0:joint" type="free" damping="0.01"></joint> + <geom size="0.025 0.025 0.025" type="box" condim="3" name="object0" material="block_mat" mass="2"></geom> + <site name="object0" pos="0 0 0" size="0.02 0.02 0.02" rgba="1 0 0 1" type="sphere"></site> + </body> + + <light directional="true" ambient="0.2 0.2 0.2" diffuse="0.8 0.8 0.8" specular="0.3 0.3 0.3" castshadow="false" pos="0 0 4" dir="0 0 -1" name="light0"></light> + </worldbody> + + <actuator></actuator> +</mujoco> \ No newline at end of file diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/reach.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/reach.xml new file mode 100644 index 0000000000000000000000000000000000000000..c73d6249f3d809336c91798ee10dd57df73de4df --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/reach.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<mujoco> + <compiler angle="radian" coordinate="local" meshdir="../stls/fetch" texturedir="../textures"></compiler> + <option timestep="0.002"> + <flag warmstart="enable"></flag> + </option> + + <include file="shared.xml"></include> + + <worldbody> + <geom name="floor0" pos="0.8 0.75 0" size="0.85 0.7 1" type="plane" condim="3" material="floor_mat"></geom> + <body name="floor0" pos="0.8 0.75 0"> + <site name="target0" pos="0 0 0.5" size="0.02 0.02 0.02" rgba="1 0 0 1" type="sphere"></site> + </body> + + <include file="robot.xml"></include> + + <body pos="1.3 0.75 0.2" name="table0"> + <geom size="0.25 0.35 0.2" type="box" mass="2000" material="table_mat"></geom> + </body> + + <light directional="true" ambient="0.2 0.2 0.2" diffuse="0.8 0.8 0.8" specular="0.3 0.3 0.3" castshadow="false" pos="0 0 4" dir="0 0 -1" name="light0"></light> + </worldbody> + + <actuator></actuator> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/robot.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/robot.xml new file mode 100644 index 0000000000000000000000000000000000000000..9ee7723b5eeda0416f56ca826ca8ad0242eed0a6 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/robot.xml @@ -0,0 +1,123 @@ +<mujoco> + <body mocap="true" name="robot0:mocap" pos="0 0 0"> + <geom conaffinity="0" contype="0" pos="0 0 0" rgba="0 0.5 0 0.7" size="0.005 0.005 0.005" type="box"></geom> + <geom conaffinity="0" contype="0" pos="0 0 0" rgba="0 0.5 0 0.1" size="1 0.005 0.005" type="box"></geom> + <geom conaffinity="0" contype="0" pos="0 0 0" rgba="0 0.5 0 0.1" size="0.005 1 0.001" type="box"></geom> + <geom conaffinity="0" contype="0" pos="0 0 0" rgba="0 0.5 0 0.1" size="0.005 0.005 1" type="box"></geom> + </body> + <body childclass="robot0:fetch" name="robot0:base_link" pos="0.2869 0.2641 0"> + <joint armature="0.0001" axis="1 0 0" damping="1e+11" name="robot0:slide0" pos="0 0 0" type="slide"></joint> + <joint armature="0.0001" axis="0 1 0" damping="1e+11" name="robot0:slide1" pos="0 0 0" type="slide"></joint> + <joint armature="0.0001" axis="0 0 1" damping="1e+11" name="robot0:slide2" pos="0 0 0" type="slide"></joint> + <inertial diaginertia="1.2869 1.2236 0.9868" mass="70.1294" pos="-0.0036 0 0.0014" quat="0.7605 -0.0133 -0.0061 0.6491"></inertial> + <geom mesh="robot0:base_link" name="robot0:base_link" material="robot0:base_mat" class="robot0:grey"></geom> + <body name="robot0:torso_lift_link" pos="-0.0869 0 0.3774"> + <inertial diaginertia="0.3365 0.3354 0.0943" mass="10.7796" pos="-0.0013 -0.0009 0.2935" quat="0.9993 -0.0006 0.0336 0.0185"></inertial> + <joint axis="0 0 1" damping="1e+07" name="robot0:torso_lift_joint" range="0.0386 0.3861" type="slide"></joint> + <geom mesh="robot0:torso_lift_link" name="robot0:torso_lift_link" material="robot0:torso_mat"></geom> + <body name="robot0:head_pan_link" pos="0.0531 0 0.603"> + <inertial diaginertia="0.0185 0.0128 0.0095" mass="2.2556" pos="0.0321 0.0161 0.039" quat="0.5148 0.5451 -0.453 0.4823"></inertial> + <joint axis="0 0 1" name="robot0:head_pan_joint" range="-1.57 1.57"></joint> + <geom mesh="robot0:head_pan_link" name="robot0:head_pan_link" material="robot0:head_mat" class="robot0:grey"></geom> + <body name="robot0:head_tilt_link" pos="0.1425 0 0.058"> + <inertial diaginertia="0.0063 0.0059 0.0014" mass="0.9087" pos="0.0081 0.0025 0.0113" quat="0.6458 0.66 -0.274 0.2689"></inertial> + <joint axis="0 1 0" damping="1000" name="robot0:head_tilt_joint" range="-0.76 1.45" ref="0.06"></joint> + <geom mesh="robot0:head_tilt_link" name="robot0:head_tilt_link" material="robot0:head_mat" class="robot0:blue"></geom> + <body name="robot0:head_camera_link" pos="0.055 0 0.0225"> + <inertial diaginertia="0 0 0" mass="0" pos="0.055 0 0.0225"></inertial> + <body name="robot0:head_camera_rgb_frame" pos="0 0.02 0"> + <inertial diaginertia="0 0 0" mass="0" pos="0 0.02 0"></inertial> + <body name="robot0:head_camera_rgb_optical_frame" pos="0 0 0" quat="0.5 -0.5 0.5 -0.5"> + <inertial diaginertia="0 0 0" mass="0" pos="0 0 0" quat="0.5 -0.5 0.5 -0.5"></inertial> + <camera euler="3.1415 0 0" fovy="50" name="head_camera_rgb" pos="0 0 0"></camera> + </body> + </body> + <body name="robot0:head_camera_depth_frame" pos="0 0.045 0"> + <inertial diaginertia="0 0 0" mass="0" pos="0 0.045 0"></inertial> + <body name="robot0:head_camera_depth_optical_frame" pos="0 0 0" quat="0.5 -0.5 0.5 -0.5"> + <inertial diaginertia="0 0 0" mass="0" pos="0 0 0" quat="0.5 -0.5 0.5 -0.5"></inertial> + </body> + </body> + </body> + </body> + </body> + <body name="robot0:shoulder_pan_link" pos="0.1195 0 0.3486"> + <inertial diaginertia="0.009 0.0086 0.0041" mass="2.5587" pos="0.0927 -0.0056 0.0564" quat="-0.1364 0.7624 -0.1562 0.613"></inertial> + <joint axis="0 0 1" name="robot0:shoulder_pan_joint" range="-1.6056 1.6056"></joint> + <geom mesh="robot0:shoulder_pan_link" name="robot0:shoulder_pan_link" material="robot0:arm_mat"></geom> + <body name="robot0:shoulder_lift_link" pos="0.117 0 0.06"> + <inertial diaginertia="0.0116 0.0112 0.0023" mass="2.6615" pos="0.1432 0.0072 -0.0001" quat="0.4382 0.4382 0.555 0.555"></inertial> + <joint axis="0 1 0" name="robot0:shoulder_lift_joint" range="-1.221 1.518"></joint> + <geom mesh="robot0:shoulder_lift_link" name="robot0:shoulder_lift_link" material="robot0:arm_mat" class="robot0:blue"></geom> + <body name="robot0:upperarm_roll_link" pos="0.219 0 0"> + <inertial diaginertia="0.0047 0.0045 0.0019" mass="2.3311" pos="0.1165 0.0014 0" quat="-0.0136 0.707 0.0136 0.707"></inertial> + <joint axis="1 0 0" limited="false" name="robot0:upperarm_roll_joint"></joint> + <geom mesh="robot0:upperarm_roll_link" name="robot0:upperarm_roll_link" material="robot0:arm_mat"></geom> + <body name="robot0:elbow_flex_link" pos="0.133 0 0"> + <inertial diaginertia="0.0086 0.0084 0.002" mass="2.1299" pos="0.1279 0.0073 0" quat="0.4332 0.4332 0.5589 0.5589"></inertial> + <joint axis="0 1 0" name="robot0:elbow_flex_joint" range="-2.251 2.251"></joint> + <geom mesh="robot0:elbow_flex_link" name="robot0:elbow_flex_link" material="robot0:arm_mat" class="robot0:blue"></geom> + <body name="robot0:forearm_roll_link" pos="0.197 0 0"> + <inertial diaginertia="0.0035 0.0031 0.0015" mass="1.6563" pos="0.1097 -0.0266 0" quat="-0.0715 0.7035 0.0715 0.7035"></inertial> + <joint armature="2.7538" axis="1 0 0" damping="3.5247" frictionloss="0" limited="false" name="robot0:forearm_roll_joint" stiffness="10"></joint> + <geom mesh="robot0:forearm_roll_link" name="robot0:forearm_roll_link" material="robot0:arm_mat"></geom> + <body name="robot0:wrist_flex_link" pos="0.1245 0 0"> + <inertial diaginertia="0.0042 0.0042 0.0018" mass="1.725" pos="0.0882 0.0009 -0.0001" quat="0.4895 0.4895 0.5103 0.5103"></inertial> + <joint axis="0 1 0" name="robot0:wrist_flex_joint" range="-2.16 2.16"></joint> + <geom mesh="robot0:wrist_flex_link" name="robot0:wrist_flex_link" material="robot0:arm_mat" class="robot0:blue"></geom> + <body name="robot0:wrist_roll_link" pos="0.1385 0 0"> + <inertial diaginertia="0.0001 0.0001 0.0001" mass="0.1354" pos="0.0095 0.0004 -0.0002"></inertial> + <joint axis="1 0 0" limited="false" name="robot0:wrist_roll_joint"></joint> + <geom mesh="robot0:wrist_roll_link" name="robot0:wrist_roll_link" material="robot0:arm_mat"></geom> + <body euler="0 0 0" name="robot0:gripper_link" pos="0.1664 0 0"> + <inertial diaginertia="0.0024 0.0019 0.0013" mass="1.5175" pos="-0.09 -0.0001 -0.0017" quat="0 0.7071 0 0.7071"></inertial> + <geom mesh="robot0:gripper_link" name="robot0:gripper_link" material="robot0:gripper_mat"></geom> + <body name="robot0:gipper_camera_link" pos="0.055 0 0.0225"> + <body name="robot0:gripper_camera_rgb_frame" pos="0 0.02 0"> + <body name="robot0:gripper_camera_rgb_optical_frame" pos="0 0 0" quat="0.5 -0.5 0.5 -0.5"> + <camera euler="3.1415 0 0" fovy="50" name="gripper_camera_rgb" pos="0 0 0"></camera> + </body> + </body> + <body name="robot0:gripper_camera_depth_frame" pos="0 0.045 0"> + <body name="robot0:gripper_camera_depth_optical_frame" pos="0 0 0" quat="0.5 -0.5 0.5 -0.5"></body> + </body> + </body> + + <body childclass="robot0:fetchGripper" name="robot0:r_gripper_finger_link" pos="0 0.0159 0"> + <inertial diaginertia="0.1 0.1 0.1" mass="4" pos="-0.01 0 0"></inertial> + <joint axis="0 1 0" name="robot0:r_gripper_finger_joint" range="0 0.05"></joint> + <geom pos="0 -0.008 0" size="0.0385 0.007 0.0135" type="box" name="robot0:r_gripper_finger_link" material="robot0:gripper_finger_mat" condim="4" friction="1 0.05 0.01"></geom> + </body> + <body childclass="robot0:fetchGripper" name="robot0:l_gripper_finger_link" pos="0 -0.0159 0"> + <inertial diaginertia="0.1 0.1 0.1" mass="4" pos="-0.01 0 0"></inertial> + <joint axis="0 -1 0" name="robot0:l_gripper_finger_joint" range="0 0.05"></joint> + <geom pos="0 0.008 0" size="0.0385 0.007 0.0135" type="box" name="robot0:l_gripper_finger_link" material="robot0:gripper_finger_mat" condim="4" friction="1 0.05 0.01"></geom> + </body> + <site name="robot0:grip" pos="0.02 0 0" rgba="0 0 0 0" size="0.02 0.02 0.02"></site> + </body> + </body> + </body> + </body> + </body> + </body> + </body> + </body> + </body> + <body name="robot0:estop_link" pos="-0.1246 0.2389 0.3113" quat="0.7071 0.7071 0 0"> + <inertial diaginertia="0 0 0" mass="0.002" pos="0.0024 -0.0033 0.0067" quat="0.3774 -0.1814 0.1375 0.8977"></inertial> + <geom mesh="robot0:estop_link" rgba="0.8 0 0 1" name="robot0:estop_link"></geom> + </body> + <body name="robot0:laser_link" pos="0.235 0 0.2878" quat="0 1 0 0"> + <inertial diaginertia="0 0 0" mass="0.0083" pos="-0.0306 0.0007 0.0552" quat="0.5878 0.5378 -0.4578 0.3945"></inertial> + <geom mesh="robot0:laser_link" rgba="0.7922 0.8196 0.9333 1" name="robot0:laser_link"></geom> + <camera euler="1.55 -1.55 3.14" fovy="25" name="lidar" pos="0 0 0.02"></camera> + </body> + <body name="robot0:torso_fixed_link" pos="-0.0869 0 0.3774"> + <inertial diaginertia="0.3865 0.3394 0.1009" mass="13.2775" pos="-0.0722 0.0057 0.2656" quat="0.9995 0.0249 0.0177 0.011"></inertial> + <geom mesh="robot0:torso_fixed_link" name="robot0:torso_fixed_link" class="robot0:blue"></geom> + </body> + <body name="robot0:external_camera_body_0" pos="0 0 0"> + <camera euler="0 0.75 1.57" fovy="43.3" name="external_camera_0" pos="1.3 0 1.2"></camera> + </body> + </body> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/shared.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/shared.xml new file mode 100644 index 0000000000000000000000000000000000000000..5d61fef70dd10b018a216b73c023f958abaf8234 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/shared.xml @@ -0,0 +1,66 @@ +<mujoco> + <asset> + <texture type="skybox" builtin="gradient" rgb1="0.44 0.85 0.56" rgb2="0.46 0.87 0.58" width="32" height="32"></texture> + <texture name="texture_block" file="block.png" gridsize="3 4" gridlayout=".U..LFRB.D.."></texture> + + <material name="floor_mat" specular="0" shininess="0.5" reflectance="0" rgba="0.2 0.2 0.2 1"></material> + <material name="table_mat" specular="0" shininess="0.5" reflectance="0" rgba="0.93 0.93 0.93 1"></material> + <material name="block_mat" specular="0" shininess="0.5" reflectance="0" rgba="0.2 0.2 0.2 1"></material> + <material name="puck_mat" specular="0" shininess="0.5" reflectance="0" rgba="0.2 0.2 0.2 1"></material> + <material name="robot0:geomMat" shininess="0.03" specular="0.4"></material> + <material name="robot0:gripper_finger_mat" shininess="0.03" specular="0.4" reflectance="0"></material> + <material name="robot0:gripper_mat" shininess="0.03" specular="0.4" reflectance="0"></material> + <material name="robot0:arm_mat" shininess="0.03" specular="0.4" reflectance="0"></material> + <material name="robot0:head_mat" shininess="0.03" specular="0.4" reflectance="0"></material> + <material name="robot0:torso_mat" shininess="0.03" specular="0.4" reflectance="0"></material> + <material name="robot0:base_mat" shininess="0.03" specular="0.4" reflectance="0"></material> + + <mesh file="base_link_collision.stl" name="robot0:base_link"></mesh> + <mesh file="bellows_link_collision.stl" name="robot0:bellows_link"></mesh> + <mesh file="elbow_flex_link_collision.stl" name="robot0:elbow_flex_link"></mesh> + <mesh file="estop_link.stl" name="robot0:estop_link"></mesh> + <mesh file="forearm_roll_link_collision.stl" name="robot0:forearm_roll_link"></mesh> + <mesh file="gripper_link.stl" name="robot0:gripper_link"></mesh> + <mesh file="head_pan_link_collision.stl" name="robot0:head_pan_link"></mesh> + <mesh file="head_tilt_link_collision.stl" name="robot0:head_tilt_link"></mesh> + <mesh file="l_wheel_link_collision.stl" name="robot0:l_wheel_link"></mesh> + <mesh file="laser_link.stl" name="robot0:laser_link"></mesh> + <mesh file="r_wheel_link_collision.stl" name="robot0:r_wheel_link"></mesh> + <mesh file="torso_lift_link_collision.stl" name="robot0:torso_lift_link"></mesh> + <mesh file="shoulder_pan_link_collision.stl" name="robot0:shoulder_pan_link"></mesh> + <mesh file="shoulder_lift_link_collision.stl" name="robot0:shoulder_lift_link"></mesh> + <mesh file="upperarm_roll_link_collision.stl" name="robot0:upperarm_roll_link"></mesh> + <mesh file="wrist_flex_link_collision.stl" name="robot0:wrist_flex_link"></mesh> + <mesh file="wrist_roll_link_collision.stl" name="robot0:wrist_roll_link"></mesh> + <mesh file="torso_fixed_link.stl" name="robot0:torso_fixed_link"></mesh> + </asset> + + <equality> + <weld body1="robot0:mocap" body2="robot0:gripper_link" solimp="0.9 0.95 0.001" solref="0.02 1"></weld> + </equality> + + <contact> + <exclude body1="robot0:r_gripper_finger_link" body2="robot0:l_gripper_finger_link"></exclude> + <exclude body1="robot0:torso_lift_link" body2="robot0:torso_fixed_link"></exclude> + <exclude body1="robot0:torso_lift_link" body2="robot0:shoulder_pan_link"></exclude> + </contact> + + <default> + <default class="robot0:fetch"> + <geom margin="0.001" material="robot0:geomMat" rgba="1 1 1 1" solimp="0.99 0.99 0.01" solref="0.01 1" type="mesh" user="0"></geom> + <joint armature="1" damping="50" frictionloss="0" stiffness="0"></joint> + + <default class="robot0:fetchGripper"> + <geom condim="4" margin="0.001" type="box" user="0" rgba="0.356 0.361 0.376 1.0"></geom> + <joint armature="100" damping="1000" limited="true" solimplimit="0.99 0.999 0.01" solreflimit="0.01 1" type="slide"></joint> + </default> + + <default class="robot0:grey"> + <geom rgba="0.356 0.361 0.376 1.0"></geom> + </default> + <default class="robot0:blue"> + <geom rgba="0.086 0.506 0.767 1.0"></geom> + </default> + </default> + </default> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/slide.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/slide.xml new file mode 100644 index 0000000000000000000000000000000000000000..efbfb51bd06b34257d27afd107df0d7c15619fdf --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/fetch/slide.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?> +<mujoco> + <compiler angle="radian" coordinate="local" meshdir="../stls/fetch" texturedir="../textures"></compiler> + <option timestep="0.002"> + <flag warmstart="enable"></flag> + </option> + + <include file="shared.xml"></include> + + <worldbody> + <geom name="floor0" pos="1 0.75 0" size="1.05 0.7 1" type="plane" condim="3" material="floor_mat"></geom> + <body name="floor0" pos="1 0.75 0"> + <site name="target0" pos="0 0 0.5" size="0.02 0.02 0.02" rgba="1 0 0 1" type="sphere"></site> + </body> + + <include file="robot.xml"></include> + + <body name="table0" pos="1.32441906 0.75018422 0.2"> + <geom size="0.625 0.45 0.2" type="box" condim="3" name="table0" material="table_mat" mass="2000" friction="0.1 0.005 0.0001"></geom> + </body> + + <body name="object0" pos="0.025 0.025 0.02"> + <joint name="object0:joint" type="free" damping="0.01"></joint> + <geom size="0.025 0.02" type="cylinder" condim="3" name="object0" material="puck_mat" friction="0.1 0.005 0.0001" mass="2"></geom> + <site name="object0" pos="0 0 0" size="0.02 0.02 0.02" rgba="1 0 0 1" type="sphere"></site> + </body> + + <light directional="true" ambient="0.2 0.2 0.2" diffuse="0.8 0.8 0.8" specular="0.3 0.3 0.3" castshadow="false" pos="0 0 4" dir="0 0 -1" name="light0"></light> + </worldbody> + + <actuator></actuator> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_block.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_block.xml new file mode 100644 index 0000000000000000000000000000000000000000..83a6517e6cf6ecc618060346e2fb8da66b6e76ae --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_block.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<mujoco> + <compiler angle="radian" coordinate="local" meshdir="../stls/hand" texturedir="../textures"></compiler> + <option timestep="0.002" iterations="20" apirate="200"> + <flag warmstart="enable"></flag> + </option> + + <include file="shared.xml"></include> + + <asset> + <include file="shared_asset.xml"></include> + + <texture name="texture:object" file="block.png" gridsize="3 4" gridlayout=".U..LFRB.D.."></texture> + <texture name="texture:hidden" file="block_hidden.png" gridsize="3 4" gridlayout=".U..LFRB.D.."></texture> + + <material name="material:object" texture="texture:object" specular="1" shininess="0.3" reflectance="0"></material> + <material name="material:hidden" texture="texture:hidden" specular="1" shininess="0.3" reflectance="0"></material> + <material name="material:target" texture="texture:object" specular="1" shininess="0.3" reflectance="0" rgba="1 1 1 0.5"></material> + </asset> + + <worldbody> + <geom name="floor0" pos="1 1 0" size="1 1 1" type="plane" condim="3" material="floor_mat"></geom> + <body name="floor0" pos="1 1 0"></body> + + <include file="robot.xml"></include> + + <body name="object" pos="1 0.87 0.2"> + <geom name="object" type="box" size="0.025 0.025 0.025" material="material:object" condim="4" density="567"></geom> + <geom name="object_hidden" type="box" size="0.024 0.024 0.024" material="material:hidden" condim="4" contype="0" conaffinity="0" mass="0"></geom> + <site name="object:center" pos="0 0 0" rgba="1 0 0 0" size="0.01 0.01 0.01"></site> + <joint name="object:joint" type="free" damping="0.01"></joint> + </body> + <body name="target" pos="1 0.87 0.2"> + <geom name="target" type="box" size="0.025 0.025 0.025" material="material:target" condim="4" group="2" contype="0" conaffinity="0"></geom> + <site name="target:center" pos="0 0 0" rgba="1 0 0 0" size="0.01 0.01 0.01"></site> + <joint name="target:joint" type="free" damping="0.01"></joint> + </body> + + <light directional="true" ambient="0.2 0.2 0.2" diffuse="0.8 0.8 0.8" specular="0.3 0.3 0.3" castshadow="false" pos="0 1 4" dir="0 0 -1" name="light0"></light> + </worldbody> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_block_touch_sensors.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_block_touch_sensors.xml new file mode 100644 index 0000000000000000000000000000000000000000..b649f102917eb404c7278c5e7588eea6f878a364 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_block_touch_sensors.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8"?> +<mujoco> + <compiler angle="radian" coordinate="local" meshdir="../stls/hand" texturedir="../textures"></compiler> + <option timestep="0.002" iterations="20" apirate="200"> + <flag warmstart="enable"></flag> + </option> + + <include file="shared.xml"></include> + <include file="shared_touch_sensors_92.xml"></include> + + <asset> + <include file="shared_asset.xml"></include> + + <texture name="texture:object" file="block.png" gridsize="3 4" gridlayout=".U..LFRB.D.."></texture> + <texture name="texture:hidden" file="block_hidden.png" gridsize="3 4" gridlayout=".U..LFRB.D.."></texture> + + <material name="material:object" texture="texture:object" specular="1" shininess="0.3" reflectance="0"></material> + <material name="material:hidden" texture="texture:hidden" specular="1" shininess="0.3" reflectance="0"></material> + <material name="material:target" texture="texture:object" specular="1" shininess="0.3" reflectance="0" rgba="1 1 1 0.5"></material> + </asset> + + <worldbody> + <geom name="floor0" pos="1 1 0" size="1 1 1" type="plane" condim="3" material="floor_mat"></geom> + <body name="floor0" pos="1 1 0"></body> + + <include file="robot_touch_sensors_92.xml"></include> + + <body name="object" pos="1 0.87 0.2"> + <geom name="object" type="box" size="0.025 0.025 0.025" material="material:object" condim="4" density="567"></geom> + <geom name="object_hidden" type="box" size="0.024 0.024 0.024" material="material:hidden" condim="4" contype="0" conaffinity="0" mass="0"></geom> + <site name="object:center" pos="0 0 0" rgba="1 0 0 0" size="0.01 0.01 0.01"></site> + <joint name="object:joint" type="free" damping="0.01"></joint> + </body> + <body name="target" pos="1 0.87 0.2"> + <geom name="target" type="box" size="0.025 0.025 0.025" material="material:target" condim="4" group="2" contype="0" conaffinity="0"></geom> + <site name="target:center" pos="0 0 0" rgba="1 0 0 0" size="0.01 0.01 0.01"></site> + <joint name="target:joint" type="free" damping="0.01"></joint> + </body> + + <light directional="true" ambient="0.2 0.2 0.2" diffuse="0.8 0.8 0.8" specular="0.3 0.3 0.3" castshadow="false" pos="0 1 4" dir="0 0 -1" name="light0"></light> + </worldbody> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_egg.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_egg.xml new file mode 100644 index 0000000000000000000000000000000000000000..d60217f761fb63a73efb8ef47906c813f3fcadba --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_egg.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<mujoco> + <compiler angle="radian" coordinate="local" meshdir="../stls/hand" texturedir="../textures"></compiler> + <option timestep="0.002" iterations="20" apirate="200"> + <flag warmstart="enable"></flag> + </option> + + <include file="shared.xml"></include> + + <asset> + <include file="shared_asset.xml"></include> + + <texture name="texture:object" file="block.png" gridsize="3 4" gridlayout=".U..LFRB.D.."></texture> + <texture name="texture:hidden" file="block_hidden.png" gridsize="3 4" gridlayout=".U..LFRB.D.."></texture> + + <material name="material:object" texture="texture:object" specular="1" shininess="0.3" reflectance="0"></material> + <material name="material:hidden" texture="texture:hidden" specular="1" shininess="0.3" reflectance="0"></material> + <material name="material:target" texture="texture:object" specular="1" shininess="0.3" reflectance="0" rgba="1 1 1 0.5"></material> + </asset> + + <worldbody> + <geom name="floor0" pos="1 1 0" size="1 1 1" type="plane" condim="3" material="floor_mat"></geom> + <body name="floor0" pos="1 1 0"></body> + + <include file="robot.xml"></include> + + <body name="object" pos="1 0.87 0.2"> + <geom name="object" type="ellipsoid" size="0.03 0.03 0.04" material="material:object" condim="4"></geom> + <geom name="object_hidden" type="ellipsoid" size="0.029 0.029 0.03" material="material:hidden" condim="4" contype="0" conaffinity="0" mass="0"></geom> + <site name="object:center" pos="0 0 0" rgba="1 0 0 0" size="0.01 0.01 0.01"></site> + <joint name="object:joint" type="free" damping="0.01"></joint> + </body> + <body name="target" pos="1 0.87 0.2"> + <geom name="target" type="ellipsoid" size="0.03 0.03 0.04" material="material:target" condim="4" group="2" contype="0" conaffinity="0"></geom> + <site name="target:center" pos="0 0 0" rgba="1 0 0 0" size="0.01 0.01 0.01"></site> + <joint name="target:joint" type="free" damping="0.01"></joint> + </body> + + <light directional="true" ambient="0.2 0.2 0.2" diffuse="0.8 0.8 0.8" specular="0.3 0.3 0.3" castshadow="false" pos="0 1 4" dir="0 0 -1" name="light0"></light> + </worldbody> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_egg_touch_sensors.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_egg_touch_sensors.xml new file mode 100644 index 0000000000000000000000000000000000000000..73af83c0f5d485daac380ab60370b2b7fe361dbe --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_egg_touch_sensors.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8"?> +<mujoco> + <compiler angle="radian" coordinate="local" meshdir="../stls/hand" texturedir="../textures"></compiler> + <option timestep="0.002" iterations="20" apirate="200"> + <flag warmstart="enable"></flag> + </option> + + <include file="shared.xml"></include> + <include file="shared_touch_sensors_92.xml"></include> + + <asset> + <include file="shared_asset.xml"></include> + + <texture name="texture:object" file="block.png" gridsize="3 4" gridlayout=".U..LFRB.D.."></texture> + <texture name="texture:hidden" file="block_hidden.png" gridsize="3 4" gridlayout=".U..LFRB.D.."></texture> + + <material name="material:object" texture="texture:object" specular="1" shininess="0.3" reflectance="0"></material> + <material name="material:hidden" texture="texture:hidden" specular="1" shininess="0.3" reflectance="0"></material> + <material name="material:target" texture="texture:object" specular="1" shininess="0.3" reflectance="0" rgba="1 1 1 0.5"></material> + </asset> + + <worldbody> + <geom name="floor0" pos="1 1 0" size="1 1 1" type="plane" condim="3" material="floor_mat"></geom> + <body name="floor0" pos="1 1 0"></body> + + <include file="robot_touch_sensors_92.xml"></include> + + <body name="object" pos="1 0.87 0.2"> + <geom name="object" type="ellipsoid" size="0.03 0.03 0.04" material="material:object" condim="4"></geom> + <geom name="object_hidden" type="ellipsoid" size="0.029 0.029 0.03" material="material:hidden" condim="4" contype="0" conaffinity="0" mass="0"></geom> + <site name="object:center" pos="0 0 0" rgba="1 0 0 0" size="0.01 0.01 0.01"></site> + <joint name="object:joint" type="free" damping="0.01"></joint> + </body> + <body name="target" pos="1 0.87 0.2"> + <geom name="target" type="ellipsoid" size="0.03 0.03 0.04" material="material:target" condim="4" group="2" contype="0" conaffinity="0"></geom> + <site name="target:center" pos="0 0 0" rgba="1 0 0 0" size="0.01 0.01 0.01"></site> + <joint name="target:joint" type="free" damping="0.01"></joint> + </body> + + <light directional="true" ambient="0.2 0.2 0.2" diffuse="0.8 0.8 0.8" specular="0.3 0.3 0.3" castshadow="false" pos="0 1 4" dir="0 0 -1" name="light0"></light> + </worldbody> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_pen.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_pen.xml new file mode 100644 index 0000000000000000000000000000000000000000..20a6fb5e06d745a45435c673c488eb516f6af4fa --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_pen.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="utf-8"?> +<mujoco> + <compiler angle="radian" coordinate="local" meshdir="../stls/hand" texturedir="../textures"></compiler> + <option timestep="0.002" iterations="20" apirate="200"> + <flag warmstart="enable"></flag> + </option> + + <include file="shared.xml"></include> + + <asset> + <include file="shared_asset.xml"></include> + + <material name="material:object" specular="0" shininess="0.5" reflectance="0.0" rgba="0.46 0.81 0.88 1.0"></material> + <material name="material:target" specular="0" shininess="0.5" reflectance="0.0" rgba="0.46 0.81 0.88 0.5"></material> + </asset> + + <worldbody> + <geom name="floor0" pos="1 1 -0.2" size="1 1 1" type="plane" condim="3" material="floor_mat"></geom> + <body name="floor0" pos="1 1 0"></body> + + <include file="robot.xml"></include> + + <body name="object" pos="1 0.87 0.2" euler="-1 1 0"> + <geom name="object" type="capsule" size="0.008 0.1" material="material:object" condim="4"></geom> + <site name="object:center" pos="0 0 0" rgba="1 0 0 0" size="0.01 0.01 0.01"></site> + <site name="object:top" pos="0 0 0.1" rgba="1 0 0 1" size="0.0081"></site> + <site name="object:bottom" pos="0 0 -0.1" rgba="0 1 0 1" size="0.0081"></site> + <joint name="object:joint" type="free" damping="0.01"></joint> + </body> + <body name="target" pos="1 0.87 0.2" euler="-1 1 0"> + <geom name="target" type="capsule" size="0.008 0.1" material="material:target" condim="4" group="2" contype="0" conaffinity="0"></geom> + <site name="target:center" pos="0 0 0" rgba="1 0 0 0" size="0.01 0.01 0.01"></site> + <site name="target:top" pos="0 0 0.1" rgba="1 0 0 0.5" size="0.0081"></site> + <site name="target:bottom" pos="0 0 -0.1" rgba="0 1 0 0.5" size="0.0081"></site> + <joint name="target:joint" type="free" damping="0.01"></joint> + </body> + + <light directional="true" ambient="0.2 0.2 0.2" diffuse="0.8 0.8 0.8" specular="0.3 0.3 0.3" castshadow="false" pos="0 1 4" dir="0 0 -1" name="light0"></light> + </worldbody> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_pen_touch_sensors.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_pen_touch_sensors.xml new file mode 100644 index 0000000000000000000000000000000000000000..758839bfcb24c930dc11fe6ddb5bb72758115d07 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/manipulate_pen_touch_sensors.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<mujoco> + <compiler angle="radian" coordinate="local" meshdir="../stls/hand" texturedir="../textures"></compiler> + <option timestep="0.002" iterations="20" apirate="200"> + <flag warmstart="enable"></flag> + </option> + + <include file="shared.xml"></include> + <include file="shared_touch_sensors_92.xml"></include> + + <asset> + <include file="shared_asset.xml"></include> + + <material name="material:object" specular="0" shininess="0.5" reflectance="0.0" rgba="0.46 0.81 0.88 1.0"></material> + <material name="material:target" specular="0" shininess="0.5" reflectance="0.0" rgba="0.46 0.81 0.88 0.5"></material> + </asset> + + <worldbody> + <geom name="floor0" pos="1 1 -0.2" size="1 1 1" type="plane" condim="3" material="floor_mat"></geom> + <body name="floor0" pos="1 1 0"></body> + + <include file="robot_touch_sensors_92.xml"></include> + + <body name="object" pos="1 0.87 0.2" euler="-1 1 0"> + <geom name="object" type="capsule" size="0.008 0.1" material="material:object" condim="4"></geom> + <site name="object:center" pos="0 0 0" rgba="1 0 0 0" size="0.01 0.01 0.01"></site> + <site name="object:top" pos="0 0 0.1" rgba="1 0 0 1" size="0.0081"></site> + <site name="object:bottom" pos="0 0 -0.1" rgba="0 1 0 1" size="0.0081"></site> + <joint name="object:joint" type="free" damping="0.01"></joint> + </body> + <body name="target" pos="1 0.87 0.2" euler="-1 1 0"> + <geom name="target" type="capsule" size="0.008 0.1" material="material:target" condim="4" group="2" contype="0" conaffinity="0"></geom> + <site name="target:center" pos="0 0 0" rgba="1 0 0 0" size="0.01 0.01 0.01"></site> + <site name="target:top" pos="0 0 0.1" rgba="1 0 0 0.5" size="0.0081"></site> + <site name="target:bottom" pos="0 0 -0.1" rgba="0 1 0 0.5" size="0.0081"></site> + <joint name="target:joint" type="free" damping="0.01"></joint> + </body> + + <light directional="true" ambient="0.2 0.2 0.2" diffuse="0.8 0.8 0.8" specular="0.3 0.3 0.3" castshadow="false" pos="0 1 4" dir="0 0 -1" name="light0"></light> + </worldbody> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/reach.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/reach.xml new file mode 100644 index 0000000000000000000000000000000000000000..71f6dfe621860e86569f00895bb1e73286f4558f --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/reach.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="utf-8"?> +<mujoco> + <compiler angle="radian" coordinate="local" meshdir="../stls/hand" texturedir="../textures"></compiler> + <option timestep="0.002" iterations="20" apirate="200"> + <flag warmstart="enable"></flag> + </option> + + <include file="shared.xml"></include> + + <asset> + <include file="shared_asset.xml"></include> + </asset> + + <worldbody> + <geom name="floor0" pos="1 1 0" size="1 1 1" type="plane" condim="3" material="floor_mat"></geom> + <body name="floor0" pos="1 1 0"> + <site name="target0" pos="0 0 0" size="0.005" rgba="1 0 0 1" type="sphere"></site> + <site name="target1" pos="0 0 0" size="0.005" rgba="0 1 0 1" type="sphere"></site> + <site name="target2" pos="0 0 0" size="0.005" rgba="0 0 1 1" type="sphere"></site> + <site name="target3" pos="0 0 0" size="0.005" rgba="1 1 0 1" type="sphere"></site> + <site name="target4" pos="0 0 0" size="0.005" rgba="1 0 1 1" type="sphere"></site> + + <site name="finger0" pos="0 0 0" size="0.01" rgba="1 0 0 0.2" type="sphere"></site> + <site name="finger1" pos="0 0 0" size="0.01" rgba="0 1 0 0.2" type="sphere"></site> + <site name="finger2" pos="0 0 0" size="0.01" rgba="0 0 1 0.2" type="sphere"></site> + <site name="finger3" pos="0 0 0" size="0.01" rgba="1 1 0 0.2" type="sphere"></site> + <site name="finger4" pos="0 0 0" size="0.01" rgba="1 0 1 0.2" type="sphere"></site> + </body> + + <include file="robot.xml"></include> + + <light directional="true" ambient="0.2 0.2 0.2" diffuse="0.8 0.8 0.8" specular="0.3 0.3 0.3" castshadow="false" pos="0 0 4" dir="0 0 -1" name="light0"></light> + </worldbody> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/robot.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/robot.xml new file mode 100644 index 0000000000000000000000000000000000000000..dbb9e43448e267d3c6198c94570c4e6ef5e1f2d1 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/robot.xml @@ -0,0 +1,160 @@ +<!-- See LICENSE.md for legal notices. LICENSE.md must be kept together with this file. --> +<mujoco> + <body name="robot0:hand mount" pos="1 1.25 0.15" euler="1.5708 0 3.14159"> + <inertial mass="0.1" pos="0 0 0" diaginertia="0.001 0.001 0.001"></inertial> + <body childclass="robot0:asset_class" name="robot0:forearm" pos="0 0.01 0" euler="0 0 0"> + <inertial pos="0.001 -0.002 0.29" quat="0.982 -0.016 0 -0.188" mass="4" diaginertia="0.01 0.01 0.0075"></inertial> + <geom class="robot0:D_Vizual" pos="0 0.01 0.04" name="robot0:V_forearm" mesh="robot0:forearm" euler="0 0 1.57"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_forearm" type="mesh" mesh="robot0:forearm_cvx" pos="0 0.01 0.04" euler="0 0 1.57" rgba="0.4 0.5 0.6 0.7"></geom> + <body name="robot0:wrist" pos="0 0 0.256"> + <inertial pos="0.003 0 0.016" quat="0.504 0.496 0.495 0.504" mass="0.3" diaginertia="0.001 0.001 0.001"></inertial> + <joint name="robot0:WRJ1" type="hinge" pos="0 0 0" axis="0 1 0" range="-0.489 0.14" damping="0.5" armature="0.005" user="1123"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_wrist" mesh="robot0:wrist"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_wrist" type="capsule" pos="0 0 0" quat="0.707 0.707 0 0" size="0.015 0.01" rgba="0.4 0.5 0.6 0.1"></geom> + <body name="robot0:palm" pos="0 0 0.034"> + <inertial pos="0.006 0 0.036" quat="0.716 0.044 0.075 0.693" mass="0.3" diaginertia="0.001 0.001 0.001"></inertial> + <joint name="robot0:WRJ0" type="hinge" pos="0 0 0" axis="1 0 0" range="-0.698 0.489" damping="0.5" armature="0.005" user="1122"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_palm" mesh="robot0:palm"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_palm0" type="box" pos="0.011 0 0.038" size="0.032 0.0111 0.049" rgba="0.4 0.5 0.6 0.1"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_palm1" type="box" pos="-0.032 0 0.014" size="0.011 0.0111 0.025" rgba="0.4 0.5 0.6 0.1"></geom> + <body name="robot0:ffknuckle" pos="0.033 0 0.095"> + <inertial pos="0 0 0" quat="0.52 0.854 0.006 -0.003" mass="0.008" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:FFJ3" type="hinge" pos="0 0 0" axis="0 1 0" range="-0.349 0.349" user="1103"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_ffknuckle" mesh="robot0:knuckle"></geom> + <body name="robot0:ffproximal" pos="0 0 0"> + <inertial pos="0 0 0.023" quat="0.707 -0.004 0.004 0.707" mass="0.014" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:FFJ2" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1102"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_ffproximal" mesh="robot0:F3"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_ffproximal" type="capsule" pos="0 0 0.0225" size="0.01 0.0225"></geom> + <body name="robot0:ffmiddle" pos="0 0 0.045"> + <inertial pos="0 0 0.011" quat="0.707 0 0 0.707" mass="0.012" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:FFJ1" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1101"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_ffmiddle" mesh="robot0:F2"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_ffmiddle" type="capsule" pos="0 0 0.0125" size="0.00805 0.0125"></geom> + <body name="robot0:ffdistal" pos="0 0 0.025"> + <inertial pos="0 0 0.015" quat="0.707 -0.003 0.003 0.707" mass="0.01" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:FFJ0" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1100"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_ffdistal" pos="0 0 0.001" mesh="robot0:F1"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_ffdistal" type="capsule" pos="0 0 0.012" size="0.00705 0.012" condim="4"></geom> + <site name="robot0:S_fftip" pos="0 0 0.026" group="3"></site> + <site class="robot0:D_Touch" name="robot0:Tch_fftip"></site> + </body> + </body> + </body> + </body> + <body name="robot0:mfknuckle" pos="0.011 0 0.099"> + <inertial pos="0 0 0" quat="0.52 0.854 0.006 -0.003" mass="0.008" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:MFJ3" type="hinge" pos="0 0 0" axis="0 1 0" range="-0.349 0.349" user="1107"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_mfknuckle" mesh="robot0:knuckle"></geom> + <body name="robot0:mfproximal" pos="0 0 0"> + <inertial pos="0 0 0.023" quat="0.707 -0.004 0.004 0.707" mass="0.014" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:MFJ2" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1106"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_mfproximal" mesh="robot0:F3"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_mfproximal" type="capsule" pos="0 0 0.0225" size="0.01 0.0225"></geom> + <body name="robot0:mfmiddle" pos="0 0 0.045"> + <inertial pos="0 0 0.012" quat="0.707 0 0 0.707" mass="0.012" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:MFJ1" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1105"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_mfmiddle" mesh="robot0:F2"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_mfmiddle" type="capsule" pos="0 0 0.0125" size="0.00805 0.0125"></geom> + <body name="robot0:mfdistal" pos="0 0 0.025"> + <inertial pos="0 0 0.015" quat="0.707 -0.003 0.003 0.707" mass="0.01" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:MFJ0" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1104"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_mfdistal" mesh="robot0:F1"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_mfdistal" type="capsule" pos="0 0 0.012" size="0.00705 0.012" condim="4"></geom> + <site name="robot0:S_mftip" pos="0 0 0.026" group="3"></site> + <site class="robot0:D_Touch" name="robot0:Tch_mftip"></site> + </body> + </body> + </body> + </body> + <body name="robot0:rfknuckle" pos="-0.011 0 0.095"> + <inertial pos="0 0 0" quat="0.52 0.854 0.006 -0.003" mass="0.008" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:RFJ3" type="hinge" pos="0 0 0" axis="0 1 0" range="-0.349 0.349" user="1111"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_rfknuckle" mesh="robot0:knuckle"></geom> + <body name="robot0:rfproximal" pos="0 0 0"> + <inertial pos="0 0 0.023" quat="0.707 -0.004 0.004 0.707" mass="0.014" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:RFJ2" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1110"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_rfproximal" mesh="robot0:F3"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_rfproximal" type="capsule" pos="0 0 0.0225" size="0.01 0.0225"></geom> + <body name="robot0:rfmiddle" pos="0 0 0.045"> + <inertial pos="0 0 0.012" quat="0.707 0 0 0.707" mass="0.012" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:RFJ1" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1109"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_rfmiddle" mesh="robot0:F2"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_rfmiddle" type="capsule" pos="0 0 0.0125" size="0.00805 0.0125"></geom> + <body name="robot0:rfdistal" pos="0 0 0.025"> + <inertial pos="0 0 0.015" quat="0.707 -0.003 0.003 0.707" mass="0.01" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:RFJ0" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1108"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_rfdistal" mesh="robot0:F1" pos="0 0 0.001"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_rfdistal" type="capsule" pos="0 0 0.012" size="0.00705 0.012" condim="4"></geom> + <site name="robot0:S_rftip" pos="0 0 0.026" group="3"></site> + <site class="robot0:D_Touch" name="robot0:Tch_rftip"></site> + </body> + </body> + </body> + </body> + <body name="robot0:lfmetacarpal" pos="-0.017 0 0.044"> + <inertial pos="-0.014 0.001 0.014" quat="0.709 -0.092 -0.063 0.696" mass="0.075" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:LFJ4" type="hinge" pos="0 0 0" axis="0.571 0 0.821" range="0 0.785" user="1116"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_lfmetacarpal" pos="-0.016 0 -0.023" mesh="robot0:lfmetacarpal"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_lfmetacarpal" type="box" pos="-0.0165 0 0.01" size="0.0095 0.0111 0.025" rgba="0.4 0.5 0.6 0.2"></geom> + <body name="robot0:lfknuckle" pos="-0.017 0 0.044"> + <inertial pos="0 0 0" quat="0.52 0.854 0.006 -0.003" mass="0.008" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:LFJ3" type="hinge" pos="0 0 0" axis="0 1 0" range="-0.349 0.349" user="1115"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_lfknuckle" mesh="robot0:knuckle"></geom> + <body name="robot0:lfproximal" pos="0 0 0"> + <inertial pos="0 0 0.023" quat="0.707 -0.004 0.004 0.707" mass="0.014" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:LFJ2" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1114"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_lfproximal" mesh="robot0:F3"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_lfproximal" type="capsule" pos="0 0 0.0225" size="0.01 0.0225"></geom> + <body name="robot0:lfmiddle" pos="0 0 0.045"> + <inertial pos="0 0 0.012" quat="0.707 0 0 0.707" mass="0.012" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:LFJ1" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1113"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_lfmiddle" mesh="robot0:F2"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_lfmiddle" type="capsule" pos="0 0 0.0125" size="0.00805 0.0125"></geom> + <body name="robot0:lfdistal" pos="0 0 0.025"> + <inertial pos="0 0 0.015" quat="0.707 -0.003 0.003 0.707" mass="0.01" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:LFJ0" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1112"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_lfdistal" mesh="robot0:F1" pos="0 0 0.001"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_lfdistal" type="capsule" pos="0 0 0.012" size="0.00705 0.012" condim="4"></geom> + <site name="robot0:S_lftip" pos="0 0 0.026" group="3"></site> + <site class="robot0:D_Touch" name="robot0:Tch_lftip"></site> + </body> + </body> + </body> + </body> + </body> + <body name="robot0:thbase" pos="0.034 -0.009 0.029" axisangle="0 1 0 0.785"> + <inertial pos="0 0 0" mass="0.01" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:THJ4" type="hinge" pos="0 0 0" axis="0 0 -1" range="-1.047 1.047" user="1121"></joint> + <geom name="robot0:V_thbase" type="box" group="1" pos="0 0 0" size="0.001 0.001 0.001"></geom> + <body name="robot0:thproximal" pos="0 0 0"> + <inertial pos="0 0 0.017" quat="0.982 0 0.001 0.191" mass="0.016" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:THJ3" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.222" user="1120"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_thproximal" mesh="robot0:TH3_z"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_thproximal" type="capsule" pos="0 0 0.019" size="0.013 0.019" rgba="0.4 0.5 0.6 0.1"></geom> + <body name="robot0:thhub" pos="0 0 0.038"> + <inertial pos="0 0 0" mass="0.002" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:THJ2" type="hinge" pos="0 0 0" axis="1 0 0" range="-0.209 0.209" user="1119"></joint> + <geom name="robot0:V_thhub" type="box" group="1" pos="0 0 0" size="0.001 0.001 0.001"></geom> + <body name="robot0:thmiddle" pos="0 0 0"> + <inertial pos="0 0 0.016" quat="1 -0.001 -0.007 0.003" mass="0.016" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:THJ1" type="hinge" pos="0 0 0" axis="0 1 0" range="-0.524 0.524" user="1118"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_thmiddle" mesh="robot0:TH2_z"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_thmiddle" type="capsule" pos="0 0 0.016" size="0.011 0.016"></geom> + <body name="robot0:thdistal" pos="0 0 0.032"> + <inertial pos="0 0 0.016" quat="0.999 -0.005 -0.047 0.005" mass="0.016" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:THJ0" type="hinge" pos="0 0 0" axis="0 1 0" range="-1.571 0" user="1117"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_thdistal" mesh="robot0:TH1_z"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_thdistal" type="capsule" pos="0 0 0.013" size="0.00918 0.013" condim="4"></geom> + <site name="robot0:S_thtip" pos="0 0 0.0275" group="3"></site> + <site class="robot0:D_Touch" name="robot0:Tch_thtip" size="0.005 0.011 0.016" pos="-0.005 0 0.02"></site> + </body> + </body> + </body> + </body> + </body> + </body> + </body> + </body> + </body> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/robot_touch_sensors_92.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/robot_touch_sensors_92.xml new file mode 100644 index 0000000000000000000000000000000000000000..fa6d41c0a85266036fd78dfdf1b4d374ed2df36d --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/robot_touch_sensors_92.xml @@ -0,0 +1,252 @@ +<!-- See LICENSE.md for legal notices. LICENSE.md must be kept together with this file. --> +<mujoco> + <body name="robot0:hand mount" pos="1 1.25 0.15" euler="1.5708 0 3.14159"> + <inertial mass="0.1" pos="0 0 0" diaginertia="0.001 0.001 0.001"></inertial> + <body childclass="robot0:asset_class" name="robot0:forearm" pos="0 0.01 0" euler="0 0 0"> + <inertial pos="0.001 -0.002 0.29" quat="0.982 -0.016 0 -0.188" mass="4" diaginertia="0.01 0.01 0.0075"></inertial> + <geom class="robot0:D_Vizual" pos="0 0.01 0.04" name="robot0:V_forearm" mesh="robot0:forearm" euler="0 0 1.57"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_forearm" type="mesh" mesh="robot0:forearm_cvx" pos="0 0.01 0.04" euler="0 0 1.57" rgba="0.4 0.5 0.6 0.7"></geom> + <body name="robot0:wrist" pos="0 0 0.256"> + <inertial pos="0.003 0 0.016" quat="0.504 0.496 0.495 0.504" mass="0.3" diaginertia="0.001 0.001 0.001"></inertial> + <joint name="robot0:WRJ1" type="hinge" pos="0 0 0" axis="0 1 0" range="-0.489 0.14" damping="0.5" armature="0.005" user="1123"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_wrist" mesh="robot0:wrist"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_wrist" type="capsule" pos="0 0 0" quat="0.707 0.707 0 0" size="0.015 0.01" rgba="0.4 0.5 0.6 0.1"></geom> + <body name="robot0:palm" pos="0 0 0.034"> + <inertial pos="0.006 0 0.036" quat="0.716 0.044 0.075 0.693" mass="0.3" diaginertia="0.001 0.001 0.001"></inertial> + <joint name="robot0:WRJ0" type="hinge" pos="0 0 0" axis="1 0 0" range="-0.698 0.489" damping="0.5" armature="0.005" user="1122"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_palm" mesh="robot0:palm"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_palm0" type="box" pos="0.011 0 0.038" size="0.032 0.0111 0.049" rgba="0.4 0.5 0.6 0.1"></geom> + <site name="robot0:T_palm_b0" type="box" pos="0.011 -0.005 0.006" size="0.033 0.007 0.019" rgba="0 0 0 0.33"/> + <site name="robot0:T_palm_bl" type="box" pos="-0.011 -0.005 0.041" size="0.011 0.007 0.016" rgba="1 0 0 0.33"/> + <site name="robot0:T_palm_bm" type="box" pos="0.011 -0.005 0.041" size="0.011 0.007 0.016" rgba="0 0 0 0.33"/> + <site name="robot0:T_palm_br" type="box" pos="0.033 -0.005 0.041" size="0.011 0.007 0.016" rgba="1 0 0 0.33"/> + <site name="robot0:T_palm_fl" type="box" pos="-0.011 -0.005 0.073" size="0.011 0.007 0.016" rgba="0 0 0 0.33"/> + <site name="robot0:T_palm_fm" type="box" pos="0.011 -0.005 0.073" size="0.011 0.007 0.016" rgba="1 0 0 0.33"/> + <site name="robot0:T_palm_fr" type="box" pos="0.033 -0.005 0.073" size="0.011 0.007 0.016" rgba="0 0 0 0.33"/> + <geom class="robot0:DC_Hand" name="robot0:C_palm1" type="box" pos="-0.032 0 0.014" size="0.011 0.0111 0.025" rgba="0.4 0.5 0.6 0.1"></geom> + <site name="robot0:T_palm_b1" type="box" pos="-0.0325 -0.005 0.014" size="0.012 0.007 0.027" rgba="0 0 0 0.33"/> + <body name="robot0:ffknuckle" pos="0.033 0 0.095"> + <inertial pos="0 0 0" quat="0.52 0.854 0.006 -0.003" mass="0.008" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:FFJ3" type="hinge" pos="0 0 0" axis="0 1 0" range="-0.349 0.349" user="1103"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_ffknuckle" mesh="robot0:knuckle"></geom> + <body name="robot0:ffproximal" pos="0 0 0"> + <inertial pos="0 0 0.023" quat="0.707 -0.004 0.004 0.707" mass="0.014" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:FFJ2" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1102"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_ffproximal" mesh="robot0:F3"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_ffproximal" type="capsule" pos="0 0 0.0225" size="0.01 0.0225"></geom> + <site name="robot0:T_ffproximal_front_left_bottom" type="box" pos="-0.005 -0.005 0.00625" size="0.005 0.005 0.01625" rgba="1 0 0 0.33"/> + <site name="robot0:T_ffproximal_front_right_bottom" type="box" pos="0.005 -0.005 0.00625" size="0.005 0.005 0.01625" rgba="0 0 0 0.33"/> + <site name="robot0:T_ffproximal_front_left_top" type="box" pos="-0.005 -0.005 0.03875" size="0.005 0.005 0.01625" rgba="0 0 0 0.33"/> + <site name="robot0:T_ffproximal_front_right_top" type="box" pos="0.005 -0.005 0.03875" size="0.005 0.005 0.01625" rgba="1 0 0 0.33"/> + <site name="robot0:T_ffproximal_back_left" type="box" pos="-0.005 0.005 0.0225" size="0.005 0.005 0.0325" rgba="0 0 0 0.33"/> + <site name="robot0:T_ffproximal_back_right" type="box" pos="0.005 0.005 0.0225" size="0.005 0.005 0.0325" rgba="1 0 0 0.33"/> + <site name="robot0:T_ffproximal_tip" type="sphere" pos="0 0 0.045" size="0.011" rgba="1 1 0 0.33"/> + <body name="robot0:ffmiddle" pos="0 0 0.045"> + <inertial pos="0 0 0.011" quat="0.707 0 0 0.707" mass="0.012" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:FFJ1" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1101"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_ffmiddle" mesh="robot0:F2"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_ffmiddle" type="capsule" pos="0 0 0.0125" size="0.00805 0.0125"></geom> + <site name="robot0:T_ffmiddle_front_left" type="box" pos="-0.00451 -0.00451 0.0125" size="0.00451 0.00451 0.02055" rgba="0 0 0 0.33"/> + <site name="robot0:T_ffmiddle_front_right" type="box" pos="0.00451 -0.00451 0.0125" size="0.00451 0.00451 0.02055" rgba="1 0 0 0.33"/> + <site name="robot0:T_ffmiddle_back_left" type="box" pos="-0.00451 0.00451 0.0125" size="0.00451 0.00451 0.02055" rgba="1 0 0 0.33"/> + <site name="robot0:T_ffmiddle_back_right" type="box" pos="0.00451 0.00451 0.0125" size="0.00451 0.00451 0.02055" rgba="0 0 0 0.33"/> + <site name="robot0:T_ffmiddle_tip" type="sphere" pos="0 0 0.025" size="0.009" rgba="1 1 0 0.33"/> + <body name="robot0:ffdistal" pos="0 0 0.025"> + <inertial pos="0 0 0.015" quat="0.707 -0.003 0.003 0.707" mass="0.01" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:FFJ0" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1100"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_ffdistal" pos="0 0 0.001" mesh="robot0:F1"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_ffdistal" type="capsule" pos="0 0 0.012" size="0.00705 0.012" condim="4"></geom> + <site name="robot0:S_fftip" pos="0 0 0.026" group="3"></site> + <site class="robot0:D_Touch" name="robot0:Tch_fftip"></site> + <site name="robot0:T_fftip_front_left" type="box" pos="-0.00451 -0.00451 0.012" size="0.00451 0.00451 0.01905" rgba="1 0 0 0.33"/> + <site name="robot0:T_fftip_front_right" type="box" pos="0.00451 -0.00451 0.012" size="0.00451 0.00451 0.01905" rgba="0 0 0 0.33"/> + <site name="robot0:T_fftip_back_left" type="box" pos="-0.00451 0.00451 0.012" size="0.00451 0.00451 0.01905" rgba="0 0 0 0.33"/> + <site name="robot0:T_fftip_back_right" type="box" pos="0.00451 0.00451 0.012" size="0.00451 0.00451 0.01905" rgba="1 0 0 0.33"/> + <site name="robot0:T_fftip_tip" type="sphere" pos="0 0 0.024" size="0.008" rgba="1 1 0 0.33"/> + </body> + </body> + </body> + </body> + <body name="robot0:mfknuckle" pos="0.011 0 0.099"> + <inertial pos="0 0 0" quat="0.52 0.854 0.006 -0.003" mass="0.008" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:MFJ3" type="hinge" pos="0 0 0" axis="0 1 0" range="-0.349 0.349" user="1107"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_mfknuckle" mesh="robot0:knuckle"></geom> + <body name="robot0:mfproximal" pos="0 0 0"> + <inertial pos="0 0 0.023" quat="0.707 -0.004 0.004 0.707" mass="0.014" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:MFJ2" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1106"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_mfproximal" mesh="robot0:F3"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_mfproximal" type="capsule" pos="0 0 0.0225" size="0.01 0.0225"></geom> + <site name="robot0:T_mfproximal_front_left_bottom" type="box" pos="-0.005 -0.005 0.00625" size="0.005 0.005 0.01625" rgba="1 0 0 0.33"/> + <site name="robot0:T_mfproximal_front_right_bottom" type="box" pos="0.005 -0.005 0.00625" size="0.005 0.005 0.01625" rgba="0 0 0 0.33"/> + <site name="robot0:T_mfproximal_front_left_top" type="box" pos="-0.005 -0.005 0.03875" size="0.005 0.005 0.01625" rgba="0 0 0 0.33"/> + <site name="robot0:T_mfproximal_front_right_top" type="box" pos="0.005 -0.005 0.03875" size="0.005 0.005 0.01625" rgba="1 0 0 0.33"/> + <site name="robot0:T_mfproximal_back_left" type="box" pos="-0.005 0.005 0.0225" size="0.005 0.005 0.0325" rgba="0 0 0 0.33"/> + <site name="robot0:T_mfproximal_back_right" type="box" pos="0.005 0.005 0.0225" size="0.005 0.005 0.0325" rgba="1 0 0 0.33"/> + <site name="robot0:T_mfproximal_tip" type="sphere" pos="0 0 0.045" size="0.011" rgba="1 1 0 0.33"/> + <body name="robot0:mfmiddle" pos="0 0 0.045"> + <inertial pos="0 0 0.012" quat="0.707 0 0 0.707" mass="0.012" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:MFJ1" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1105"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_mfmiddle" mesh="robot0:F2"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_mfmiddle" type="capsule" pos="0 0 0.0125" size="0.00805 0.0125"></geom> + <site name="robot0:T_mfmiddle_front_left" type="box" pos="-0.00451 -0.00451 0.0125" size="0.00451 0.00451 0.02055" rgba="0 0 0 0.33"/> + <site name="robot0:T_mfmiddle_front_right" type="box" pos="0.00451 -0.00451 0.0125" size="0.00451 0.00451 0.02055" rgba="1 0 0 0.33"/> + <site name="robot0:T_mfmiddle_back_left" type="box" pos="-0.00451 0.00451 0.0125" size="0.00451 0.00451 0.02055" rgba="1 0 0 0.33"/> + <site name="robot0:T_mfmiddle_back_right" type="box" pos="0.00451 0.00451 0.0125" size="0.00451 0.00451 0.02055" rgba="0 0 0 0.33"/> + <site name="robot0:T_mfmiddle_tip" type="sphere" pos="0 0 0.025" size="0.009" rgba="1 1 0 0.33"/> + <body name="robot0:mfdistal" pos="0 0 0.025"> + <inertial pos="0 0 0.015" quat="0.707 -0.003 0.003 0.707" mass="0.01" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:MFJ0" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1104"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_mfdistal" mesh="robot0:F1"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_mfdistal" type="capsule" pos="0 0 0.012" size="0.00705 0.012" condim="4"></geom> + <site name="robot0:S_mftip" pos="0 0 0.026" group="3"></site> + <site class="robot0:D_Touch" name="robot0:Tch_mftip"></site> + <site name="robot0:T_mftip_front_left" type="box" pos="-0.00451 -0.00451 0.012" size="0.00451 0.00451 0.01905" rgba="1 0 0 0.33"/> + <site name="robot0:T_mftip_front_right" type="box" pos="0.00451 -0.00451 0.012" size="0.00451 0.00451 0.01905" rgba="0 0 0 0.33"/> + <site name="robot0:T_mftip_back_left" type="box" pos="-0.00451 0.00451 0.012" size="0.00451 0.00451 0.01905" rgba="0 0 0 0.33"/> + <site name="robot0:T_mftip_back_right" type="box" pos="0.00451 0.00451 0.012" size="0.00451 0.00451 0.01905" rgba="1 0 0 0.33"/> + <site name="robot0:T_mftip_tip" type="sphere" pos="0 0 0.024" size="0.008" rgba="1 1 0 0.33"/> + </body> + </body> + </body> + </body> + <body name="robot0:rfknuckle" pos="-0.011 0 0.095"> + <inertial pos="0 0 0" quat="0.52 0.854 0.006 -0.003" mass="0.008" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:RFJ3" type="hinge" pos="0 0 0" axis="0 1 0" range="-0.349 0.349" user="1111"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_rfknuckle" mesh="robot0:knuckle"></geom> + <body name="robot0:rfproximal" pos="0 0 0"> + <inertial pos="0 0 0.023" quat="0.707 -0.004 0.004 0.707" mass="0.014" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:RFJ2" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1110"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_rfproximal" mesh="robot0:F3"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_rfproximal" type="capsule" pos="0 0 0.0225" size="0.01 0.0225"></geom> + <site name="robot0:T_rfproximal_front_left_bottom" type="box" pos="-0.005 -0.005 0.00625" size="0.005 0.005 0.01625" rgba="1 0 0 0.33"/> + <site name="robot0:T_rfproximal_front_right_bottom" type="box" pos="0.005 -0.005 0.00625" size="0.005 0.005 0.01625" rgba="0 0 0 0.33"/> + <site name="robot0:T_rfproximal_front_left_top" type="box" pos="-0.005 -0.005 0.03875" size="0.005 0.005 0.01625" rgba="0 0 0 0.33"/> + <site name="robot0:T_rfproximal_front_right_top" type="box" pos="0.005 -0.005 0.03875" size="0.005 0.005 0.01625" rgba="1 0 0 0.33"/> + <site name="robot0:T_rfproximal_back_left" type="box" pos="-0.005 0.005 0.0225" size="0.005 0.005 0.0325" rgba="0 0 0 0.33"/> + <site name="robot0:T_rfproximal_back_right" type="box" pos="0.005 0.005 0.0225" size="0.005 0.005 0.0325" rgba="1 0 0 0.33"/> + <site name="robot0:T_rfproximal_tip" type="sphere" pos="0 0 0.045" size="0.011" rgba="1 1 0 0.33"/> + <body name="robot0:rfmiddle" pos="0 0 0.045"> + <inertial pos="0 0 0.012" quat="0.707 0 0 0.707" mass="0.012" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:RFJ1" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1109"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_rfmiddle" mesh="robot0:F2"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_rfmiddle" type="capsule" pos="0 0 0.0125" size="0.00805 0.0125"></geom> + <site name="robot0:T_rfmiddle_front_left" type="box" pos="-0.00451 -0.00451 0.0125" size="0.00451 0.00451 0.02055" rgba="0 0 0 0.33"/> + <site name="robot0:T_rfmiddle_front_right" type="box" pos="0.00451 -0.00451 0.0125" size="0.00451 0.00451 0.02055" rgba="1 0 0 0.33"/> + <site name="robot0:T_rfmiddle_back_left" type="box" pos="-0.00451 0.00451 0.0125" size="0.00451 0.00451 0.02055" rgba="1 0 0 0.33"/> + <site name="robot0:T_rfmiddle_back_right" type="box" pos="0.00451 0.00451 0.0125" size="0.00451 0.00451 0.02055" rgba="0 0 0 0.33"/> + <site name="robot0:T_rfmiddle_tip" type="sphere" pos="0 0 0.025" size="0.009" rgba="1 1 0 0.33"/> + <body name="robot0:rfdistal" pos="0 0 0.025"> + <inertial pos="0 0 0.015" quat="0.707 -0.003 0.003 0.707" mass="0.01" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:RFJ0" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1108"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_rfdistal" mesh="robot0:F1" pos="0 0 0.001"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_rfdistal" type="capsule" pos="0 0 0.012" size="0.00705 0.012" condim="4"></geom> + <site name="robot0:S_rftip" pos="0 0 0.026" group="3"></site> + <site class="robot0:D_Touch" name="robot0:Tch_rftip"></site> + <site name="robot0:T_rftip_front_left" type="box" pos="-0.00451 -0.00451 0.012" size="0.00451 0.00451 0.01905" rgba="1 0 0 0.33"/> + <site name="robot0:T_rftip_front_right" type="box" pos="0.00451 -0.00451 0.012" size="0.00451 0.00451 0.01905" rgba="0 0 0 0.33"/> + <site name="robot0:T_rftip_back_left" type="box" pos="-0.00451 0.00451 0.012" size="0.00451 0.00451 0.01905" rgba="0 0 0 0.33"/> + <site name="robot0:T_rftip_back_right" type="box" pos="0.00451 0.00451 0.012" size="0.00451 0.00451 0.01905" rgba="1 0 0 0.33"/> + <site name="robot0:T_rftip_tip" type="sphere" pos="0 0 0.024" size="0.008" rgba="1 1 0 0.33"/> + </body> + </body> + </body> + </body> + <body name="robot0:lfmetacarpal" pos="-0.017 0 0.044"> + <inertial pos="-0.014 0.001 0.014" quat="0.709 -0.092 -0.063 0.696" mass="0.075" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:LFJ4" type="hinge" pos="0 0 0" axis="0.571 0 0.821" range="0 0.785" user="1116"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_lfmetacarpal" pos="-0.016 0 -0.023" mesh="robot0:lfmetacarpal"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_lfmetacarpal" type="box" pos="-0.0165 0 0.01" size="0.0095 0.0111 0.025" rgba="0.4 0.5 0.6 0.2"></geom> + <site name="robot0:T_lfmetacarpal_front" type="box" pos="-0.0165 -0.005 0.00975" size="0.01 0.007 0.026" rgba="1 0 0 0.33"/> + <body name="robot0:lfknuckle" pos="-0.017 0 0.044"> + <inertial pos="0 0 0" quat="0.52 0.854 0.006 -0.003" mass="0.008" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:LFJ3" type="hinge" pos="0 0 0" axis="0 1 0" range="-0.349 0.349" user="1115"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_lfknuckle" mesh="robot0:knuckle"></geom> + <body name="robot0:lfproximal" pos="0 0 0"> + <inertial pos="0 0 0.023" quat="0.707 -0.004 0.004 0.707" mass="0.014" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:LFJ2" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1114"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_lfproximal" mesh="robot0:F3"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_lfproximal" type="capsule" pos="0 0 0.0225" size="0.01 0.0225"></geom> + <site name="robot0:T_lfproximal_front_left_bottom" type="box" pos="-0.005 -0.005 0.00625" size="0.005 0.005 0.01625" rgba="1 0 0 0.33"/> + <site name="robot0:T_lfproximal_front_right_bottom" type="box" pos="0.005 -0.005 0.00625" size="0.005 0.005 0.01625" rgba="0 0 0 0.33"/> + <site name="robot0:T_lfproximal_front_left_top" type="box" pos="-0.005 -0.005 0.03875" size="0.005 0.005 0.01625" rgba="0 0 0 0.33"/> + <site name="robot0:T_lfproximal_front_right_top" type="box" pos="0.005 -0.005 0.03875" size="0.005 0.005 0.01625" rgba="1 0 0 0.33"/> + <site name="robot0:T_lfproximal_back_left" type="box" pos="-0.005 0.005 0.0225" size="0.005 0.005 0.0325" rgba="0 0 0 0.33"/> + <site name="robot0:T_lfproximal_back_right" type="box" pos="0.005 0.005 0.0225" size="0.005 0.005 0.0325" rgba="1 0 0 0.33"/> + <site name="robot0:T_lfproximal_tip" type="sphere" pos="0 0 0.045" size="0.011" rgba="1 1 0 0.33"/> + <body name="robot0:lfmiddle" pos="0 0 0.045"> + <inertial pos="0 0 0.012" quat="0.707 0 0 0.707" mass="0.012" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:LFJ1" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1113"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_lfmiddle" mesh="robot0:F2"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_lfmiddle" type="capsule" pos="0 0 0.0125" size="0.00805 0.0125"></geom> + <site name="robot0:T_lfmiddle_front_left" type="box" pos="-0.00451 -0.00451 0.0125" size="0.00451 0.00451 0.02055" rgba="0 0 0 0.33"/> + <site name="robot0:T_lfmiddle_front_right" type="box" pos="0.00451 -0.00451 0.0125" size="0.00451 0.00451 0.02055" rgba="1 0 0 0.33"/> + <site name="robot0:T_lfmiddle_back_left" type="box" pos="-0.00451 0.00451 0.0125" size="0.00451 0.00451 0.02055" rgba="1 0 0 0.33"/> + <site name="robot0:T_lfmiddle_back_right" type="box" pos="0.00451 0.00451 0.0125" size="0.00451 0.00451 0.02055" rgba="0 0 0 0.33"/> + <site name="robot0:T_lfmiddle_tip" type="sphere" pos="0 0 0.025" size="0.009" rgba="1 1 0 0.33"/> + <body name="robot0:lfdistal" pos="0 0 0.025"> + <inertial pos="0 0 0.015" quat="0.707 -0.003 0.003 0.707" mass="0.01" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:LFJ0" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.571" user="1112"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_lfdistal" mesh="robot0:F1" pos="0 0 0.001"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_lfdistal" type="capsule" pos="0 0 0.012" size="0.00705 0.012" condim="4"></geom> + <site name="robot0:S_lftip" pos="0 0 0.026" group="3"></site> + <site class="robot0:D_Touch" name="robot0:Tch_lftip"></site> + <site name="robot0:T_lftip_front_left" type="box" pos="-0.00451 -0.00451 0.012" size="0.00451 0.00451 0.01905" rgba="1 0 0 0.33"/> + <site name="robot0:T_lftip_front_right" type="box" pos="0.00451 -0.00451 0.012" size="0.00451 0.00451 0.01905" rgba="0 0 0 0.33"/> + <site name="robot0:T_lftip_back_left" type="box" pos="-0.00451 0.00451 0.012" size="0.00451 0.00451 0.01905" rgba="0 0 0 0.33"/> + <site name="robot0:T_lftip_back_right" type="box" pos="0.00451 0.00451 0.012" size="0.00451 0.00451 0.01905" rgba="1 0 0 0.33"/> + <site name="robot0:T_lftip_tip" type="sphere" pos="0 0 0.024" size="0.008" rgba="1 1 0 0.33"/> + </body> + </body> + </body> + </body> + </body> + <body name="robot0:thbase" pos="0.034 -0.009 0.029" axisangle="0 1 0 0.785"> + <inertial pos="0 0 0" mass="0.01" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:THJ4" type="hinge" pos="0 0 0" axis="0 0 -1" range="-1.047 1.047" user="1121"></joint> + <geom name="robot0:V_thbase" type="box" group="1" pos="0 0 0" size="0.001 0.001 0.001"></geom> + <body name="robot0:thproximal" pos="0 0 0"> + <inertial pos="0 0 0.017" quat="0.982 0 0.001 0.191" mass="0.016" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:THJ3" type="hinge" pos="0 0 0" axis="1 0 0" range="0 1.222" user="1120"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_thproximal" mesh="robot0:TH3_z"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_thproximal" type="capsule" pos="0 0 0.019" size="0.013 0.019" rgba="0.4 0.5 0.6 0.1"></geom> + <site name="robot0:T_thproximal_front_left" type="box" pos="-0.007 -0.007 0.019" size="0.007 0.007 0.032" rgba="0 0 0 0.33"/> + <site name="robot0:T_thproximal_front_right" type="box" pos="0.007 -0.007 0.019" size="0.007 0.007 0.032" rgba="1 0 0 0.33"/> + <site name="robot0:T_thproximal_back_left" type="box" pos="-0.007 0.007 0.019" size="0.007 0.007 0.032" rgba="1 0 0 0.33"/> + <site name="robot0:T_thproximal_back_right" type="box" pos="0.007 0.007 0.019" size="0.007 0.007 0.032" rgba="0 0 0 0.33"/> + <site name="robot0:T_thproximal_tip" type="sphere" pos="0 0 0.038" size="0.014" rgba="1 1 0 0.33"/> + <body name="robot0:thhub" pos="0 0 0.038"> + <inertial pos="0 0 0" mass="0.002" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:THJ2" type="hinge" pos="0 0 0" axis="1 0 0" range="-0.209 0.209" user="1119"></joint> + <geom name="robot0:V_thhub" type="box" group="1" pos="0 0 0" size="0.001 0.001 0.001"></geom> + <body name="robot0:thmiddle" pos="0 0 0"> + <inertial pos="0 0 0.016" quat="1 -0.001 -0.007 0.003" mass="0.016" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:THJ1" type="hinge" pos="0 0 0" axis="0 1 0" range="-0.524 0.524" user="1118"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_thmiddle" mesh="robot0:TH2_z"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_thmiddle" type="capsule" pos="0 0 0.016" size="0.011 0.016"></geom> + <site name="robot0:T_thmiddle_front_left" type="box" pos="-0.006 -0.006 0.016" size="0.006 0.006 0.027" rgba="1 0 0 0.33"/> + <site name="robot0:T_thmiddle_front_right" type="box" pos="0.006 -0.006 0.016" size="0.006 0.006 0.027" rgba="0 0 0 0.33"/> + <site name="robot0:T_thmiddle_back_left" type="box" pos="-0.006 0.006 0.016" size="0.006 0.006 0.027" rgba="0 0 0 0.33"/> + <site name="robot0:T_thmiddle_back_right" type="box" pos="0.006 0.006 0.016" size="0.006 0.006 0.027" rgba="1 0 0 0.33"/> + <site name="robot0:T_thmiddle_tip" type="sphere" pos="0 0 0.032" size="0.012" rgba="1 1 0 0.33"/> + <body name="robot0:thdistal" pos="0 0 0.032"> + <inertial pos="0 0 0.016" quat="0.999 -0.005 -0.047 0.005" mass="0.016" diaginertia="1e-05 1e-05 1e-05"></inertial> + <joint name="robot0:THJ0" type="hinge" pos="0 0 0" axis="0 1 0" range="-1.571 0" user="1117"></joint> + <geom class="robot0:D_Vizual" name="robot0:V_thdistal" mesh="robot0:TH1_z"></geom> + <geom class="robot0:DC_Hand" name="robot0:C_thdistal" type="capsule" pos="0 0 0.013" size="0.00918 0.013" condim="4"></geom> + <site name="robot0:S_thtip" pos="0 0 0.0275" group="3"></site> + <site class="robot0:D_Touch" name="robot0:Tch_thtip" size="0.005 0.011 0.016" pos="-0.005 0 0.02"></site> + <site name="robot0:T_thtip_front_left" type="box" pos="-0.0056 -0.0056 0.013" size="0.0056 0.0056 0.02218" rgba="0 0 0 0.33"/> + <site name="robot0:T_thtip_front_right" type="box" pos="0.0056 -0.0056 0.013" size="0.0056 0.0056 0.02218" rgba="1 0 0 0.33"/> + <site name="robot0:T_thtip_back_left" type="box" pos="-0.0056 0.0056 0.013" size="0.0056 0.0056 0.02218" rgba="1 0 0 0.33"/> + <site name="robot0:T_thtip_back_right" type="box" pos="0.0056 0.0056 0.013" size="0.0056 0.0056 0.02218" rgba="0 0 0 0.33"/> + <site name="robot0:T_thtip_tip" type="sphere" pos="0 0 0.026" size="0.01" rgba="1 1 0 0.33"/> + </body> + </body> + </body> + </body> + </body> + </body> + </body> + </body> + </body> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/shared.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/shared.xml new file mode 100644 index 0000000000000000000000000000000000000000..f27f265551c741c4eab32d238869d5c43357cb84 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/shared.xml @@ -0,0 +1,254 @@ +<!-- See LICENSE.md for legal notices. LICENSE.md must be kept together with this file. --> +<mujoco> + <size njmax="500" nconmax="100" nuser_jnt="1" nuser_site="1" nuser_tendon="1" nuser_sensor="1" nuser_actuator="16" nstack="600000"></size> + + <visual> + <map fogstart="3" fogend="5" force="0.1"></map> + <quality shadowsize="4096"></quality> + </visual> + + <default> + <default class="robot0:asset_class"> + <geom friction="1 0.005 0.001" condim="3" margin="0.0005" contype="1" conaffinity="1"></geom> + <joint limited="true" damping="0.1" armature="0.001" margin="0.01" frictionloss="0.001"></joint> + <site size="0.005" rgba="0.4 0.9 0.4 1"></site> + <general ctrllimited="true" forcelimited="true"></general> + </default> + <default class="robot0:D_Touch"> + <site type="box" size="0.009 0.004 0.013" pos="0 -0.004 0.018" rgba="0.8 0.8 0.8 0.15" group="4"></site> + </default> + <default class="robot0:DC_Hand"> + <geom material="robot0:MatColl" contype="1" conaffinity="0" group="4"></geom> + </default> + <default class="robot0:D_Vizual"> + <geom material="robot0:MatViz" contype="0" conaffinity="0" group="1" type="mesh"></geom> + </default> + <default class="robot0:free"> + <joint type="free" damping="0" armature="0" limited="false"></joint> + </default> + </default> + + <contact> + <pair geom1="robot0:C_ffdistal" geom2="robot0:C_thdistal" condim="1"></pair> + <pair geom1="robot0:C_ffmiddle" geom2="robot0:C_thdistal" condim="1"></pair> + <pair geom1="robot0:C_ffproximal" geom2="robot0:C_thdistal" condim="1"></pair> + <pair geom1="robot0:C_mfproximal" geom2="robot0:C_thdistal" condim="1"></pair> + <pair geom1="robot0:C_mfdistal" geom2="robot0:C_thdistal" condim="1"></pair> + <pair geom1="robot0:C_rfdistal" geom2="robot0:C_thdistal" condim="1"></pair> + <pair geom1="robot0:C_lfdistal" geom2="robot0:C_thdistal" condim="1"></pair> + <pair geom1="robot0:C_palm0" geom2="robot0:C_thdistal" condim="1"></pair> + <pair geom1="robot0:C_mfdistal" geom2="robot0:C_ffdistal" condim="1"></pair> + <pair geom1="robot0:C_rfdistal" geom2="robot0:C_mfdistal" condim="1"></pair> + <pair geom1="robot0:C_lfdistal" geom2="robot0:C_rfdistal" condim="1"></pair> + <pair geom1="robot0:C_mfproximal" geom2="robot0:C_ffproximal" condim="1"></pair> + <pair geom1="robot0:C_rfproximal" geom2="robot0:C_mfproximal" condim="1"></pair> + <pair geom1="robot0:C_lfproximal" geom2="robot0:C_rfproximal" condim="1"></pair> + <pair geom1="robot0:C_lfdistal" geom2="robot0:C_rfdistal" condim="1"></pair> + <pair geom1="robot0:C_lfdistal" geom2="robot0:C_mfdistal" condim="1"></pair> + <pair geom1="robot0:C_lfdistal" geom2="robot0:C_rfmiddle" condim="1"></pair> + <pair geom1="robot0:C_lfmiddle" geom2="robot0:C_rfdistal" condim="1"></pair> + <pair geom1="robot0:C_lfmiddle" geom2="robot0:C_rfmiddle" condim="1"></pair> + </contact> + + <tendon> + <fixed name="robot0:T_WRJ1r" limited="true" range="-0.032 0.032" user="1236"> + <joint joint="robot0:WRJ1" coef="0.0325"></joint> + </fixed> + <fixed name="robot0:T_WRJ1l" limited="true" range="-0.032 0.032" user="1237"> + <joint joint="robot0:WRJ1" coef="-0.0325"></joint> + </fixed> + <fixed name="robot0:T_WRJ0u" limited="true" range="-0.032 0.032" user="1236"> + <joint joint="robot0:WRJ0" coef="0.0175"></joint> + </fixed> + <fixed name="robot0:T_WRJ0d" limited="true" range="-0.032 0.032" user="1237"> + <joint joint="robot0:WRJ0" coef="-0.0175"></joint> + </fixed> + <fixed name="robot0:T_FFJ3r" limited="true" range="-0.018 0.018" user="1204"> + <joint joint="robot0:FFJ3" coef="0.01"></joint> + </fixed> + <fixed name="robot0:T_FFJ3l" limited="true" range="-0.018 0.018" user="1205"> + <joint joint="robot0:FFJ3" coef="-0.01"></joint> + </fixed> + <fixed name="robot0:T_FFJ2u" limited="true" range="-0.007 0.03" user="1202"> + <joint joint="robot0:FFJ2" coef="0.01"></joint> + </fixed> + <fixed name="robot0:T_FFJ2d" limited="true" range="-0.03 0.007" user="1203"> + <joint joint="robot0:FFJ2" coef="-0.01"></joint> + </fixed> + <fixed name="robot0:T_FFJ1c" limited="true" range="-0.001 0.001"> + <joint joint="robot0:FFJ0" coef="0.00705"></joint> + <joint joint="robot0:FFJ1" coef="-0.00805"></joint> + </fixed> + <fixed name="robot0:T_FFJ1u" limited="true" range="-0.007 0.03" user="1200"> + <joint joint="robot0:FFJ0" coef="0.00705"></joint> + <joint joint="robot0:FFJ1" coef="0.00805"></joint> + </fixed> + <fixed name="robot0:T_FFJ1d" limited="true" range="-0.03 0.007" user="1201"> + <joint joint="robot0:FFJ0" coef="-0.00705"></joint> + <joint joint="robot0:FFJ1" coef="-0.00805"></joint> + </fixed> + <fixed name="robot0:T_MFJ3r" limited="true" range="-0.018 0.018" user="1210"> + <joint joint="robot0:MFJ3" coef="0.01"></joint> + </fixed> + <fixed name="robot0:T_MFJ3l" limited="true" range="-0.018 0.018" user="1211"> + <joint joint="robot0:MFJ3" coef="-0.01"></joint> + </fixed> + <fixed name="robot0:T_MFJ2u" limited="true" range="-0.007 0.03" user="1208"> + <joint joint="robot0:MFJ2" coef="0.01"></joint> + </fixed> + <fixed name="robot0:T_MFJ2d" limited="true" range="-0.03 0.007" user="1209"> + <joint joint="robot0:MFJ2" coef="-0.01"></joint> + </fixed> + <fixed name="robot0:T_MFJ1c" limited="true" range="-0.001 0.001"> + <joint joint="robot0:MFJ0" coef="0.00705"></joint> + <joint joint="robot0:MFJ1" coef="-0.00805"></joint> + </fixed> + <fixed name="robot0:T_MFJ1u" limited="true" range="-0.007 0.03" user="1206"> + <joint joint="robot0:MFJ0" coef="0.00705"></joint> + <joint joint="robot0:MFJ1" coef="0.00805"></joint> + </fixed> + <fixed name="robot0:T_MFJ1d" limited="true" range="-0.03 0.007" user="1207"> + <joint joint="robot0:MFJ0" coef="-0.00705"></joint> + <joint joint="robot0:MFJ1" coef="-0.00805"></joint> + </fixed> + <fixed name="robot0:T_RFJ3r" limited="true" range="-0.018 0.018" user="1216"> + <joint joint="robot0:RFJ3" coef="0.01"></joint> + </fixed> + <fixed name="robot0:T_RFJ3l" limited="true" range="-0.018 0.018" user="1217"> + <joint joint="robot0:RFJ3" coef="-0.01"></joint> + </fixed> + <fixed name="robot0:T_RFJ2u" limited="true" range="-0.007 0.03" user="1214"> + <joint joint="robot0:RFJ2" coef="0.01"></joint> + </fixed> + <fixed name="robot0:T_RFJ2d" limited="true" range="-0.03 0.007" user="1215"> + <joint joint="robot0:RFJ2" coef="-0.01"></joint> + </fixed> + <fixed name="robot0:T_RFJ1c" limited="true" range="-0.001 0.001"> + <joint joint="robot0:RFJ0" coef="0.00705"></joint> + <joint joint="robot0:RFJ1" coef="-0.00805"></joint> + </fixed> + <fixed name="robot0:T_RFJ1u" limited="true" range="-0.007 0.03" user="1212"> + <joint joint="robot0:RFJ0" coef="0.00705"></joint> + <joint joint="robot0:RFJ1" coef="0.00805"></joint> + </fixed> + <fixed name="robot0:T_RFJ1d" limited="true" range="-0.03 0.007" user="1213"> + <joint joint="robot0:RFJ0" coef="-0.00705"></joint> + <joint joint="robot0:RFJ1" coef="-0.00805"></joint> + </fixed> + <fixed name="robot0:T_LFJ4u" limited="true" range="-0.007 0.03" user="1224"> + <joint joint="robot0:LFJ4" coef="0.01"></joint> + </fixed> + <fixed name="robot0:T_LFJ4d" limited="true" range="-0.03 0.007" user="1225"> + <joint joint="robot0:LFJ4" coef="-0.01"></joint> + </fixed> + <fixed name="robot0:T_LFJ3r" limited="true" range="-0.018 0.018" user="1222"> + <joint joint="robot0:LFJ3" coef="0.01"></joint> + </fixed> + <fixed name="robot0:T_LFJ3l" limited="true" range="-0.018 0.018" user="1223"> + <joint joint="robot0:LFJ3" coef="-0.01"></joint> + </fixed> + <fixed name="robot0:T_LFJ2u" limited="true" range="-0.007 0.03" user="1220"> + <joint joint="robot0:LFJ2" coef="0.01"></joint> + </fixed> + <fixed name="robot0:T_LFJ2d" limited="true" range="-0.03 0.007" user="1221"> + <joint joint="robot0:LFJ2" coef="-0.01"></joint> + </fixed> + <fixed name="robot0:T_LFJ1c" limited="true" range="-0.001 0.001"> + <joint joint="robot0:LFJ0" coef="0.00705"></joint> + <joint joint="robot0:LFJ1" coef="-0.00805"></joint> + </fixed> + <fixed name="robot0:T_LFJ1u" limited="true" range="-0.007 0.03" user="1218"> + <joint joint="robot0:LFJ0" coef="0.00705"></joint> + <joint joint="robot0:LFJ1" coef="0.00805"></joint> + </fixed> + <fixed name="robot0:T_LFJ1d" limited="true" range="-0.03 0.007" user="1219"> + <joint joint="robot0:LFJ0" coef="-0.00705"></joint> + <joint joint="robot0:LFJ1" coef="-0.00805"></joint> + </fixed> + <fixed name="robot0:T_THJ4a" limited="true" range="-0.018 0.018" user="1234"> + <joint joint="robot0:THJ4" coef="0.01636"></joint> + </fixed> + <fixed name="robot0:T_THJ4c" limited="true" range="-0.018 0.018" user="1235"> + <joint joint="robot0:THJ4" coef="-0.01636"></joint> + </fixed> + <fixed name="robot0:T_THJ3u" limited="true" range="-0.007 0.03" user="1232"> + <joint joint="robot0:THJ3" coef="0.01"></joint> + </fixed> + <fixed name="robot0:T_THJ3d" limited="true" range="-0.03 0.007" user="1233"> + <joint joint="robot0:THJ3" coef="-0.01"></joint> + </fixed> + <fixed name="robot0:T_THJ2u" limited="true" range="-0.018 0.018" user="1230"> + <joint joint="robot0:THJ2" coef="0.011"></joint> + </fixed> + <fixed name="robot0:T_THJ2d" limited="true" range="-0.018 0.018" user="1231"> + <joint joint="robot0:THJ2" coef="-0.011"></joint> + </fixed> + <fixed name="robot0:T_THJ1r" limited="true" range="-0.018 0.018" user="1228"> + <joint joint="robot0:THJ1" coef="0.011"></joint> + </fixed> + <fixed name="robot0:T_THJ1l" limited="true" range="-0.018 0.018" user="1229"> + <joint joint="robot0:THJ1" coef="-0.011"></joint> + </fixed> + <fixed name="robot0:T_THJ0r" limited="true" range="-0.03 0.007" user="1226"> + <joint joint="robot0:THJ0" coef="0.009"></joint> + </fixed> + <fixed name="robot0:T_THJ0l" limited="true" range="-0.007 0.03" user="1227"> + <joint joint="robot0:THJ0" coef="-0.009"></joint> + </fixed> + </tendon> + + <sensor> + <jointpos name="robot0:Sjp_WRJ1" joint="robot0:WRJ1"></jointpos> + <jointpos name="robot0:Sjp_WRJ0" joint="robot0:WRJ0"></jointpos> + <jointpos name="robot0:Sjp_FFJ3" joint="robot0:FFJ3"></jointpos> + <jointpos name="robot0:Sjp_FFJ2" joint="robot0:FFJ2"></jointpos> + <jointpos name="robot0:Sjp_FFJ1" joint="robot0:FFJ1"></jointpos> + <jointpos name="robot0:Sjp_FFJ0" joint="robot0:FFJ0"></jointpos> + <jointpos name="robot0:Sjp_MFJ3" joint="robot0:MFJ3"></jointpos> + <jointpos name="robot0:Sjp_MFJ2" joint="robot0:MFJ2"></jointpos> + <jointpos name="robot0:Sjp_MFJ1" joint="robot0:MFJ1"></jointpos> + <jointpos name="robot0:Sjp_MFJ0" joint="robot0:MFJ0"></jointpos> + <jointpos name="robot0:Sjp_RFJ3" joint="robot0:RFJ3"></jointpos> + <jointpos name="robot0:Sjp_RFJ2" joint="robot0:RFJ2"></jointpos> + <jointpos name="robot0:Sjp_RFJ1" joint="robot0:RFJ1"></jointpos> + <jointpos name="robot0:Sjp_RFJ0" joint="robot0:RFJ0"></jointpos> + <jointpos name="robot0:Sjp_LFJ4" joint="robot0:LFJ4"></jointpos> + <jointpos name="robot0:Sjp_LFJ3" joint="robot0:LFJ3"></jointpos> + <jointpos name="robot0:Sjp_LFJ2" joint="robot0:LFJ2"></jointpos> + <jointpos name="robot0:Sjp_LFJ1" joint="robot0:LFJ1"></jointpos> + <jointpos name="robot0:Sjp_LFJ0" joint="robot0:LFJ0"></jointpos> + <jointpos name="robot0:Sjp_THJ4" joint="robot0:THJ4"></jointpos> + <jointpos name="robot0:Sjp_THJ3" joint="robot0:THJ3"></jointpos> + <jointpos name="robot0:Sjp_THJ2" joint="robot0:THJ2"></jointpos> + <jointpos name="robot0:Sjp_THJ1" joint="robot0:THJ1"></jointpos> + <jointpos name="robot0:Sjp_THJ0" joint="robot0:THJ0"></jointpos> + <touch name="robot0:ST_Tch_fftip" site="robot0:Tch_fftip"></touch> + <touch name="robot0:ST_Tch_mftip" site="robot0:Tch_mftip"></touch> + <touch name="robot0:ST_Tch_rftip" site="robot0:Tch_rftip"></touch> + <touch name="robot0:ST_Tch_lftip" site="robot0:Tch_lftip"></touch> + <touch name="robot0:ST_Tch_thtip" site="robot0:Tch_thtip"></touch> + </sensor> + + <actuator> + <position name="robot0:A_WRJ1" class="robot0:asset_class" user="2038" joint="robot0:WRJ1" ctrlrange="-0.489 0.14" kp="5" forcerange="-4.785 4.785"></position> + <position name="robot0:A_WRJ0" class="robot0:asset_class" user="2036" joint="robot0:WRJ0" ctrlrange="-0.698 0.489" kp="5" forcerange="-2.175 2.175"></position> + <position name="robot0:A_FFJ3" class="robot0:asset_class" user="2004" joint="robot0:FFJ3" ctrlrange="-0.349 0.349" kp="1" forcerange="-0.9 0.9"></position> + <position name="robot0:A_FFJ2" class="robot0:asset_class" user="2002" joint="robot0:FFJ2" ctrlrange="0 1.571" kp="1" forcerange="-0.9 0.9"></position> + <position name="robot0:A_FFJ1" class="robot0:asset_class" user="2000" joint="robot0:FFJ1" ctrlrange="0 1.571" kp="1" forcerange="-0.7245 0.7245"></position> + <position name="robot0:A_MFJ3" class="robot0:asset_class" user="2010" joint="robot0:MFJ3" ctrlrange="-0.349 0.349" kp="1" forcerange="-0.9 0.9"></position> + <position name="robot0:A_MFJ2" class="robot0:asset_class" user="2008" joint="robot0:MFJ2" ctrlrange="0 1.571" kp="1" forcerange="-0.9 0.9"></position> + <position name="robot0:A_MFJ1" class="robot0:asset_class" user="2006" joint="robot0:MFJ1" ctrlrange="0 1.571" kp="1" forcerange="-0.7245 0.7245"></position> + <position name="robot0:A_RFJ3" class="robot0:asset_class" user="2016" joint="robot0:RFJ3" ctrlrange="-0.349 0.349" kp="1" forcerange="-0.9 0.9"></position> + <position name="robot0:A_RFJ2" class="robot0:asset_class" user="2014" joint="robot0:RFJ2" ctrlrange="0 1.571" kp="1" forcerange="-0.9 0.9"></position> + <position name="robot0:A_RFJ1" class="robot0:asset_class" user="2012" joint="robot0:RFJ1" ctrlrange="0 1.571" kp="1" forcerange="-0.7245 0.7245"></position> + <position name="robot0:A_LFJ4" class="robot0:asset_class" user="2024" joint="robot0:LFJ4" ctrlrange="0 0.785" kp="1" forcerange="-0.9 0.9"></position> + <position name="robot0:A_LFJ3" class="robot0:asset_class" user="2022" joint="robot0:LFJ3" ctrlrange="-0.349 0.349" kp="1" forcerange="-0.9 0.9"></position> + <position name="robot0:A_LFJ2" class="robot0:asset_class" user="2020" joint="robot0:LFJ2" ctrlrange="0 1.571" kp="1" forcerange="-0.9 0.9"></position> + <position name="robot0:A_LFJ1" class="robot0:asset_class" user="2018" joint="robot0:LFJ1" ctrlrange="0 1.571" kp="1" forcerange="-0.7245 0.7245"></position> + <position name="robot0:A_THJ4" class="robot0:asset_class" user="2034" joint="robot0:THJ4" ctrlrange="-1.047 1.047" kp="1" forcerange="-2.3722 2.3722"></position> + <position name="robot0:A_THJ3" class="robot0:asset_class" user="2032" joint="robot0:THJ3" ctrlrange="0 1.222" kp="1" forcerange="-1.45 1.45"></position> + <position name="robot0:A_THJ2" class="robot0:asset_class" user="2030" joint="robot0:THJ2" ctrlrange="-0.209 0.209" kp="1" forcerange="-0.99 0.99"></position> + <position name="robot0:A_THJ1" class="robot0:asset_class" user="2028" joint="robot0:THJ1" ctrlrange="-0.524 0.524" kp="1" forcerange="-0.99 0.99"></position> + <position name="robot0:A_THJ0" class="robot0:asset_class" user="2026" joint="robot0:THJ0" ctrlrange="-1.571 0" kp="1" forcerange="-0.81 0.81"></position> + </actuator> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/shared_asset.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/shared_asset.xml new file mode 100644 index 0000000000000000000000000000000000000000..ec9a0b08b641fa520e4b09e8d8ff3772c2962ac7 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/shared_asset.xml @@ -0,0 +1,26 @@ +<!-- See LICENSE.md for legal notices. LICENSE.md must be kept together with this file. --> +<mujoco> + <texture type="skybox" builtin="gradient" rgb1="0.44 0.85 0.56" rgb2="0.46 0.87 0.58" width="32" height="32"></texture> + + <texture name="robot0:texplane" type="2d" builtin="checker" rgb1="0.2 0.3 0.4" rgb2="0.1 0.15 0.2" width="512" height="512"></texture> + <texture name="robot0:texgeom" type="cube" builtin="flat" mark="cross" width="127" height="127" rgb1="0.3 0.6 0.5" rgb2="0.3 0.6 0.5" markrgb="0 0 0" random="0.01"></texture> + + <material name="robot0:MatGnd" reflectance="0.5" texture="robot0:texplane" texrepeat="1 1" texuniform="true"></material> + <material name="robot0:MatColl" specular="1" shininess="0.3" reflectance="0.5" rgba="0.4 0.5 0.6 1"></material> + <material name="robot0:MatViz" specular="0.75" shininess="0.1" reflectance="0.5" rgba="0.93 0.93 0.93 1"></material> + <material name="robot0:object" texture="robot0:texgeom" texuniform="false"></material> + <material name="floor_mat" specular="0" shininess="0.5" reflectance="0" rgba="0.2 0.2 0.2 0"></material> + + <mesh name="robot0:forearm" file="forearm_electric.stl"></mesh> + <mesh name="robot0:forearm_cvx" file="forearm_electric_cvx.stl"></mesh> + <mesh name="robot0:wrist" scale="0.001 0.001 0.001" file="wrist.stl"></mesh> + <mesh name="robot0:palm" scale="0.001 0.001 0.001" file="palm.stl"></mesh> + <mesh name="robot0:knuckle" scale="0.001 0.001 0.001" file="knuckle.stl"></mesh> + <mesh name="robot0:F3" scale="0.001 0.001 0.001" file="F3.stl"></mesh> + <mesh name="robot0:F2" scale="0.001 0.001 0.001" file="F2.stl"></mesh> + <mesh name="robot0:F1" scale="0.001 0.001 0.001" file="F1.stl"></mesh> + <mesh name="robot0:lfmetacarpal" scale="0.001 0.001 0.001" file="lfmetacarpal.stl"></mesh> + <mesh name="robot0:TH3_z" scale="0.001 0.001 0.001" file="TH3_z.stl"></mesh> + <mesh name="robot0:TH2_z" scale="0.001 0.001 0.001" file="TH2_z.stl"></mesh> + <mesh name="robot0:TH1_z" scale="0.001 0.001 0.001" file="TH1_z.stl"></mesh> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/shared_touch_sensors_92.xml b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/shared_touch_sensors_92.xml new file mode 100644 index 0000000000000000000000000000000000000000..472c84ccb7c3b1858aa6d83b67f764aadf1cdf0c --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/hand/shared_touch_sensors_92.xml @@ -0,0 +1,120 @@ +<mujoco> + <sensor> + + <!--PALM--> + <touch name="robot0:TS_palm_b0" site="robot0:T_palm_b0"></touch> + <touch name="robot0:TS_palm_bl" site="robot0:T_palm_bl"></touch> + <touch name="robot0:TS_palm_bm" site="robot0:T_palm_bm"></touch> + <touch name="robot0:TS_palm_br" site="robot0:T_palm_br"></touch> + <touch name="robot0:TS_palm_fl" site="robot0:T_palm_fl"></touch> + <touch name="robot0:TS_palm_fm" site="robot0:T_palm_fm"></touch> + <touch name="robot0:TS_palm_fr" site="robot0:T_palm_fr"></touch> + <touch name="robot0:TS_palm_b1" site="robot0:T_palm_b1"></touch> + + <!--FOREFINGER--> + <touch name="robot0:TS_ffproximal_front_left_bottom" site="robot0:T_ffproximal_front_left_bottom"></touch> + <touch name="robot0:TS_ffproximal_front_right_bottom" site="robot0:T_ffproximal_front_right_bottom"></touch> + <touch name="robot0:TS_ffproximal_front_left_top" site="robot0:T_ffproximal_front_left_top"></touch> + <touch name="robot0:TS_ffproximal_front_right_top" site="robot0:T_ffproximal_front_right_top"></touch> + <touch name="robot0:TS_ffproximal_back_left" site="robot0:T_ffproximal_back_left"></touch> + <touch name="robot0:TS_ffproximal_back_right" site="robot0:T_ffproximal_back_right"></touch> + <touch name="robot0:TS_ffproximal_tip" site="robot0:T_ffproximal_tip"></touch> + + <touch name="robot0:TS_ffmiddle_front_left" site="robot0:T_ffmiddle_front_left"></touch> + <touch name="robot0:TS_ffmiddle_front_right" site="robot0:T_ffmiddle_front_right"></touch> + <touch name="robot0:TS_ffmiddle_back_left" site="robot0:T_ffmiddle_back_left"></touch> + <touch name="robot0:TS_ffmiddle_back_right" site="robot0:T_ffmiddle_back_right"></touch> + <touch name="robot0:TS_ffmiddle_tip" site="robot0:T_ffmiddle_tip"></touch> + + <touch name="robot0:TS_fftip_front_left" site="robot0:T_fftip_front_left"></touch> + <touch name="robot0:TS_fftip_front_right" site="robot0:T_fftip_front_right"></touch> + <touch name="robot0:TS_fftip_back_left" site="robot0:T_fftip_back_left"></touch> + <touch name="robot0:TS_fftip_back_right" site="robot0:T_fftip_back_right"></touch> + <touch name="robot0:TS_fftip_tip" site="robot0:T_fftip_tip"></touch> + + <!-- MIDDLE FINGER --> + <touch name="robot0:TS_mfproximal_front_left_bottom" site="robot0:T_mfproximal_front_left_bottom"></touch> + <touch name="robot0:TS_mfproximal_front_right_bottom" site="robot0:T_mfproximal_front_right_bottom"></touch> + <touch name="robot0:TS_mfproximal_front_left_top" site="robot0:T_mfproximal_front_left_top"></touch> + <touch name="robot0:TS_mfproximal_front_right_top" site="robot0:T_mfproximal_front_right_top"></touch> + <touch name="robot0:TS_mfproximal_back_left" site="robot0:T_mfproximal_back_left"></touch> + <touch name="robot0:TS_mfproximal_back_right" site="robot0:T_mfproximal_back_right"></touch> + <touch name="robot0:TS_mfproximal_tip" site="robot0:T_mfproximal_tip"></touch> + + <touch name="robot0:TS_mfmiddle_front_left" site="robot0:T_mfmiddle_front_left"></touch> + <touch name="robot0:TS_mfmiddle_front_right" site="robot0:T_mfmiddle_front_right"></touch> + <touch name="robot0:TS_mfmiddle_back_left" site="robot0:T_mfmiddle_back_left"></touch> + <touch name="robot0:TS_mfmiddle_back_right" site="robot0:T_mfmiddle_back_right"></touch> + <touch name="robot0:TS_mfmiddle_tip" site="robot0:T_mfmiddle_tip"></touch> + + <touch name="robot0:TS_mftip_front_left" site="robot0:T_mftip_front_left"></touch> + <touch name="robot0:TS_mftip_front_right" site="robot0:T_mftip_front_right"></touch> + <touch name="robot0:TS_mftip_back_left" site="robot0:T_mftip_back_left"></touch> + <touch name="robot0:TS_mftip_back_right" site="robot0:T_mftip_back_right"></touch> + <touch name="robot0:TS_mftip_tip" site="robot0:T_mftip_tip"></touch> + + <!-- RING FINGER --> + <touch name="robot0:TS_rfproximal_front_left_bottom" site="robot0:T_rfproximal_front_left_bottom"></touch> + <touch name="robot0:TS_rfproximal_front_right_bottom" site="robot0:T_rfproximal_front_right_bottom"></touch> + <touch name="robot0:TS_rfproximal_front_left_top" site="robot0:T_rfproximal_front_left_top"></touch> + <touch name="robot0:TS_rfproximal_front_right_top" site="robot0:T_rfproximal_front_right_top"></touch> + <touch name="robot0:TS_rfproximal_back_left" site="robot0:T_rfproximal_back_left"></touch> + <touch name="robot0:TS_rfproximal_back_right" site="robot0:T_rfproximal_back_right"></touch> + <touch name="robot0:TS_rfproximal_tip" site="robot0:T_rfproximal_tip"></touch> + + <touch name="robot0:TS_rfmiddle_front_left" site="robot0:T_rfmiddle_front_left"></touch> + <touch name="robot0:TS_rfmiddle_front_right" site="robot0:T_rfmiddle_front_right"></touch> + <touch name="robot0:TS_rfmiddle_back_left" site="robot0:T_rfmiddle_back_left"></touch> + <touch name="robot0:TS_rfmiddle_back_right" site="robot0:T_rfmiddle_back_right"></touch> + <touch name="robot0:TS_rfmiddle_tip" site="robot0:T_rfmiddle_tip"></touch> + + <touch name="robot0:TS_rftip_front_left" site="robot0:T_rftip_front_left"></touch> + <touch name="robot0:TS_rftip_front_right" site="robot0:T_rftip_front_right"></touch> + <touch name="robot0:TS_rftip_back_left" site="robot0:T_rftip_back_left"></touch> + <touch name="robot0:TS_rftip_back_right" site="robot0:T_rftip_back_right"></touch> + <touch name="robot0:TS_rftip_tip" site="robot0:T_rftip_tip"></touch> + + <!-- LITTLE FINGER --> + <touch name="robot0:TS_lfmetacarpal_front" site="robot0:T_lfmetacarpal_front"></touch> + + <touch name="robot0:TS_lfproximal_front_left_bottom" site="robot0:T_lfproximal_front_left_bottom"></touch> + <touch name="robot0:TS_lfproximal_front_right_bottom" site="robot0:T_lfproximal_front_right_bottom"></touch> + <touch name="robot0:TS_lfproximal_front_left_top" site="robot0:T_lfproximal_front_left_top"></touch> + <touch name="robot0:TS_lfproximal_front_right_top" site="robot0:T_lfproximal_front_right_top"></touch> + <touch name="robot0:TS_lfproximal_back_left" site="robot0:T_lfproximal_back_left"></touch> + <touch name="robot0:TS_lfproximal_back_right" site="robot0:T_lfproximal_back_right"></touch> + <touch name="robot0:TS_lfproximal_tip" site="robot0:T_lfproximal_tip"></touch> + + <touch name="robot0:TS_lfmiddle_front_left" site="robot0:T_lfmiddle_front_left"></touch> + <touch name="robot0:TS_lfmiddle_front_right" site="robot0:T_lfmiddle_front_right"></touch> + <touch name="robot0:TS_lfmiddle_back_left" site="robot0:T_lfmiddle_back_left"></touch> + <touch name="robot0:TS_lfmiddle_back_right" site="robot0:T_lfmiddle_back_right"></touch> + <touch name="robot0:TS_lfmiddle_tip" site="robot0:T_lfmiddle_tip"></touch> + + <touch name="robot0:TS_lftip_front_left" site="robot0:T_lftip_front_left"></touch> + <touch name="robot0:TS_lftip_front_right" site="robot0:T_lftip_front_right"></touch> + <touch name="robot0:TS_lftip_back_left" site="robot0:T_lftip_back_left"></touch> + <touch name="robot0:TS_lftip_back_right" site="robot0:T_lftip_back_right"></touch> + <touch name="robot0:TS_lftip_tip" site="robot0:T_lftip_tip"></touch> + + <!--THUMB--> + <touch name="robot0:TS_thproximal_front_left" site="robot0:T_thproximal_front_left"></touch> + <touch name="robot0:TS_thproximal_front_right" site="robot0:T_thproximal_front_right"></touch> + <touch name="robot0:TS_thproximal_back_left" site="robot0:T_thproximal_back_left"></touch> + <touch name="robot0:TS_thproximal_back_right" site="robot0:T_thproximal_back_right"></touch> + <touch name="robot0:TS_thproximal_tip" site="robot0:T_thproximal_tip"></touch> + + <touch name="robot0:TS_thmiddle_front_left" site="robot0:T_thmiddle_front_left"></touch> + <touch name="robot0:TS_thmiddle_front_right" site="robot0:T_thmiddle_front_right"></touch> + <touch name="robot0:TS_thmiddle_back_left" site="robot0:T_thmiddle_back_left"></touch> + <touch name="robot0:TS_thmiddle_back_right" site="robot0:T_thmiddle_back_right"></touch> + <touch name="robot0:TS_thmiddle_tip" site="robot0:T_thmiddle_tip"></touch> + + <touch name="robot0:TS_thtip_front_left" site="robot0:T_thtip_front_left"></touch> + <touch name="robot0:TS_thtip_front_right" site="robot0:T_thtip_front_right"></touch> + <touch name="robot0:TS_thtip_back_left" site="robot0:T_thtip_back_left"></touch> + <touch name="robot0:TS_thtip_back_right" site="robot0:T_thtip_back_right"></touch> + <touch name="robot0:TS_thtip_tip" site="robot0:T_thtip_tip"></touch> + + </sensor> +</mujoco> diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/base_link_collision.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/base_link_collision.stl new file mode 100644 index 0000000000000000000000000000000000000000..1ef459fd5bb63e2e5391b6166bc3231b37d07170 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/base_link_collision.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/bellows_link_collision.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/bellows_link_collision.stl new file mode 100644 index 0000000000000000000000000000000000000000..a7e5ab75ca42d597fc49d7913446ab7e6c2388f3 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/bellows_link_collision.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/elbow_flex_link_collision.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/elbow_flex_link_collision.stl new file mode 100644 index 0000000000000000000000000000000000000000..b0eea0777a10b5aad2e9237c888883944492c42e Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/elbow_flex_link_collision.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/estop_link.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/estop_link.stl new file mode 100644 index 0000000000000000000000000000000000000000..f6d1c72e85f9b028b8a6026278a1d99f1035f353 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/estop_link.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/forearm_roll_link_collision.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/forearm_roll_link_collision.stl new file mode 100644 index 0000000000000000000000000000000000000000..fe468c540639d27015b8859a235bc10ce931ab8e Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/forearm_roll_link_collision.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/gripper_link.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/gripper_link.stl new file mode 100644 index 0000000000000000000000000000000000000000..8a1487401a6b3f85edd115fd76419851d0001a6f Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/gripper_link.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/head_pan_link_collision.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/head_pan_link_collision.stl new file mode 100644 index 0000000000000000000000000000000000000000..c77b5b187257f0ca97da05b5222d6115e01eff09 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/head_pan_link_collision.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/head_tilt_link_collision.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/head_tilt_link_collision.stl new file mode 100644 index 0000000000000000000000000000000000000000..53c2ddc58c1d342df4f30deb56137bda68aedeed Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/head_tilt_link_collision.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/l_wheel_link_collision.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/l_wheel_link_collision.stl new file mode 100644 index 0000000000000000000000000000000000000000..5c1752487efc163453d32996e667e63713a6a398 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/l_wheel_link_collision.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/laser_link.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/laser_link.stl new file mode 100644 index 0000000000000000000000000000000000000000..fa4882fc9830423e8f0b623636c325f9154feba9 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/laser_link.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/r_wheel_link_collision.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/r_wheel_link_collision.stl new file mode 100644 index 0000000000000000000000000000000000000000..3742b24694f3bcf542254754f452eb316006b35b Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/r_wheel_link_collision.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/shoulder_lift_link_collision.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/shoulder_lift_link_collision.stl new file mode 100644 index 0000000000000000000000000000000000000000..c9aff0dda920b09c76639d737fbb6a3d83c29d10 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/shoulder_lift_link_collision.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/shoulder_pan_link_collision.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/shoulder_pan_link_collision.stl new file mode 100644 index 0000000000000000000000000000000000000000..ac17a943757561c9d0d5b381af2cbc24b8b8b4c4 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/shoulder_pan_link_collision.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/torso_fixed_link.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/torso_fixed_link.stl new file mode 100644 index 0000000000000000000000000000000000000000..7cf7fc147ebeae583d537a0a9842398921f8495f Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/torso_fixed_link.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/torso_lift_link_collision.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/torso_lift_link_collision.stl new file mode 100644 index 0000000000000000000000000000000000000000..4ce5fcf9c58c885b37dc012f6a539f3e89776006 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/torso_lift_link_collision.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/upperarm_roll_link_collision.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/upperarm_roll_link_collision.stl new file mode 100644 index 0000000000000000000000000000000000000000..120793232e41601320be52e298be450de59e3b5f Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/upperarm_roll_link_collision.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/wrist_flex_link_collision.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/wrist_flex_link_collision.stl new file mode 100644 index 0000000000000000000000000000000000000000..3215d2e1de0f271dfdfc8abb2c00c47cafaabe45 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/wrist_flex_link_collision.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/wrist_roll_link_collision.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/wrist_roll_link_collision.stl new file mode 100644 index 0000000000000000000000000000000000000000..742bdd9197a34dadf2092b6062ebd18cf7ff9ab8 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/fetch/wrist_roll_link_collision.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/F1.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/F1.stl new file mode 100644 index 0000000000000000000000000000000000000000..515d3c90169fb7b7a5ecb344bb63267d5352ad8c Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/F1.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/F2.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/F2.stl new file mode 100644 index 0000000000000000000000000000000000000000..7bc5e20e0687f593401d369224d6f36d78f37534 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/F2.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/F3.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/F3.stl new file mode 100644 index 0000000000000000000000000000000000000000..223f06f5bfb8af17e33c6fee5f0fa3d65c76d6bf Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/F3.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/TH1_z.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/TH1_z.stl new file mode 100644 index 0000000000000000000000000000000000000000..400ee2d62567af07045150511539919e758c05eb Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/TH1_z.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/TH2_z.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/TH2_z.stl new file mode 100644 index 0000000000000000000000000000000000000000..5ace8388b9fad8fc9f4a30d25a00592a312864f1 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/TH2_z.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/TH3_z.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/TH3_z.stl new file mode 100644 index 0000000000000000000000000000000000000000..23485abc720951ef1ae56a72aa965e30c3ab8442 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/TH3_z.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/forearm_electric.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/forearm_electric.stl new file mode 100644 index 0000000000000000000000000000000000000000..80f6f3da18910adf264507190fbb4d074a9da32f Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/forearm_electric.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/forearm_electric_cvx.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/forearm_electric_cvx.stl new file mode 100644 index 0000000000000000000000000000000000000000..3c30f57eaa99ae884a8c69d37401c8875ad3b712 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/forearm_electric_cvx.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/knuckle.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/knuckle.stl new file mode 100644 index 0000000000000000000000000000000000000000..4faedd75409416ac79c8481c067bddff06eac19c Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/knuckle.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/lfmetacarpal.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/lfmetacarpal.stl new file mode 100644 index 0000000000000000000000000000000000000000..535cf4dbca59590f813c6dcc8abbd10bc7810a3a Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/lfmetacarpal.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/palm.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/palm.stl new file mode 100644 index 0000000000000000000000000000000000000000..65e47eb65dad73dee839c05a7b1b2c285541defb Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/palm.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/wrist.stl b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/wrist.stl new file mode 100644 index 0000000000000000000000000000000000000000..420d5f9c678de1f13ace2fb50a9ba3531ab90194 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/stls/hand/wrist.stl differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/textures/block.png b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/textures/block.png new file mode 100644 index 0000000000000000000000000000000000000000..0243b8f33123749b1811b3ae03eeb202d0279db6 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/textures/block.png differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/textures/block_hidden.png b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/textures/block_hidden.png new file mode 100644 index 0000000000000000000000000000000000000000..e08b8613c4dfede9786e5ed841dc6dd529fef92e Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/assets/textures/block_hidden.png differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/fetch/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/fetch/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/fetch/pick_and_place.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/fetch/pick_and_place.py new file mode 100644 index 0000000000000000000000000000000000000000..c6c5e7ea99703d8aca43cf94223d7fd58aa7ac12 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/fetch/pick_and_place.py @@ -0,0 +1,23 @@ +import os +from gym import utils +from gym.envs.robotics import fetch_env + + +# Ensure we get the path separator correct on windows +MODEL_XML_PATH = os.path.join('fetch', 'pick_and_place.xml') + + +class FetchPickAndPlaceEnv(fetch_env.FetchEnv, utils.EzPickle): + def __init__(self, reward_type='sparse'): + initial_qpos = { + 'robot0:slide0': 0.405, + 'robot0:slide1': 0.48, + 'robot0:slide2': 0.0, + 'object0:joint': [1.25, 0.53, 0.4, 1., 0., 0., 0.], + } + fetch_env.FetchEnv.__init__( + self, MODEL_XML_PATH, has_object=True, block_gripper=False, n_substeps=20, + gripper_extra_height=0.2, target_in_the_air=True, target_offset=0.0, + obj_range=0.15, target_range=0.15, distance_threshold=0.05, + initial_qpos=initial_qpos, reward_type=reward_type) + utils.EzPickle.__init__(self) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/fetch/push.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/fetch/push.py new file mode 100644 index 0000000000000000000000000000000000000000..bde15ec00e047826a6183b8cac5444dc1fcead02 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/fetch/push.py @@ -0,0 +1,23 @@ +import os +from gym import utils +from gym.envs.robotics import fetch_env + + +# Ensure we get the path separator correct on windows +MODEL_XML_PATH = os.path.join('fetch', 'push.xml') + + +class FetchPushEnv(fetch_env.FetchEnv, utils.EzPickle): + def __init__(self, reward_type='sparse'): + initial_qpos = { + 'robot0:slide0': 0.405, + 'robot0:slide1': 0.48, + 'robot0:slide2': 0.0, + 'object0:joint': [1.25, 0.53, 0.4, 1., 0., 0., 0.], + } + fetch_env.FetchEnv.__init__( + self, MODEL_XML_PATH, has_object=True, block_gripper=True, n_substeps=20, + gripper_extra_height=0.0, target_in_the_air=False, target_offset=0.0, + obj_range=0.15, target_range=0.15, distance_threshold=0.05, + initial_qpos=initial_qpos, reward_type=reward_type) + utils.EzPickle.__init__(self) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/fetch/reach.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/fetch/reach.py new file mode 100644 index 0000000000000000000000000000000000000000..cc3fc46c65e5ee006c31d36fbbdbb70055238a90 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/fetch/reach.py @@ -0,0 +1,22 @@ +import os +from gym import utils +from gym.envs.robotics import fetch_env + + +# Ensure we get the path separator correct on windows +MODEL_XML_PATH = os.path.join('fetch', 'reach.xml') + + +class FetchReachEnv(fetch_env.FetchEnv, utils.EzPickle): + def __init__(self, reward_type='sparse'): + initial_qpos = { + 'robot0:slide0': 0.4049, + 'robot0:slide1': 0.48, + 'robot0:slide2': 0.0, + } + fetch_env.FetchEnv.__init__( + self, MODEL_XML_PATH, has_object=False, block_gripper=True, n_substeps=20, + gripper_extra_height=0.2, target_in_the_air=True, target_offset=0.0, + obj_range=0.15, target_range=0.15, distance_threshold=0.05, + initial_qpos=initial_qpos, reward_type=reward_type) + utils.EzPickle.__init__(self) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/fetch/slide.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/fetch/slide.py new file mode 100644 index 0000000000000000000000000000000000000000..63234dba17653cea14a377b9de1c1d72b7f41972 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/fetch/slide.py @@ -0,0 +1,25 @@ +import os +import numpy as np + +from gym import utils +from gym.envs.robotics import fetch_env + + +# Ensure we get the path separator correct on windows +MODEL_XML_PATH = os.path.join('fetch', 'slide.xml') + + +class FetchSlideEnv(fetch_env.FetchEnv, utils.EzPickle): + def __init__(self, reward_type='sparse'): + initial_qpos = { + 'robot0:slide0': 0.05, + 'robot0:slide1': 0.48, + 'robot0:slide2': 0.0, + 'object0:joint': [1.7, 1.1, 0.41, 1., 0., 0., 0.], + } + fetch_env.FetchEnv.__init__( + self, MODEL_XML_PATH, has_object=True, block_gripper=True, n_substeps=20, + gripper_extra_height=-0.02, target_in_the_air=False, target_offset=np.array([0.4, 0.0, 0.0]), + obj_range=0.1, target_range=0.3, distance_threshold=0.05, + initial_qpos=initial_qpos, reward_type=reward_type) + utils.EzPickle.__init__(self) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/fetch_env.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/fetch_env.py new file mode 100644 index 0000000000000000000000000000000000000000..31d70ee262f41a689b77d86ebdca55177cbf467d --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/fetch_env.py @@ -0,0 +1,190 @@ +import numpy as np + +from gym.envs.robotics import rotations, robot_env, utils + + +def goal_distance(goal_a, goal_b): + assert goal_a.shape == goal_b.shape + return np.linalg.norm(goal_a - goal_b, axis=-1) + + +class FetchEnv(robot_env.RobotEnv): + """Superclass for all Fetch environments. + """ + + def __init__( + self, model_path, n_substeps, gripper_extra_height, block_gripper, + has_object, target_in_the_air, target_offset, obj_range, target_range, + distance_threshold, initial_qpos, reward_type, + ): + """Initializes a new Fetch environment. + + Args: + model_path (string): path to the environments XML file + n_substeps (int): number of substeps the simulation runs on every call to step + gripper_extra_height (float): additional height above the table when positioning the gripper + block_gripper (boolean): whether or not the gripper is blocked (i.e. not movable) or not + has_object (boolean): whether or not the environment has an object + target_in_the_air (boolean): whether or not the target should be in the air above the table or on the table surface + target_offset (float or array with 3 elements): offset of the target + obj_range (float): range of a uniform distribution for sampling initial object positions + target_range (float): range of a uniform distribution for sampling a target + distance_threshold (float): the threshold after which a goal is considered achieved + initial_qpos (dict): a dictionary of joint names and values that define the initial configuration + reward_type ('sparse' or 'dense'): the reward type, i.e. sparse or dense + """ + self.gripper_extra_height = gripper_extra_height + self.block_gripper = block_gripper + self.has_object = has_object + self.target_in_the_air = target_in_the_air + self.target_offset = target_offset + self.obj_range = obj_range + self.target_range = target_range + self.distance_threshold = distance_threshold + self.reward_type = reward_type + + super(FetchEnv, self).__init__( + model_path=model_path, n_substeps=n_substeps, n_actions=4, + initial_qpos=initial_qpos) + + # GoalEnv methods + # ---------------------------- + + def compute_reward(self, achieved_goal, goal, info): + # Compute distance between goal and the achieved goal. + d = goal_distance(achieved_goal, goal) + if self.reward_type == 'sparse': + return -(d > self.distance_threshold).astype(np.float32) + else: + return -d + + # RobotEnv methods + # ---------------------------- + + def _step_callback(self): + if self.block_gripper: + self.sim.data.set_joint_qpos('robot0:l_gripper_finger_joint', 0.) + self.sim.data.set_joint_qpos('robot0:r_gripper_finger_joint', 0.) + self.sim.forward() + + def _set_action(self, action): + assert action.shape == (4,) + action = action.copy() # ensure that we don't change the action outside of this scope + pos_ctrl, gripper_ctrl = action[:3], action[3] + + pos_ctrl *= 0.05 # limit maximum change in position + rot_ctrl = [1., 0., 1., 0.] # fixed rotation of the end effector, expressed as a quaternion + gripper_ctrl = np.array([gripper_ctrl, gripper_ctrl]) + assert gripper_ctrl.shape == (2,) + if self.block_gripper: + gripper_ctrl = np.zeros_like(gripper_ctrl) + action = np.concatenate([pos_ctrl, rot_ctrl, gripper_ctrl]) + + # Apply action to simulation. + utils.ctrl_set_action(self.sim, action) + utils.mocap_set_action(self.sim, action) + + def _get_obs(self): + # positions + grip_pos = self.sim.data.get_site_xpos('robot0:grip') + dt = self.sim.nsubsteps * self.sim.model.opt.timestep + grip_velp = self.sim.data.get_site_xvelp('robot0:grip') * dt + robot_qpos, robot_qvel = utils.robot_get_obs(self.sim) + if self.has_object: + object_pos = self.sim.data.get_site_xpos('object0') + # rotations + object_rot = rotations.mat2euler(self.sim.data.get_site_xmat('object0')) + # velocities + object_velp = self.sim.data.get_site_xvelp('object0') * dt + object_velr = self.sim.data.get_site_xvelr('object0') * dt + # gripper state + object_rel_pos = object_pos - grip_pos + object_velp -= grip_velp + else: + object_pos = object_rot = object_velp = object_velr = object_rel_pos = np.zeros(0) + gripper_state = robot_qpos[-2:] + gripper_vel = robot_qvel[-2:] * dt # change to a scalar if the gripper is made symmetric + + if not self.has_object: + achieved_goal = grip_pos.copy() + else: + achieved_goal = np.squeeze(object_pos.copy()) + obs = np.concatenate([ + grip_pos, object_pos.ravel(), object_rel_pos.ravel(), gripper_state, object_rot.ravel(), + object_velp.ravel(), object_velr.ravel(), grip_velp, gripper_vel, + ]) + + return { + 'observation': obs.copy(), + 'achieved_goal': achieved_goal.copy(), + 'desired_goal': self.goal.copy(), + } + + def _viewer_setup(self): + body_id = self.sim.model.body_name2id('robot0:gripper_link') + lookat = self.sim.data.body_xpos[body_id] + for idx, value in enumerate(lookat): + self.viewer.cam.lookat[idx] = value + self.viewer.cam.distance = 2.5 + self.viewer.cam.azimuth = 132. + self.viewer.cam.elevation = -14. + + def _render_callback(self): + # Visualize target. + sites_offset = (self.sim.data.site_xpos - self.sim.model.site_pos).copy() + site_id = self.sim.model.site_name2id('target0') + self.sim.model.site_pos[site_id] = self.goal - sites_offset[0] + self.sim.forward() + + def _reset_sim(self): + self.sim.set_state(self.initial_state) + + # Randomize start position of object. + if self.has_object: + object_xpos = self.initial_gripper_xpos[:2] + while np.linalg.norm(object_xpos - self.initial_gripper_xpos[:2]) < 0.1: + object_xpos = self.initial_gripper_xpos[:2] + self.np_random.uniform(-self.obj_range, self.obj_range, size=2) + object_qpos = self.sim.data.get_joint_qpos('object0:joint') + assert object_qpos.shape == (7,) + object_qpos[:2] = object_xpos + self.sim.data.set_joint_qpos('object0:joint', object_qpos) + + self.sim.forward() + return True + + def _sample_goal(self): + if self.has_object: + goal = self.initial_gripper_xpos[:3] + self.np_random.uniform(-self.target_range, self.target_range, size=3) + goal += self.target_offset + goal[2] = self.height_offset + if self.target_in_the_air and self.np_random.uniform() < 0.5: + goal[2] += self.np_random.uniform(0, 0.45) + else: + goal = self.initial_gripper_xpos[:3] + self.np_random.uniform(-0.15, 0.15, size=3) + return goal.copy() + + def _is_success(self, achieved_goal, desired_goal): + d = goal_distance(achieved_goal, desired_goal) + return (d < self.distance_threshold).astype(np.float32) + + def _env_setup(self, initial_qpos): + for name, value in initial_qpos.items(): + self.sim.data.set_joint_qpos(name, value) + utils.reset_mocap_welds(self.sim) + self.sim.forward() + + # Move end effector into position. + gripper_target = np.array([-0.498, 0.005, -0.431 + self.gripper_extra_height]) + self.sim.data.get_site_xpos('robot0:grip') + gripper_rotation = np.array([1., 0., 1., 0.]) + self.sim.data.set_mocap_pos('robot0:mocap', gripper_target) + self.sim.data.set_mocap_quat('robot0:mocap', gripper_rotation) + for _ in range(10): + self.sim.step() + + # Extract information for sampling goals. + self.initial_gripper_xpos = self.sim.data.get_site_xpos('robot0:grip').copy() + if self.has_object: + self.height_offset = self.sim.data.get_site_xpos('object0')[2] + + def render(self, mode='human', width=500, height=500): + return super(FetchEnv, self).render(mode, width, height) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/hand/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/hand/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/hand/manipulate.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/hand/manipulate.py new file mode 100644 index 0000000000000000000000000000000000000000..de55f34827a24b4ed899fe91c0eefcfbed41b364 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/hand/manipulate.py @@ -0,0 +1,299 @@ +import os +import numpy as np + +from gym import utils, error +from gym.envs.robotics import rotations, hand_env +from gym.envs.robotics.utils import robot_get_obs + +try: + import mujoco_py +except ImportError as e: + raise error.DependencyNotInstalled("{}. (HINT: you need to install mujoco_py, and also perform the setup instructions here: https://github.com/openai/mujoco-py/.)".format(e)) + + +def quat_from_angle_and_axis(angle, axis): + assert axis.shape == (3,) + axis /= np.linalg.norm(axis) + quat = np.concatenate([[np.cos(angle / 2.)], np.sin(angle / 2.) * axis]) + quat /= np.linalg.norm(quat) + return quat + + +# Ensure we get the path separator correct on windows +MANIPULATE_BLOCK_XML = os.path.join('hand', 'manipulate_block.xml') +MANIPULATE_EGG_XML = os.path.join('hand', 'manipulate_egg.xml') +MANIPULATE_PEN_XML = os.path.join('hand', 'manipulate_pen.xml') + + +class ManipulateEnv(hand_env.HandEnv, utils.EzPickle): + def __init__( + self, model_path, target_position, target_rotation, + target_position_range, reward_type, initial_qpos={}, + randomize_initial_position=True, randomize_initial_rotation=True, + distance_threshold=0.01, rotation_threshold=0.1, n_substeps=20, relative_control=False, + ignore_z_target_rotation=False, + ): + """Initializes a new Hand manipulation environment. + + Args: + model_path (string): path to the environments XML file + target_position (string): the type of target position: + - ignore: target position is fully ignored, i.e. the object can be positioned arbitrarily + - fixed: target position is set to the initial position of the object + - random: target position is fully randomized according to target_position_range + target_rotation (string): the type of target rotation: + - ignore: target rotation is fully ignored, i.e. the object can be rotated arbitrarily + - fixed: target rotation is set to the initial rotation of the object + - xyz: fully randomized target rotation around the X, Y and Z axis + - z: fully randomized target rotation around the Z axis + - parallel: fully randomized target rotation around Z and axis-aligned rotation around X, Y + ignore_z_target_rotation (boolean): whether or not the Z axis of the target rotation is ignored + target_position_range (np.array of shape (3, 2)): range of the target_position randomization + reward_type ('sparse' or 'dense'): the reward type, i.e. sparse or dense + initial_qpos (dict): a dictionary of joint names and values that define the initial configuration + randomize_initial_position (boolean): whether or not to randomize the initial position of the object + randomize_initial_rotation (boolean): whether or not to randomize the initial rotation of the object + distance_threshold (float, in meters): the threshold after which the position of a goal is considered achieved + rotation_threshold (float, in radians): the threshold after which the rotation of a goal is considered achieved + n_substeps (int): number of substeps the simulation runs on every call to step + relative_control (boolean): whether or not the hand is actuated in absolute joint positions or relative to the current state + """ + self.target_position = target_position + self.target_rotation = target_rotation + self.target_position_range = target_position_range + self.parallel_quats = [rotations.euler2quat(r) for r in rotations.get_parallel_rotations()] + self.randomize_initial_rotation = randomize_initial_rotation + self.randomize_initial_position = randomize_initial_position + self.distance_threshold = distance_threshold + self.rotation_threshold = rotation_threshold + self.reward_type = reward_type + self.ignore_z_target_rotation = ignore_z_target_rotation + + assert self.target_position in ['ignore', 'fixed', 'random'] + assert self.target_rotation in ['ignore', 'fixed', 'xyz', 'z', 'parallel'] + + hand_env.HandEnv.__init__( + self, model_path, n_substeps=n_substeps, initial_qpos=initial_qpos, + relative_control=relative_control) + utils.EzPickle.__init__(self) + + def _get_achieved_goal(self): + # Object position and rotation. + object_qpos = self.sim.data.get_joint_qpos('object:joint') + assert object_qpos.shape == (7,) + return object_qpos + + def _goal_distance(self, goal_a, goal_b): + assert goal_a.shape == goal_b.shape + assert goal_a.shape[-1] == 7 + + d_pos = np.zeros_like(goal_a[..., 0]) + d_rot = np.zeros_like(goal_b[..., 0]) + if self.target_position != 'ignore': + delta_pos = goal_a[..., :3] - goal_b[..., :3] + d_pos = np.linalg.norm(delta_pos, axis=-1) + + if self.target_rotation != 'ignore': + quat_a, quat_b = goal_a[..., 3:], goal_b[..., 3:] + + if self.ignore_z_target_rotation: + # Special case: We want to ignore the Z component of the rotation. + # This code here assumes Euler angles with xyz convention. We first transform + # to euler, then set the Z component to be equal between the two, and finally + # transform back into quaternions. + euler_a = rotations.quat2euler(quat_a) + euler_b = rotations.quat2euler(quat_b) + euler_a[2] = euler_b[2] + quat_a = rotations.euler2quat(euler_a) + + # Subtract quaternions and extract angle between them. + quat_diff = rotations.quat_mul(quat_a, rotations.quat_conjugate(quat_b)) + angle_diff = 2 * np.arccos(np.clip(quat_diff[..., 0], -1., 1.)) + d_rot = angle_diff + assert d_pos.shape == d_rot.shape + return d_pos, d_rot + + # GoalEnv methods + # ---------------------------- + + def compute_reward(self, achieved_goal, goal, info): + if self.reward_type == 'sparse': + success = self._is_success(achieved_goal, goal).astype(np.float32) + return (success - 1.) + else: + d_pos, d_rot = self._goal_distance(achieved_goal, goal) + # We weigh the difference in position to avoid that `d_pos` (in meters) is completely + # dominated by `d_rot` (in radians). + return -(10. * d_pos + d_rot) + + # RobotEnv methods + # ---------------------------- + + def _is_success(self, achieved_goal, desired_goal): + d_pos, d_rot = self._goal_distance(achieved_goal, desired_goal) + achieved_pos = (d_pos < self.distance_threshold).astype(np.float32) + achieved_rot = (d_rot < self.rotation_threshold).astype(np.float32) + achieved_both = achieved_pos * achieved_rot + return achieved_both + + def _env_setup(self, initial_qpos): + for name, value in initial_qpos.items(): + self.sim.data.set_joint_qpos(name, value) + self.sim.forward() + + def _reset_sim(self): + self.sim.set_state(self.initial_state) + self.sim.forward() + + initial_qpos = self.sim.data.get_joint_qpos('object:joint').copy() + initial_pos, initial_quat = initial_qpos[:3], initial_qpos[3:] + assert initial_qpos.shape == (7,) + assert initial_pos.shape == (3,) + assert initial_quat.shape == (4,) + initial_qpos = None + + # Randomization initial rotation. + if self.randomize_initial_rotation: + if self.target_rotation == 'z': + angle = self.np_random.uniform(-np.pi, np.pi) + axis = np.array([0., 0., 1.]) + offset_quat = quat_from_angle_and_axis(angle, axis) + initial_quat = rotations.quat_mul(initial_quat, offset_quat) + elif self.target_rotation == 'parallel': + angle = self.np_random.uniform(-np.pi, np.pi) + axis = np.array([0., 0., 1.]) + z_quat = quat_from_angle_and_axis(angle, axis) + parallel_quat = self.parallel_quats[self.np_random.randint(len(self.parallel_quats))] + offset_quat = rotations.quat_mul(z_quat, parallel_quat) + initial_quat = rotations.quat_mul(initial_quat, offset_quat) + elif self.target_rotation in ['xyz', 'ignore']: + angle = self.np_random.uniform(-np.pi, np.pi) + axis = self.np_random.uniform(-1., 1., size=3) + offset_quat = quat_from_angle_and_axis(angle, axis) + initial_quat = rotations.quat_mul(initial_quat, offset_quat) + elif self.target_rotation == 'fixed': + pass + else: + raise error.Error('Unknown target_rotation option "{}".'.format(self.target_rotation)) + + # Randomize initial position. + if self.randomize_initial_position: + if self.target_position != 'fixed': + initial_pos += self.np_random.normal(size=3, scale=0.005) + + initial_quat /= np.linalg.norm(initial_quat) + initial_qpos = np.concatenate([initial_pos, initial_quat]) + self.sim.data.set_joint_qpos('object:joint', initial_qpos) + + def is_on_palm(): + self.sim.forward() + cube_middle_idx = self.sim.model.site_name2id('object:center') + cube_middle_pos = self.sim.data.site_xpos[cube_middle_idx] + is_on_palm = (cube_middle_pos[2] > 0.04) + return is_on_palm + + # Run the simulation for a bunch of timesteps to let everything settle in. + for _ in range(10): + self._set_action(np.zeros(20)) + try: + self.sim.step() + except mujoco_py.MujocoException: + return False + return is_on_palm() + + def _sample_goal(self): + # Select a goal for the object position. + target_pos = None + if self.target_position == 'random': + assert self.target_position_range.shape == (3, 2) + offset = self.np_random.uniform(self.target_position_range[:, 0], self.target_position_range[:, 1]) + assert offset.shape == (3,) + target_pos = self.sim.data.get_joint_qpos('object:joint')[:3] + offset + elif self.target_position in ['ignore', 'fixed']: + target_pos = self.sim.data.get_joint_qpos('object:joint')[:3] + else: + raise error.Error('Unknown target_position option "{}".'.format(self.target_position)) + assert target_pos is not None + assert target_pos.shape == (3,) + + # Select a goal for the object rotation. + target_quat = None + if self.target_rotation == 'z': + angle = self.np_random.uniform(-np.pi, np.pi) + axis = np.array([0., 0., 1.]) + target_quat = quat_from_angle_and_axis(angle, axis) + elif self.target_rotation == 'parallel': + angle = self.np_random.uniform(-np.pi, np.pi) + axis = np.array([0., 0., 1.]) + target_quat = quat_from_angle_and_axis(angle, axis) + parallel_quat = self.parallel_quats[self.np_random.randint(len(self.parallel_quats))] + target_quat = rotations.quat_mul(target_quat, parallel_quat) + elif self.target_rotation == 'xyz': + angle = self.np_random.uniform(-np.pi, np.pi) + axis = self.np_random.uniform(-1., 1., size=3) + target_quat = quat_from_angle_and_axis(angle, axis) + elif self.target_rotation in ['ignore', 'fixed']: + target_quat = self.sim.data.get_joint_qpos('object:joint') + else: + raise error.Error('Unknown target_rotation option "{}".'.format(self.target_rotation)) + assert target_quat is not None + assert target_quat.shape == (4,) + + target_quat /= np.linalg.norm(target_quat) # normalized quaternion + goal = np.concatenate([target_pos, target_quat]) + return goal + + def _render_callback(self): + # Assign current state to target object but offset a bit so that the actual object + # is not obscured. + goal = self.goal.copy() + assert goal.shape == (7,) + if self.target_position == 'ignore': + # Move the object to the side since we do not care about it's position. + goal[0] += 0.15 + self.sim.data.set_joint_qpos('target:joint', goal) + self.sim.data.set_joint_qvel('target:joint', np.zeros(6)) + + if 'object_hidden' in self.sim.model.geom_names: + hidden_id = self.sim.model.geom_name2id('object_hidden') + self.sim.model.geom_rgba[hidden_id, 3] = 1. + self.sim.forward() + + def _get_obs(self): + robot_qpos, robot_qvel = robot_get_obs(self.sim) + object_qvel = self.sim.data.get_joint_qvel('object:joint') + achieved_goal = self._get_achieved_goal().ravel() # this contains the object position + rotation + observation = np.concatenate([robot_qpos, robot_qvel, object_qvel, achieved_goal]) + return { + 'observation': observation.copy(), + 'achieved_goal': achieved_goal.copy(), + 'desired_goal': self.goal.ravel().copy(), + } + + +class HandBlockEnv(ManipulateEnv): + def __init__(self, target_position='random', target_rotation='xyz', reward_type='sparse'): + super(HandBlockEnv, self).__init__( + model_path=MANIPULATE_BLOCK_XML, target_position=target_position, + target_rotation=target_rotation, + target_position_range=np.array([(-0.04, 0.04), (-0.06, 0.02), (0.0, 0.06)]), + reward_type=reward_type) + + +class HandEggEnv(ManipulateEnv): + def __init__(self, target_position='random', target_rotation='xyz', reward_type='sparse'): + super(HandEggEnv, self).__init__( + model_path=MANIPULATE_EGG_XML, target_position=target_position, + target_rotation=target_rotation, + target_position_range=np.array([(-0.04, 0.04), (-0.06, 0.02), (0.0, 0.06)]), + reward_type=reward_type) + + +class HandPenEnv(ManipulateEnv): + def __init__(self, target_position='random', target_rotation='xyz', reward_type='sparse'): + super(HandPenEnv, self).__init__( + model_path=MANIPULATE_PEN_XML, target_position=target_position, + target_rotation=target_rotation, + target_position_range=np.array([(-0.04, 0.04), (-0.06, 0.02), (0.0, 0.06)]), + randomize_initial_rotation=False, reward_type=reward_type, + ignore_z_target_rotation=True, distance_threshold=0.05) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/hand/manipulate_touch_sensors.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/hand/manipulate_touch_sensors.py new file mode 100644 index 0000000000000000000000000000000000000000..115d077404e7a568f33069cb9e3793e5e3b91ef8 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/hand/manipulate_touch_sensors.py @@ -0,0 +1,129 @@ +import os +import numpy as np + +from gym import utils, error, spaces +from gym.envs.robotics.hand import manipulate + +# Ensure we get the path separator correct on windows +MANIPULATE_BLOCK_XML = os.path.join('hand', 'manipulate_block_touch_sensors.xml') +MANIPULATE_EGG_XML = os.path.join('hand', 'manipulate_egg_touch_sensors.xml') +MANIPULATE_PEN_XML = os.path.join('hand', 'manipulate_pen_touch_sensors.xml') + + +class ManipulateTouchSensorsEnv(manipulate.ManipulateEnv, utils.EzPickle): + def __init__( + self, model_path, target_position, target_rotation, + target_position_range, reward_type, initial_qpos={}, + randomize_initial_position=True, randomize_initial_rotation=True, + distance_threshold=0.01, rotation_threshold=0.1, n_substeps=20, relative_control=False, + ignore_z_target_rotation=False, touch_visualisation="on_touch", touch_get_obs="sensordata", + ): + """Initializes a new Hand manipulation environment with touch sensors. + + Args: + touch_visualisation (string): how touch sensor sites are visualised + - "on_touch": shows touch sensor sites only when touch values > 0 + - "always": always shows touch sensor sites + - "off" or else: does not show touch sensor sites + touch_get_obs (string): touch sensor readings + - "boolean": returns 1 if touch sensor reading != 0.0 else 0 + - "sensordata": returns original touch sensor readings from self.sim.data.sensordata[id] + - "log": returns log(x+1) touch sensor readings from self.sim.data.sensordata[id] + - "off" or else: does not add touch sensor readings to the observation + + """ + self.touch_visualisation = touch_visualisation + self.touch_get_obs = touch_get_obs + self._touch_sensor_id_site_id = [] + self._touch_sensor_id = [] + self.touch_color = [1, 0, 0, 0.5] + self.notouch_color = [0, 0.5, 0, 0.2] + + manipulate.ManipulateEnv.__init__( + self, model_path, target_position, target_rotation, + target_position_range, reward_type, initial_qpos=initial_qpos, + randomize_initial_position=randomize_initial_position, randomize_initial_rotation=randomize_initial_rotation, + distance_threshold=distance_threshold, rotation_threshold=rotation_threshold, n_substeps=n_substeps, relative_control=relative_control, + ignore_z_target_rotation=ignore_z_target_rotation, + ) + utils.EzPickle.__init__(self) + + for k, v in self.sim.model._sensor_name2id.items(): # get touch sensor site names and their ids + if 'robot0:TS_' in k: + self._touch_sensor_id_site_id.append((v, self.sim.model._site_name2id[k.replace('robot0:TS_', 'robot0:T_')])) + self._touch_sensor_id.append(v) + + if self.touch_visualisation == 'off': # set touch sensors rgba values + for _, site_id in self._touch_sensor_id_site_id: + self.sim.model.site_rgba[site_id][3] = 0.0 + elif self.touch_visualisation == 'always': + pass + + obs = self._get_obs() + self.observation_space = spaces.Dict(dict( + desired_goal=spaces.Box(-np.inf, np.inf, shape=obs['achieved_goal'].shape, dtype='float32'), + achieved_goal=spaces.Box(-np.inf, np.inf, shape=obs['achieved_goal'].shape, dtype='float32'), + observation=spaces.Box(-np.inf, np.inf, shape=obs['observation'].shape, dtype='float32'), + )) + + def _render_callback(self): + super(ManipulateTouchSensorsEnv, self)._render_callback() + if self.touch_visualisation == 'on_touch': + for touch_sensor_id, site_id in self._touch_sensor_id_site_id: + if self.sim.data.sensordata[touch_sensor_id] != 0.0: + self.sim.model.site_rgba[site_id] = self.touch_color + else: + self.sim.model.site_rgba[site_id] = self.notouch_color + + def _get_obs(self): + robot_qpos, robot_qvel = manipulate.robot_get_obs(self.sim) + object_qvel = self.sim.data.get_joint_qvel('object:joint') + achieved_goal = self._get_achieved_goal().ravel() # this contains the object position + rotation + touch_values = [] # get touch sensor readings. if there is one, set value to 1 + if self.touch_get_obs == 'sensordata': + touch_values = self.sim.data.sensordata[self._touch_sensor_id] + elif self.touch_get_obs == 'boolean': + touch_values = self.sim.data.sensordata[self._touch_sensor_id] > 0.0 + elif self.touch_get_obs == 'log': + touch_values = np.log(self.sim.data.sensordata[self._touch_sensor_id] + 1.0) + observation = np.concatenate([robot_qpos, robot_qvel, object_qvel, touch_values, achieved_goal]) + + return { + 'observation': observation.copy(), + 'achieved_goal': achieved_goal.copy(), + 'desired_goal': self.goal.ravel().copy(), + } + + +class HandBlockTouchSensorsEnv(ManipulateTouchSensorsEnv): + def __init__(self, target_position='random', target_rotation='xyz', touch_get_obs='sensordata', reward_type='sparse'): + super(HandBlockTouchSensorsEnv, self).__init__( + model_path=MANIPULATE_BLOCK_XML, + touch_get_obs=touch_get_obs, + target_rotation=target_rotation, + target_position=target_position, + target_position_range=np.array([(-0.04, 0.04), (-0.06, 0.02), (0.0, 0.06)]), + reward_type=reward_type) + + +class HandEggTouchSensorsEnv(ManipulateTouchSensorsEnv): + def __init__(self, target_position='random', target_rotation='xyz', touch_get_obs='sensordata', reward_type='sparse'): + super(HandEggTouchSensorsEnv, self).__init__( + model_path=MANIPULATE_EGG_XML, + touch_get_obs=touch_get_obs, + target_rotation=target_rotation, + target_position=target_position, + target_position_range=np.array([(-0.04, 0.04), (-0.06, 0.02), (0.0, 0.06)]), + reward_type=reward_type) + + +class HandPenTouchSensorsEnv(ManipulateTouchSensorsEnv): + def __init__(self, target_position='random', target_rotation='xyz', touch_get_obs='sensordata', reward_type='sparse'): + super(HandPenTouchSensorsEnv, self).__init__( + model_path=MANIPULATE_PEN_XML, + touch_get_obs=touch_get_obs, + target_rotation=target_rotation, + target_position=target_position, + target_position_range=np.array([(-0.04, 0.04), (-0.06, 0.02), (0.0, 0.06)]), + randomize_initial_rotation=False, reward_type=reward_type, + ignore_z_target_rotation=True, distance_threshold=0.05) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/hand/reach.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/hand/reach.py new file mode 100644 index 0000000000000000000000000000000000000000..81ed9f954059a015bb9a96662a9e764a2117210d --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/hand/reach.py @@ -0,0 +1,149 @@ +import os +import numpy as np + +from gym import utils +from gym.envs.robotics import hand_env +from gym.envs.robotics.utils import robot_get_obs + + +FINGERTIP_SITE_NAMES = [ + 'robot0:S_fftip', + 'robot0:S_mftip', + 'robot0:S_rftip', + 'robot0:S_lftip', + 'robot0:S_thtip', +] + + +DEFAULT_INITIAL_QPOS = { + 'robot0:WRJ1': -0.16514339750464327, + 'robot0:WRJ0': -0.31973286565062153, + 'robot0:FFJ3': 0.14340512546557435, + 'robot0:FFJ2': 0.32028208333591573, + 'robot0:FFJ1': 0.7126053607727917, + 'robot0:FFJ0': 0.6705281001412586, + 'robot0:MFJ3': 0.000246444303701037, + 'robot0:MFJ2': 0.3152655251085491, + 'robot0:MFJ1': 0.7659800313729842, + 'robot0:MFJ0': 0.7323156897425923, + 'robot0:RFJ3': 0.00038520700007378114, + 'robot0:RFJ2': 0.36743546201985233, + 'robot0:RFJ1': 0.7119514095008576, + 'robot0:RFJ0': 0.6699446327514138, + 'robot0:LFJ4': 0.0525442258033891, + 'robot0:LFJ3': -0.13615534724474673, + 'robot0:LFJ2': 0.39872030433433003, + 'robot0:LFJ1': 0.7415570009679252, + 'robot0:LFJ0': 0.704096378652974, + 'robot0:THJ4': 0.003673823825070126, + 'robot0:THJ3': 0.5506291436028695, + 'robot0:THJ2': -0.014515151997119306, + 'robot0:THJ1': -0.0015229223564485414, + 'robot0:THJ0': -0.7894883021600622, +} + + +# Ensure we get the path separator correct on windows +MODEL_XML_PATH = os.path.join('hand', 'reach.xml') + + +def goal_distance(goal_a, goal_b): + assert goal_a.shape == goal_b.shape + return np.linalg.norm(goal_a - goal_b, axis=-1) + + +class HandReachEnv(hand_env.HandEnv, utils.EzPickle): + def __init__( + self, distance_threshold=0.01, n_substeps=20, relative_control=False, + initial_qpos=DEFAULT_INITIAL_QPOS, reward_type='sparse', + ): + self.distance_threshold = distance_threshold + self.reward_type = reward_type + + hand_env.HandEnv.__init__( + self, MODEL_XML_PATH, n_substeps=n_substeps, initial_qpos=initial_qpos, + relative_control=relative_control) + utils.EzPickle.__init__(self) + + def _get_achieved_goal(self): + goal = [self.sim.data.get_site_xpos(name) for name in FINGERTIP_SITE_NAMES] + return np.array(goal).flatten() + + # GoalEnv methods + # ---------------------------- + + def compute_reward(self, achieved_goal, goal, info): + d = goal_distance(achieved_goal, goal) + if self.reward_type == 'sparse': + return -(d > self.distance_threshold).astype(np.float32) + else: + return -d + + # RobotEnv methods + # ---------------------------- + + def _env_setup(self, initial_qpos): + for name, value in initial_qpos.items(): + self.sim.data.set_joint_qpos(name, value) + self.sim.forward() + + self.initial_goal = self._get_achieved_goal().copy() + self.palm_xpos = self.sim.data.body_xpos[self.sim.model.body_name2id('robot0:palm')].copy() + + def _get_obs(self): + robot_qpos, robot_qvel = robot_get_obs(self.sim) + achieved_goal = self._get_achieved_goal().ravel() + observation = np.concatenate([robot_qpos, robot_qvel, achieved_goal]) + return { + 'observation': observation.copy(), + 'achieved_goal': achieved_goal.copy(), + 'desired_goal': self.goal.copy(), + } + + def _sample_goal(self): + thumb_name = 'robot0:S_thtip' + finger_names = [name for name in FINGERTIP_SITE_NAMES if name != thumb_name] + finger_name = self.np_random.choice(finger_names) + + thumb_idx = FINGERTIP_SITE_NAMES.index(thumb_name) + finger_idx = FINGERTIP_SITE_NAMES.index(finger_name) + assert thumb_idx != finger_idx + + # Pick a meeting point above the hand. + meeting_pos = self.palm_xpos + np.array([0.0, -0.09, 0.05]) + meeting_pos += self.np_random.normal(scale=0.005, size=meeting_pos.shape) + + # Slightly move meeting goal towards the respective finger to avoid that they + # overlap. + goal = self.initial_goal.copy().reshape(-1, 3) + for idx in [thumb_idx, finger_idx]: + offset_direction = (meeting_pos - goal[idx]) + offset_direction /= np.linalg.norm(offset_direction) + goal[idx] = meeting_pos - 0.005 * offset_direction + + if self.np_random.uniform() < 0.1: + # With some probability, ask all fingers to move back to the origin. + # This avoids that the thumb constantly stays near the goal position already. + goal = self.initial_goal.copy() + return goal.flatten() + + def _is_success(self, achieved_goal, desired_goal): + d = goal_distance(achieved_goal, desired_goal) + return (d < self.distance_threshold).astype(np.float32) + + def _render_callback(self): + # Visualize targets. + sites_offset = (self.sim.data.site_xpos - self.sim.model.site_pos).copy() + goal = self.goal.reshape(5, 3) + for finger_idx in range(5): + site_name = 'target{}'.format(finger_idx) + site_id = self.sim.model.site_name2id(site_name) + self.sim.model.site_pos[site_id] = goal[finger_idx] - sites_offset[site_id] + + # Visualize finger positions. + achieved_goal = self._get_achieved_goal().reshape(5, 3) + for finger_idx in range(5): + site_name = 'finger{}'.format(finger_idx) + site_id = self.sim.model.site_name2id(site_name) + self.sim.model.site_pos[site_id] = achieved_goal[finger_idx] - sites_offset[site_id] + self.sim.forward() diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/hand_env.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/hand_env.py new file mode 100644 index 0000000000000000000000000000000000000000..c7c24213a2bce3995c0923f61fc6223390f02722 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/hand_env.py @@ -0,0 +1,52 @@ +import os +import copy +import numpy as np + +import gym +from gym import error, spaces +from gym.utils import seeding +from gym.envs.robotics import robot_env + + +class HandEnv(robot_env.RobotEnv): + def __init__(self, model_path, n_substeps, initial_qpos, relative_control): + self.relative_control = relative_control + + super(HandEnv, self).__init__( + model_path=model_path, n_substeps=n_substeps, n_actions=20, + initial_qpos=initial_qpos) + + # RobotEnv methods + # ---------------------------- + + def _set_action(self, action): + assert action.shape == (20,) + + ctrlrange = self.sim.model.actuator_ctrlrange + actuation_range = (ctrlrange[:, 1] - ctrlrange[:, 0]) / 2. + if self.relative_control: + actuation_center = np.zeros_like(action) + for i in range(self.sim.data.ctrl.shape[0]): + actuation_center[i] = self.sim.data.get_joint_qpos( + self.sim.model.actuator_names[i].replace(':A_', ':')) + for joint_name in ['FF', 'MF', 'RF', 'LF']: + act_idx = self.sim.model.actuator_name2id( + 'robot0:A_{}J1'.format(joint_name)) + actuation_center[act_idx] += self.sim.data.get_joint_qpos( + 'robot0:{}J0'.format(joint_name)) + else: + actuation_center = (ctrlrange[:, 1] + ctrlrange[:, 0]) / 2. + self.sim.data.ctrl[:] = actuation_center + action * actuation_range + self.sim.data.ctrl[:] = np.clip(self.sim.data.ctrl, ctrlrange[:, 0], ctrlrange[:, 1]) + + def _viewer_setup(self): + body_id = self.sim.model.body_name2id('robot0:palm') + lookat = self.sim.data.body_xpos[body_id] + for idx, value in enumerate(lookat): + self.viewer.cam.lookat[idx] = value + self.viewer.cam.distance = 0.5 + self.viewer.cam.azimuth = 55. + self.viewer.cam.elevation = -25. + + def render(self, mode='human', width=500, height=500): + return super(HandEnv, self).render(mode, width, height) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/robot_env.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/robot_env.py new file mode 100644 index 0000000000000000000000000000000000000000..584ab1de5f6bb4dc7616e033c120c1862cd80b6a --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/robot_env.py @@ -0,0 +1,170 @@ +import os +import copy +import numpy as np + +import gym +from gym import error, spaces +from gym.utils import seeding + +try: + import mujoco_py +except ImportError as e: + raise error.DependencyNotInstalled("{}. (HINT: you need to install mujoco_py, and also perform the setup instructions here: https://github.com/openai/mujoco-py/.)".format(e)) + +DEFAULT_SIZE = 500 + +class RobotEnv(gym.GoalEnv): + def __init__(self, model_path, initial_qpos, n_actions, n_substeps): + if model_path.startswith('/'): + fullpath = model_path + else: + fullpath = os.path.join(os.path.dirname(__file__), 'assets', model_path) + if not os.path.exists(fullpath): + raise IOError('File {} does not exist'.format(fullpath)) + + model = mujoco_py.load_model_from_path(fullpath) + self.sim = mujoco_py.MjSim(model, nsubsteps=n_substeps) + self.viewer = None + self._viewers = {} + + self.metadata = { + 'render.modes': ['human', 'rgb_array'], + 'video.frames_per_second': int(np.round(1.0 / self.dt)) + } + + self.seed() + self._env_setup(initial_qpos=initial_qpos) + self.initial_state = copy.deepcopy(self.sim.get_state()) + + self.goal = self._sample_goal() + obs = self._get_obs() + self.action_space = spaces.Box(-1., 1., shape=(n_actions,), dtype='float32') + self.observation_space = spaces.Dict(dict( + desired_goal=spaces.Box(-np.inf, np.inf, shape=obs['achieved_goal'].shape, dtype='float32'), + achieved_goal=spaces.Box(-np.inf, np.inf, shape=obs['achieved_goal'].shape, dtype='float32'), + observation=spaces.Box(-np.inf, np.inf, shape=obs['observation'].shape, dtype='float32'), + )) + + @property + def dt(self): + return self.sim.model.opt.timestep * self.sim.nsubsteps + + # Env methods + # ---------------------------- + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def step(self, action): + action = np.clip(action, self.action_space.low, self.action_space.high) + self._set_action(action) + self.sim.step() + self._step_callback() + obs = self._get_obs() + + done = False + info = { + 'is_success': self._is_success(obs['achieved_goal'], self.goal), + } + reward = self.compute_reward(obs['achieved_goal'], self.goal, info) + return obs, reward, done, info + + def reset(self): + # Attempt to reset the simulator. Since we randomize initial conditions, it + # is possible to get into a state with numerical issues (e.g. due to penetration or + # Gimbel lock) or we may not achieve an initial condition (e.g. an object is within the hand). + # In this case, we just keep randomizing until we eventually achieve a valid initial + # configuration. + super(RobotEnv, self).reset() + did_reset_sim = False + while not did_reset_sim: + did_reset_sim = self._reset_sim() + self.goal = self._sample_goal().copy() + obs = self._get_obs() + return obs + + def close(self): + if self.viewer is not None: + # self.viewer.finish() + self.viewer = None + self._viewers = {} + + def render(self, mode='human', width=DEFAULT_SIZE, height=DEFAULT_SIZE): + self._render_callback() + if mode == 'rgb_array': + self._get_viewer(mode).render(width, height) + # window size used for old mujoco-py: + data = self._get_viewer(mode).read_pixels(width, height, depth=False) + # original image is upside-down, so flip it + return data[::-1, :, :] + elif mode == 'human': + self._get_viewer(mode).render() + + def _get_viewer(self, mode): + self.viewer = self._viewers.get(mode) + if self.viewer is None: + if mode == 'human': + self.viewer = mujoco_py.MjViewer(self.sim) + elif mode == 'rgb_array': + self.viewer = mujoco_py.MjRenderContextOffscreen(self.sim, device_id=-1) + self._viewer_setup() + self._viewers[mode] = self.viewer + return self.viewer + + # Extension methods + # ---------------------------- + + def _reset_sim(self): + """Resets a simulation and indicates whether or not it was successful. + If a reset was unsuccessful (e.g. if a randomized state caused an error in the + simulation), this method should indicate such a failure by returning False. + In such a case, this method will be called again to attempt a the reset again. + """ + self.sim.set_state(self.initial_state) + self.sim.forward() + return True + + def _get_obs(self): + """Returns the observation. + """ + raise NotImplementedError() + + def _set_action(self, action): + """Applies the given action to the simulation. + """ + raise NotImplementedError() + + def _is_success(self, achieved_goal, desired_goal): + """Indicates whether or not the achieved goal successfully achieved the desired goal. + """ + raise NotImplementedError() + + def _sample_goal(self): + """Samples a new goal and returns it. + """ + raise NotImplementedError() + + def _env_setup(self, initial_qpos): + """Initial configuration of the environment. Can be used to configure initial state + and extract information from the simulation. + """ + pass + + def _viewer_setup(self): + """Initial configuration of the viewer. Can be used to set the camera position, + for example. + """ + pass + + def _render_callback(self): + """A custom callback that is called before rendering. Can be used + to implement custom visualizations. + """ + pass + + def _step_callback(self): + """A custom callback that is called after stepping the simulation. Can be used + to enforce additional constraints on the simulation state. + """ + pass diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/rotations.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/rotations.py new file mode 100644 index 0000000000000000000000000000000000000000..4aafb64a08ed146e84d245fbda691305d76d1a84 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/rotations.py @@ -0,0 +1,369 @@ +# Copyright (c) 2009-2017, Matthew Brett and Christoph Gohlke +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Many methods borrow heavily or entirely from transforms3d: +# https://github.com/matthew-brett/transforms3d +# They have mostly been modified to support batched operations. + +import numpy as np +import itertools + +''' +Rotations +========= + +Note: these have caused many subtle bugs in the past. +Be careful while updating these methods and while using them in clever ways. + +See MuJoCo documentation here: http://mujoco.org/book/modeling.html#COrientation + +Conventions +----------- + - All functions accept batches as well as individual rotations + - All rotation conventions match respective MuJoCo defaults + - All angles are in radians + - Matricies follow LR convention + - Euler Angles are all relative with 'xyz' axes ordering + - See specific representation for more information + +Representations +--------------- + +Euler + There are many euler angle frames -- here we will strive to use the default + in MuJoCo, which is eulerseq='xyz'. + This frame is a relative rotating frame, about x, y, and z axes in order. + Relative rotating means that after we rotate about x, then we use the + new (rotated) y, and the same for z. + +Quaternions + These are defined in terms of rotation (angle) about a unit vector (x, y, z) + We use the following <q0, q1, q2, q3> convention: + q0 = cos(angle / 2) + q1 = sin(angle / 2) * x + q2 = sin(angle / 2) * y + q3 = sin(angle / 2) * z + This is also sometimes called qw, qx, qy, qz. + Note that quaternions are ambiguous, because we can represent a rotation by + angle about vector <x, y, z> and -angle about vector <-x, -y, -z>. + To choose between these, we pick "first nonzero positive", where we + make the first nonzero element of the quaternion positive. + This can result in mismatches if you're converting an quaternion that is not + "first nonzero positive" to a different representation and back. + +Axis Angle + (Not currently implemented) + These are very straightforward. Rotation is angle about a unit vector. + +XY Axes + (Not currently implemented) + We are given x axis and y axis, and z axis is cross product of x and y. + +Z Axis + This is NOT RECOMMENDED. Defines a unit vector for the Z axis, + but rotation about this axis is not well defined. + Instead pick a fixed reference direction for another axis (e.g. X) + and calculate the other (e.g. Y = Z cross-product X), + then use XY Axes rotation instead. + +SO3 + (Not currently implemented) + While not supported by MuJoCo, this representation has a lot of nice features. + We expect to add support for these in the future. + +TODO / Missing +-------------- + - Rotation integration or derivatives (e.g. velocity conversions) + - More representations (SO3, etc) + - Random sampling (e.g. sample uniform random rotation) + - Performance benchmarks/measurements + - (Maybe) define everything as to/from matricies, for simplicity +''' + +# For testing whether a number is close to zero +_FLOAT_EPS = np.finfo(np.float64).eps +_EPS4 = _FLOAT_EPS * 4.0 + + +def euler2mat(euler): + """ Convert Euler Angles to Rotation Matrix. See rotation.py for notes """ + euler = np.asarray(euler, dtype=np.float64) + assert euler.shape[-1] == 3, "Invalid shaped euler {}".format(euler) + + ai, aj, ak = -euler[..., 2], -euler[..., 1], -euler[..., 0] + si, sj, sk = np.sin(ai), np.sin(aj), np.sin(ak) + ci, cj, ck = np.cos(ai), np.cos(aj), np.cos(ak) + cc, cs = ci * ck, ci * sk + sc, ss = si * ck, si * sk + + mat = np.empty(euler.shape[:-1] + (3, 3), dtype=np.float64) + mat[..., 2, 2] = cj * ck + mat[..., 2, 1] = sj * sc - cs + mat[..., 2, 0] = sj * cc + ss + mat[..., 1, 2] = cj * sk + mat[..., 1, 1] = sj * ss + cc + mat[..., 1, 0] = sj * cs - sc + mat[..., 0, 2] = -sj + mat[..., 0, 1] = cj * si + mat[..., 0, 0] = cj * ci + return mat + + +def euler2quat(euler): + """ Convert Euler Angles to Quaternions. See rotation.py for notes """ + euler = np.asarray(euler, dtype=np.float64) + assert euler.shape[-1] == 3, "Invalid shape euler {}".format(euler) + + ai, aj, ak = euler[..., 2] / 2, -euler[..., 1] / 2, euler[..., 0] / 2 + si, sj, sk = np.sin(ai), np.sin(aj), np.sin(ak) + ci, cj, ck = np.cos(ai), np.cos(aj), np.cos(ak) + cc, cs = ci * ck, ci * sk + sc, ss = si * ck, si * sk + + quat = np.empty(euler.shape[:-1] + (4,), dtype=np.float64) + quat[..., 0] = cj * cc + sj * ss + quat[..., 3] = cj * sc - sj * cs + quat[..., 2] = -(cj * ss + sj * cc) + quat[..., 1] = cj * cs - sj * sc + return quat + + +def mat2euler(mat): + """ Convert Rotation Matrix to Euler Angles. See rotation.py for notes """ + mat = np.asarray(mat, dtype=np.float64) + assert mat.shape[-2:] == (3, 3), "Invalid shape matrix {}".format(mat) + + cy = np.sqrt(mat[..., 2, 2] * mat[..., 2, 2] + mat[..., 1, 2] * mat[..., 1, 2]) + condition = cy > _EPS4 + euler = np.empty(mat.shape[:-1], dtype=np.float64) + euler[..., 2] = np.where(condition, + -np.arctan2(mat[..., 0, 1], mat[..., 0, 0]), + -np.arctan2(-mat[..., 1, 0], mat[..., 1, 1])) + euler[..., 1] = np.where(condition, + -np.arctan2(-mat[..., 0, 2], cy), + -np.arctan2(-mat[..., 0, 2], cy)) + euler[..., 0] = np.where(condition, + -np.arctan2(mat[..., 1, 2], mat[..., 2, 2]), + 0.0) + return euler + + +def mat2quat(mat): + """ Convert Rotation Matrix to Quaternion. See rotation.py for notes """ + mat = np.asarray(mat, dtype=np.float64) + assert mat.shape[-2:] == (3, 3), "Invalid shape matrix {}".format(mat) + + Qxx, Qyx, Qzx = mat[..., 0, 0], mat[..., 0, 1], mat[..., 0, 2] + Qxy, Qyy, Qzy = mat[..., 1, 0], mat[..., 1, 1], mat[..., 1, 2] + Qxz, Qyz, Qzz = mat[..., 2, 0], mat[..., 2, 1], mat[..., 2, 2] + # Fill only lower half of symmetric matrix + K = np.zeros(mat.shape[:-2] + (4, 4), dtype=np.float64) + K[..., 0, 0] = Qxx - Qyy - Qzz + K[..., 1, 0] = Qyx + Qxy + K[..., 1, 1] = Qyy - Qxx - Qzz + K[..., 2, 0] = Qzx + Qxz + K[..., 2, 1] = Qzy + Qyz + K[..., 2, 2] = Qzz - Qxx - Qyy + K[..., 3, 0] = Qyz - Qzy + K[..., 3, 1] = Qzx - Qxz + K[..., 3, 2] = Qxy - Qyx + K[..., 3, 3] = Qxx + Qyy + Qzz + K /= 3.0 + # TODO: vectorize this -- probably could be made faster + q = np.empty(K.shape[:-2] + (4,)) + it = np.nditer(q[..., 0], flags=['multi_index']) + while not it.finished: + # Use Hermitian eigenvectors, values for speed + vals, vecs = np.linalg.eigh(K[it.multi_index]) + # Select largest eigenvector, reorder to w,x,y,z quaternion + q[it.multi_index] = vecs[[3, 0, 1, 2], np.argmax(vals)] + # Prefer quaternion with positive w + # (q * -1 corresponds to same rotation as q) + if q[it.multi_index][0] < 0: + q[it.multi_index] *= -1 + it.iternext() + return q + + +def quat2euler(quat): + """ Convert Quaternion to Euler Angles. See rotation.py for notes """ + return mat2euler(quat2mat(quat)) + + +def subtract_euler(e1, e2): + assert e1.shape == e2.shape + assert e1.shape[-1] == 3 + q1 = euler2quat(e1) + q2 = euler2quat(e2) + q_diff = quat_mul(q1, quat_conjugate(q2)) + return quat2euler(q_diff) + + +def quat2mat(quat): + """ Convert Quaternion to Euler Angles. See rotation.py for notes """ + quat = np.asarray(quat, dtype=np.float64) + assert quat.shape[-1] == 4, "Invalid shape quat {}".format(quat) + + w, x, y, z = quat[..., 0], quat[..., 1], quat[..., 2], quat[..., 3] + Nq = np.sum(quat * quat, axis=-1) + s = 2.0 / Nq + X, Y, Z = x * s, y * s, z * s + wX, wY, wZ = w * X, w * Y, w * Z + xX, xY, xZ = x * X, x * Y, x * Z + yY, yZ, zZ = y * Y, y * Z, z * Z + + mat = np.empty(quat.shape[:-1] + (3, 3), dtype=np.float64) + mat[..., 0, 0] = 1.0 - (yY + zZ) + mat[..., 0, 1] = xY - wZ + mat[..., 0, 2] = xZ + wY + mat[..., 1, 0] = xY + wZ + mat[..., 1, 1] = 1.0 - (xX + zZ) + mat[..., 1, 2] = yZ - wX + mat[..., 2, 0] = xZ - wY + mat[..., 2, 1] = yZ + wX + mat[..., 2, 2] = 1.0 - (xX + yY) + return np.where((Nq > _FLOAT_EPS)[..., np.newaxis, np.newaxis], mat, np.eye(3)) + +def quat_conjugate(q): + inv_q = -q + inv_q[..., 0] *= -1 + return inv_q + +def quat_mul(q0, q1): + assert q0.shape == q1.shape + assert q0.shape[-1] == 4 + assert q1.shape[-1] == 4 + + w0 = q0[..., 0] + x0 = q0[..., 1] + y0 = q0[..., 2] + z0 = q0[..., 3] + + w1 = q1[..., 0] + x1 = q1[..., 1] + y1 = q1[..., 2] + z1 = q1[..., 3] + + w = w0 * w1 - x0 * x1 - y0 * y1 - z0 * z1 + x = w0 * x1 + x0 * w1 + y0 * z1 - z0 * y1 + y = w0 * y1 + y0 * w1 + z0 * x1 - x0 * z1 + z = w0 * z1 + z0 * w1 + x0 * y1 - y0 * x1 + q = np.array([w, x, y, z]) + if q.ndim == 2: + q = q.swapaxes(0, 1) + assert q.shape == q0.shape + return q + +def quat_rot_vec(q, v0): + q_v0 = np.array([0, v0[0], v0[1], v0[2]]) + q_v = quat_mul(q, quat_mul(q_v0, quat_conjugate(q))) + v = q_v[1:] + return v + +def quat_identity(): + return np.array([1, 0, 0, 0]) + +def quat2axisangle(quat): + theta = 0; + axis = np.array([0, 0, 1]); + sin_theta = np.linalg.norm(quat[1:]) + + if (sin_theta > 0.0001): + theta = 2 * np.arcsin(sin_theta) + theta *= 1 if quat[0] >= 0 else -1 + axis = quat[1:] / sin_theta + + return axis, theta + +def euler2point_euler(euler): + _euler = euler.copy() + if len(_euler.shape) < 2: + _euler = np.expand_dims(_euler,0) + assert(_euler.shape[1] == 3) + _euler_sin = np.sin(_euler) + _euler_cos = np.cos(_euler) + return np.concatenate([_euler_sin, _euler_cos], axis=-1) + +def point_euler2euler(euler): + _euler = euler.copy() + if len(_euler.shape) < 2: + _euler = np.expand_dims(_euler,0) + assert(_euler.shape[1] == 6) + angle = np.arctan(_euler[..., :3] / _euler[..., 3:]) + angle[_euler[..., 3:] < 0] += np.pi + return angle + +def quat2point_quat(quat): + # Should be in qw, qx, qy, qz + _quat = quat.copy() + if len(_quat.shape) < 2: + _quat = np.expand_dims(_quat, 0) + assert(_quat.shape[1] == 4) + angle = np.arccos(_quat[:,[0]]) * 2 + xyz = _quat[:, 1:] + xyz[np.squeeze(np.abs(np.sin(angle/2))) >= 1e-5] = (xyz / np.sin(angle / 2))[np.squeeze(np.abs(np.sin(angle/2))) >= 1e-5] + return np.concatenate([np.sin(angle),np.cos(angle), xyz], axis=-1) + +def point_quat2quat(quat): + _quat = quat.copy() + if len(_quat.shape) < 2: + _quat = np.expand_dims(_quat, 0) + assert(_quat.shape[1] == 5) + angle = np.arctan(_quat[:,[0]] / _quat[:,[1]]) + qw = np.cos(angle / 2) + + qxyz = _quat[:, 2:] + qxyz[np.squeeze(np.abs(np.sin(angle/2))) >= 1e-5] = (qxyz * np.sin(angle/2))[np.squeeze(np.abs(np.sin(angle/2))) >= 1e-5] + return np.concatenate([qw, qxyz], axis=-1) + +def normalize_angles(angles): + '''Puts angles in [-pi, pi] range.''' + angles = angles.copy() + if angles.size > 0: + angles = (angles + np.pi) % (2 * np.pi) - np.pi + assert -np.pi-1e-6 <= angles.min() and angles.max() <= np.pi+1e-6 + return angles + +def round_to_straight_angles(angles): + '''Returns closest angle modulo 90 degrees ''' + angles = np.round(angles / (np.pi / 2)) * (np.pi / 2) + return normalize_angles(angles) + +def get_parallel_rotations(): + mult90 = [0, np.pi/2, -np.pi/2, np.pi] + parallel_rotations = [] + for euler in itertools.product(mult90, repeat=3): + canonical = mat2euler(euler2mat(euler)) + canonical = np.round(canonical / (np.pi / 2)) + if canonical[0] == -2: + canonical[0] = 2 + if canonical[2] == -2: + canonical[2] = 2 + canonical *= np.pi / 2 + if all([(canonical != rot).any() for rot in parallel_rotations]): + parallel_rotations += [canonical] + assert len(parallel_rotations) == 24 + return parallel_rotations diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/utils.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..a73e5f6052bd9cd18a6def0963f1e3e3b9d4e986 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/robotics/utils.py @@ -0,0 +1,96 @@ +import numpy as np + +from gym import error +try: + import mujoco_py +except ImportError as e: + raise error.DependencyNotInstalled("{}. (HINT: you need to install mujoco_py, and also perform the setup instructions here: https://github.com/openai/mujoco-py/.)".format(e)) + + +def robot_get_obs(sim): + """Returns all joint positions and velocities associated with + a robot. + """ + if sim.data.qpos is not None and sim.model.joint_names: + names = [n for n in sim.model.joint_names if n.startswith('robot')] + return ( + np.array([sim.data.get_joint_qpos(name) for name in names]), + np.array([sim.data.get_joint_qvel(name) for name in names]), + ) + return np.zeros(0), np.zeros(0) + + +def ctrl_set_action(sim, action): + """For torque actuators it copies the action into mujoco ctrl field. + For position actuators it sets the target relative to the current qpos. + """ + if sim.model.nmocap > 0: + _, action = np.split(action, (sim.model.nmocap * 7, )) + if sim.data.ctrl is not None: + for i in range(action.shape[0]): + if sim.model.actuator_biastype[i] == 0: + sim.data.ctrl[i] = action[i] + else: + idx = sim.model.jnt_qposadr[sim.model.actuator_trnid[i, 0]] + sim.data.ctrl[i] = sim.data.qpos[idx] + action[i] + + +def mocap_set_action(sim, action): + """The action controls the robot using mocaps. Specifically, bodies + on the robot (for example the gripper wrist) is controlled with + mocap bodies. In this case the action is the desired difference + in position and orientation (quaternion), in world coordinates, + of the of the target body. The mocap is positioned relative to + the target body according to the delta, and the MuJoCo equality + constraint optimizer tries to center the welded body on the mocap. + """ + if sim.model.nmocap > 0: + action, _ = np.split(action, (sim.model.nmocap * 7, )) + action = action.reshape(sim.model.nmocap, 7) + + pos_delta = action[:, :3] + quat_delta = action[:, 3:] + + reset_mocap2body_xpos(sim) + sim.data.mocap_pos[:] = sim.data.mocap_pos + pos_delta + sim.data.mocap_quat[:] = sim.data.mocap_quat + quat_delta + + +def reset_mocap_welds(sim): + """Resets the mocap welds that we use for actuation. + """ + if sim.model.nmocap > 0 and sim.model.eq_data is not None: + for i in range(sim.model.eq_data.shape[0]): + if sim.model.eq_type[i] == mujoco_py.const.EQ_WELD: + sim.model.eq_data[i, :] = np.array( + [0., 0., 0., 1., 0., 0., 0.]) + sim.forward() + + +def reset_mocap2body_xpos(sim): + """Resets the position and orientation of the mocap bodies to the same + values as the bodies they're welded to. + """ + + if (sim.model.eq_type is None or + sim.model.eq_obj1id is None or + sim.model.eq_obj2id is None): + return + for eq_type, obj1_id, obj2_id in zip(sim.model.eq_type, + sim.model.eq_obj1id, + sim.model.eq_obj2id): + if eq_type != mujoco_py.const.EQ_WELD: + continue + + mocap_id = sim.model.body_mocapid[obj1_id] + if mocap_id != -1: + # obj1 is the mocap, obj2 is the welded body + body_idx = obj2_id + else: + # obj2 is the mocap, obj1 is the welded body + mocap_id = sim.model.body_mocapid[obj2_id] + body_idx = obj1_id + + assert (mocap_id != -1) + sim.data.mocap_pos[mocap_id][:] = sim.data.body_xpos[body_idx] + sim.data.mocap_quat[mocap_id][:] = sim.data.body_xquat[body_idx] diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/spec_list.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/spec_list.py new file mode 100644 index 0000000000000000000000000000000000000000..2d64deafb44b3431b5915eed482ee39b7251c354 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/spec_list.py @@ -0,0 +1,37 @@ +from gym import envs, logger +import os + +skip_mujoco = not (os.environ.get('MUJOCO_KEY')) +if not skip_mujoco: + try: + import mujoco_py + except ImportError: + skip_mujoco = True + +def should_skip_env_spec_for_tests(spec): + # We skip tests for envs that require dependencies or are otherwise + # troublesome to run frequently + ep = spec._entry_point + # Skip mujoco tests for pull request CI + if skip_mujoco and (ep.startswith('gym.envs.mujoco') or ep.startswith('gym.envs.robotics:')): + return True + try: + import atari_py + except ImportError: + if ep.startswith('gym.envs.atari'): + return True + try: + import Box2D + except ImportError: + if ep.startswith('gym.envs.box2d'): + return True + + if ( 'GoEnv' in ep or + 'HexEnv' in ep or + (ep.startswith("gym.envs.atari") and not spec.id.startswith("Pong") and not spec.id.startswith("Seaquest")) + ): + logger.warn("Skipping tests for env {}".format(ep)) + return True + return False + +spec_list = [spec for spec in sorted(envs.registry.all(), key=lambda x: x.id) if spec._entry_point is not None and not should_skip_env_spec_for_tests(spec)] diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_determinism.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_determinism.py new file mode 100644 index 0000000000000000000000000000000000000000..d08f2dad80b5250d6e4cfb0e4dbc70bbe6c71c20 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_determinism.py @@ -0,0 +1,71 @@ +import numpy as np +import pytest + +from gym.envs.tests.spec_list import spec_list + +@pytest.mark.parametrize("spec", spec_list) +def test_env(spec): + # Note that this precludes running this test in multiple + # threads. However, we probably already can't do multithreading + # due to some environments. + env1 = spec.make() + env1.seed(0) + initial_observation1 = env1.reset() + env1.action_space.seed(0) + action_samples1 = [env1.action_space.sample() for i in range(4)] + step_responses1 = [env1.step(action) for action in action_samples1] + env1.close() + + env2 = spec.make() + env2.seed(0) + initial_observation2 = env2.reset() + env2.action_space.seed(0) + action_samples2 = [env2.action_space.sample() for i in range(4)] + step_responses2 = [env2.step(action) for action in action_samples2] + env2.close() + + for i, (action_sample1, action_sample2) in enumerate(zip(action_samples1, action_samples2)): + try: + assert_equals(action_sample1, action_sample2) + except AssertionError: + print('env1.action_space=', env1.action_space) + print('env2.action_space=', env2.action_space) + print('action_samples1=', action_samples1) + print('action_samples2=', action_samples2) + print('[{}] action_sample1: {}, action_sample2: {}'.format(i, action_sample1, action_sample2)) + raise + + # Don't check rollout equality if it's a a nondeterministic + # environment. + if spec.nondeterministic: + return + + assert_equals(initial_observation1, initial_observation2) + + for i, ((o1, r1, d1, i1), (o2, r2, d2, i2)) in enumerate(zip(step_responses1, step_responses2)): + assert_equals(o1, o2, '[{}] '.format(i)) + assert r1 == r2, '[{}] r1: {}, r2: {}'.format(i, r1, r2) + assert d1 == d2, '[{}] d1: {}, d2: {}'.format(i, d1, d2) + + # Go returns a Pachi game board in info, which doesn't + # properly check equality. For now, we hack around this by + # just skipping Go. + if spec.id not in ['Go9x9-v0', 'Go19x19-v0']: + assert_equals(i1, i2, '[{}] '.format(i)) + +def assert_equals(a, b, prefix=None): + assert type(a) == type(b), "{}Differing types: {} and {}".format(prefix, a, b) + if isinstance(a, dict): + assert list(a.keys()) == list(b.keys()), "{}Key sets differ: {} and {}".format(prefix, a, b) + + for k in a.keys(): + v_a = a[k] + v_b = b[k] + assert_equals(v_a, v_b) + elif isinstance(a, np.ndarray): + np.testing.assert_array_equal(a, b) + elif isinstance(a, tuple): + for elem_from_a, elem_from_b in zip(a, b): + assert_equals(elem_from_a, elem_from_b) + else: + assert a == b diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_envs.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_envs.py new file mode 100644 index 0000000000000000000000000000000000000000..c3bd9a3b99573aaa4cdb998bdc9923716a9a70f8 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_envs.py @@ -0,0 +1,65 @@ +import pytest +import numpy as np + +from gym import envs +from gym.envs.tests.spec_list import spec_list + +# This runs a smoketest on each official registered env. We may want +# to try also running environments which are not officially registered +# envs. +@pytest.mark.parametrize("spec", spec_list) +def test_env(spec): + # Capture warnings + with pytest.warns(None) as warnings: + env = spec.make() + + # Check that dtype is explicitly declared for gym.Box spaces + for warning_msg in warnings: + assert not 'autodetected dtype' in str(warning_msg.message) + + ob_space = env.observation_space + act_space = env.action_space + ob = env.reset() + assert ob_space.contains(ob), 'Reset observation: {!r} not in space'.format(ob) + a = act_space.sample() + observation, reward, done, _info = env.step(a) + assert ob_space.contains(observation), 'Step observation: {!r} not in space'.format(observation) + assert np.isscalar(reward), "{} is not a scalar for {}".format(reward, env) + assert isinstance(done, bool), "Expected {} to be a boolean".format(done) + + for mode in env.metadata.get('render.modes', []): + env.render(mode=mode) + + # Make sure we can render the environment after close. + for mode in env.metadata.get('render.modes', []): + env.render(mode=mode) + + env.close() + +# Run a longer rollout on some environments +def test_random_rollout(): + for env in [envs.make('CartPole-v0'), envs.make('FrozenLake-v0')]: + agent = lambda ob: env.action_space.sample() + ob = env.reset() + for _ in range(10): + assert env.observation_space.contains(ob) + a = agent(ob) + assert env.action_space.contains(a) + (ob, _reward, done, _info) = env.step(a) + if done: break + env.close() + + +def test_env_render_result_is_immutable(): + from six import string_types + environs = [ + envs.make('Taxi-v2'), + envs.make('FrozenLake-v0'), + envs.make('Reverse-v0'), + ] + + for env in environs: + env.reset() + output = env.render(mode='ansi') + assert isinstance(output, string_types) + env.close() diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_envs_semantics.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_envs_semantics.py new file mode 100644 index 0000000000000000000000000000000000000000..4843375f677fb227b6c0392dd4cba3f301089b8f --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_envs_semantics.py @@ -0,0 +1,95 @@ +""" +Currently disabled since this was done in a very poor way +Hashed str representation of objects +""" + + +from __future__ import unicode_literals +import json +import hashlib +import os + +import pytest +from gym import spaces, logger +from gym.envs.tests.spec_list import spec_list + +DATA_DIR = os.path.dirname(__file__) +ROLLOUT_STEPS = 100 +episodes = ROLLOUT_STEPS +steps = ROLLOUT_STEPS + +ROLLOUT_FILE = os.path.join(DATA_DIR, 'rollout.json') + +if not os.path.isfile(ROLLOUT_FILE): + with open(ROLLOUT_FILE, "w") as outfile: + json.dump({}, outfile, indent=2) + +def hash_object(unhashed): + return hashlib.sha256(str(unhashed).encode('utf-16')).hexdigest() # This is really bad, str could be same while values change + +def generate_rollout_hash(spec): + spaces.seed(0) + env = spec.make() + env.seed(0) + + observation_list = [] + action_list = [] + reward_list = [] + done_list = [] + + total_steps = 0 + for episode in range(episodes): + if total_steps >= ROLLOUT_STEPS: break + observation = env.reset() + + for step in range(steps): + action = env.action_space.sample() + observation, reward, done, _ = env.step(action) + + action_list.append(action) + observation_list.append(observation) + reward_list.append(reward) + done_list.append(done) + + total_steps += 1 + if total_steps >= ROLLOUT_STEPS: break + + if done: break + + observations_hash = hash_object(observation_list) + actions_hash = hash_object(action_list) + rewards_hash = hash_object(reward_list) + dones_hash = hash_object(done_list) + + env.close() + return observations_hash, actions_hash, rewards_hash, dones_hash + +@pytest.mark.parametrize("spec", spec_list) +def test_env_semantics(spec): + logger.warn("Skipping this test. Existing hashes were generated in a bad way") + return + with open(ROLLOUT_FILE) as data_file: + rollout_dict = json.load(data_file) + + if spec.id not in rollout_dict: + if not spec.nondeterministic: + logger.warn("Rollout does not exist for {}, run generate_json.py to generate rollouts for new envs".format(spec.id)) + return + + logger.info("Testing rollout for {} environment...".format(spec.id)) + + observations_now, actions_now, rewards_now, dones_now = generate_rollout_hash(spec) + + errors = [] + if rollout_dict[spec.id]['observations'] != observations_now: + errors.append('Observations not equal for {} -- expected {} but got {}'.format(spec.id, rollout_dict[spec.id]['observations'], observations_now)) + if rollout_dict[spec.id]['actions'] != actions_now: + errors.append('Actions not equal for {} -- expected {} but got {}'.format(spec.id, rollout_dict[spec.id]['actions'], actions_now)) + if rollout_dict[spec.id]['rewards'] != rewards_now: + errors.append('Rewards not equal for {} -- expected {} but got {}'.format(spec.id, rollout_dict[spec.id]['rewards'], rewards_now)) + if rollout_dict[spec.id]['dones'] != dones_now: + errors.append('Dones not equal for {} -- expected {} but got {}'.format(spec.id, rollout_dict[spec.id]['dones'], dones_now)) + if len(errors): + for error in errors: + logger.warn(error) + raise ValueError(errors) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_frozenlake_dfs.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_frozenlake_dfs.py new file mode 100644 index 0000000000000000000000000000000000000000..5a0ecab4302ba0ca3e9fe3e928bc53fa191b8c2a --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_frozenlake_dfs.py @@ -0,0 +1,33 @@ +import pytest +import numpy as np + +from gym.envs.toy_text.frozen_lake import generate_random_map + +# Test that FrozenLake map generation creates valid maps of various sizes. +def test_frozenlake_dfs_map_generation(): + + def frozenlake_dfs_path_exists(res): + frontier, discovered = [], set() + frontier.append((0,0)) + while frontier: + r, c = frontier.pop() + if not (r,c) in discovered: + discovered.add((r,c)) + directions = [(1, 0), (0, 1), (-1, 0), (0, -1)] + for x, y in directions: + r_new = r + x + c_new = c + y + if r_new < 0 or r_new >= size or c_new < 0 or c_new >= size: + continue + if res[r_new][c_new] == 'G': + return True + if (res[r_new][c_new] not in '#H'): + frontier.append((r_new, c_new)) + return False + + map_sizes = [5, 10, 200] + for size in map_sizes: + new_frozenlake = generate_random_map(size) + assert len(new_frozenlake) == size + assert len(new_frozenlake[0]) == size + assert frozenlake_dfs_path_exists(new_frozenlake) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_kellycoinflip.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_kellycoinflip.py new file mode 100644 index 0000000000000000000000000000000000000000..c23bce34e983e4ea2455fc41a948f16ddf5f1cf1 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_kellycoinflip.py @@ -0,0 +1,17 @@ +from gym.envs.toy_text.kellycoinflip import KellyCoinflipEnv + + +class TestKellyCoinflipEnv: + @staticmethod + def test_done_when_reaches_max_wealth(): + # https://github.com/openai/gym/issues/1266 + env = KellyCoinflipEnv() + env.seed(1) + env.reset() + done = False + + while not done: + action = int(env.wealth * 20) # bet 20% of the wealth + observation, reward, done, info = env.step(action) + + assert env.wealth == env.max_wealth diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_mujoco_v2_to_v3_conversion.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_mujoco_v2_to_v3_conversion.py new file mode 100644 index 0000000000000000000000000000000000000000..e6698f7d53d5a5ee32128f3c3c0cb40d648823cb --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_mujoco_v2_to_v3_conversion.py @@ -0,0 +1,87 @@ +import unittest +import numpy as np +from gym import envs +from gym.envs.tests.spec_list import skip_mujoco + + +def verify_environments_match(old_environment_id, + new_environment_id, + seed=1, + num_actions=1000): + old_environment = envs.make(old_environment_id) + new_environment = envs.make(new_environment_id) + + old_environment.seed(seed) + new_environment.seed(seed) + + old_reset_observation = old_environment.reset() + new_reset_observation = new_environment.reset() + + np.testing.assert_allclose(old_reset_observation, new_reset_observation) + + for i in range(num_actions): + action = old_environment.action_space.sample() + old_observation, old_reward, old_done, old_info = old_environment.step( + action) + new_observation, new_reward, new_done, new_info = new_environment.step( + action) + + eps = 1e-6 + np.testing.assert_allclose(old_observation, new_observation, atol=eps) + np.testing.assert_allclose(old_reward, new_reward, atol=eps) + np.testing.assert_allclose(old_done, new_done, atol=eps) + + for key in old_info: + np.testing.assert_allclose(old_info[key], new_info[key], atol=eps) + + +@unittest.skipIf(skip_mujoco, 'Cannot run mujoco key ' + + '(either license key not found or ' + + 'mujoco not installed properly') +class Mujocov2Tov2ConverstionTest(unittest.TestCase): + def test_environments_match(self): + test_cases = ( + { + 'old_id': 'Swimmer-v2', + 'new_id': 'Swimmer-v3' + }, + { + 'old_id': 'Hopper-v2', + 'new_id': 'Hopper-v3' + }, + { + 'old_id': 'Walker2d-v2', + 'new_id': 'Walker2d-v3' + }, + { + 'old_id': 'HalfCheetah-v2', + 'new_id': 'HalfCheetah-v3' + }, + { + 'old_id': 'Ant-v2', + 'new_id': 'Ant-v3' + }, + { + 'old_id': 'Humanoid-v2', + 'new_id': 'Humanoid-v3' + }, + ) + + for test_case in test_cases: + verify_environments_match(test_case['old_id'], test_case['new_id']) + + # Raises KeyError because the new envs have extra info + with self.assertRaises(KeyError): + verify_environments_match('Swimmer-v3', 'Swimmer-v2') + + # Raises KeyError because the new envs have extra info + with self.assertRaises(KeyError): + verify_environments_match('Humanoid-v3', 'Humanoid-v2') + + # Raises KeyError because the new envs have extra info + with self.assertRaises(KeyError): + verify_environments_match('Swimmer-v3', 'Swimmer-v2') + + +if __name__ == '__main__': + unittest.main() diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_registration.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_registration.py new file mode 100644 index 0000000000000000000000000000000000000000..e8e60331f37fd842efea452f637ca769e436de72 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/tests/test_registration.py @@ -0,0 +1,74 @@ +# -*- coding: utf-8 -*- +import gym +from gym import error, envs +from gym.envs import registration +from gym.envs.classic_control import cartpole + +class ArgumentEnv(gym.Env): + def __init__(self, arg1, arg2, arg3): + self.arg1 = arg1 + self.arg2 = arg2 + self.arg3 = arg3 + +gym.register( + id='test.ArgumentEnv-v0', + entry_point='gym.envs.tests.test_registration:ArgumentEnv', + kwargs={ + 'arg1': 'arg1', + 'arg2': 'arg2', + } +) + +def test_make(): + env = envs.make('CartPole-v0') + assert env.spec.id == 'CartPole-v0' + assert isinstance(env.unwrapped, cartpole.CartPoleEnv) + +def test_make_with_kwargs(): + env = envs.make('test.ArgumentEnv-v0', arg2='override_arg2', arg3='override_arg3') + assert env.spec.id == 'test.ArgumentEnv-v0' + assert isinstance(env.unwrapped, ArgumentEnv) + assert env.arg1 == 'arg1' + assert env.arg2 == 'override_arg2' + assert env.arg3 == 'override_arg3' + +def test_make_deprecated(): + try: + envs.make('Humanoid-v0') + except error.Error: + pass + else: + assert False + +def test_spec(): + spec = envs.spec('CartPole-v0') + assert spec.id == 'CartPole-v0' + +def test_missing_lookup(): + registry = registration.EnvRegistry() + registry.register(id='Test-v0', entry_point=None) + registry.register(id='Test-v15', entry_point=None) + registry.register(id='Test-v9', entry_point=None) + registry.register(id='Other-v100', entry_point=None) + try: + registry.spec('Test-v1') # must match an env name but not the version above + except error.DeprecatedEnv: + pass + else: + assert False + + try: + registry.spec('Unknown-v1') + except error.UnregisteredEnv: + pass + else: + assert False + +def test_malformed_lookup(): + registry = registration.EnvRegistry() + try: + registry.spec(u'“Breakout-v0”') + except error.Error as e: + assert 'malformed environment ID' in '{}'.format(e), 'Unexpected message: {}'.format(e) + else: + assert False diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..54bb8de4a6cffb5c90ede0b028a55faed863e513 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/__init__.py @@ -0,0 +1,12 @@ +from gym.envs.toy_text.blackjack import BlackjackEnv +from gym.envs.toy_text.roulette import RouletteEnv +from gym.envs.toy_text.frozen_lake import FrozenLakeEnv +from gym.envs.toy_text.nchain import NChainEnv +from gym.envs.toy_text.hotter_colder import HotterColder +from gym.envs.toy_text.guessing_game import GuessingGame +from gym.envs.toy_text.kellycoinflip import KellyCoinflipEnv +from gym.envs.toy_text.kellycoinflip import KellyCoinflipGeneralizedEnv +from gym.envs.toy_text.cliffwalking import CliffWalkingEnv +from gym.envs.toy_text.taxi import TaxiEnv +from gym.envs.toy_text.guessing_game import GuessingGame +from gym.envs.toy_text.hotter_colder import HotterColder diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/blackjack.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/blackjack.py new file mode 100644 index 0000000000000000000000000000000000000000..0cb6193e298d66e3c34780e30e6392d2bc12b259 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/blackjack.py @@ -0,0 +1,116 @@ +import gym +from gym import spaces +from gym.utils import seeding + +def cmp(a, b): + return float(a > b) - float(a < b) + +# 1 = Ace, 2-10 = Number cards, Jack/Queen/King = 10 +deck = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10] + + +def draw_card(np_random): + return int(np_random.choice(deck)) + + +def draw_hand(np_random): + return [draw_card(np_random), draw_card(np_random)] + + +def usable_ace(hand): # Does this hand have a usable ace? + return 1 in hand and sum(hand) + 10 <= 21 + + +def sum_hand(hand): # Return current hand total + if usable_ace(hand): + return sum(hand) + 10 + return sum(hand) + + +def is_bust(hand): # Is this hand a bust? + return sum_hand(hand) > 21 + + +def score(hand): # What is the score of this hand (0 if bust) + return 0 if is_bust(hand) else sum_hand(hand) + + +def is_natural(hand): # Is this hand a natural blackjack? + return sorted(hand) == [1, 10] + + +class BlackjackEnv(gym.Env): + """Simple blackjack environment + + Blackjack is a card game where the goal is to obtain cards that sum to as + near as possible to 21 without going over. They're playing against a fixed + dealer. + Face cards (Jack, Queen, King) have point value 10. + Aces can either count as 11 or 1, and it's called 'usable' at 11. + This game is placed with an infinite deck (or with replacement). + The game starts with each (player and dealer) having one face up and one + face down card. + + The player can request additional cards (hit=1) until they decide to stop + (stick=0) or exceed 21 (bust). + + After the player sticks, the dealer reveals their facedown card, and draws + until their sum is 17 or greater. If the dealer goes bust the player wins. + + If neither player nor dealer busts, the outcome (win, lose, draw) is + decided by whose sum is closer to 21. The reward for winning is +1, + drawing is 0, and losing is -1. + + The observation of a 3-tuple of: the players current sum, + the dealer's one showing card (1-10 where 1 is ace), + and whether or not the player holds a usable ace (0 or 1). + + This environment corresponds to the version of the blackjack problem + described in Example 5.1 in Reinforcement Learning: An Introduction + by Sutton and Barto. + http://incompleteideas.net/book/the-book-2nd.html + """ + def __init__(self, natural=False): + self.action_space = spaces.Discrete(2) + self.observation_space = spaces.Tuple(( + spaces.Discrete(32), + spaces.Discrete(11), + spaces.Discrete(2))) + self.seed() + + # Flag to payout 1.5 on a "natural" blackjack win, like casino rules + # Ref: http://www.bicyclecards.com/how-to-play/blackjack/ + self.natural = natural + # Start the first game + self.reset() + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def step(self, action): + assert self.action_space.contains(action) + if action: # hit: add a card to players hand and return + self.player.append(draw_card(self.np_random)) + if is_bust(self.player): + done = True + reward = -1 + else: + done = False + reward = 0 + else: # stick: play out the dealers hand, and score + done = True + while sum_hand(self.dealer) < 17: + self.dealer.append(draw_card(self.np_random)) + reward = cmp(score(self.player), score(self.dealer)) + if self.natural and is_natural(self.player) and reward == 1: + reward = 1.5 + return self._get_obs(), reward, done, {} + + def _get_obs(self): + return (sum_hand(self.player), self.dealer[0], usable_ace(self.player)) + + def reset(self): + self.dealer = draw_hand(self.np_random) + self.player = draw_hand(self.np_random) + return self._get_obs() diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/cliffwalking.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/cliffwalking.py new file mode 100644 index 0000000000000000000000000000000000000000..81bbc99263106cdd23403fc071fd9a2b4f7083d9 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/cliffwalking.py @@ -0,0 +1,113 @@ +import numpy as np +import sys +from gym.envs.toy_text import discrete + +UP = 0 +RIGHT = 1 +DOWN = 2 +LEFT = 3 + + +class CliffWalkingEnv(discrete.DiscreteEnv): + """ + This is a simple implementation of the Gridworld Cliff + reinforcement learning task. + + Adapted from Example 6.6 (page 106) from Reinforcement Learning: An Introduction + by Sutton and Barto: + http://incompleteideas.net/book/bookdraft2018jan1.pdf + + With inspiration from: + https://github.com/dennybritz/reinforcement-learning/blob/master/lib/envs/cliff_walking.py + + The board is a 4x12 matrix, with (using Numpy matrix indexing): + [3, 0] as the start at bottom-left + [3, 11] as the goal at bottom-right + [3, 1..10] as the cliff at bottom-center + + Each time step incurs -1 reward, and stepping into the cliff incurs -100 reward + and a reset to the start. An episode terminates when the agent reaches the goal. + """ + metadata = {'render.modes': ['human', 'ansi']} + + def __init__(self): + self.shape = (4, 12) + self.start_state_index = np.ravel_multi_index((3, 0), self.shape) + + nS = np.prod(self.shape) + nA = 4 + + # Cliff Location + self._cliff = np.zeros(self.shape, dtype=np.bool) + self._cliff[3, 1:-1] = True + + # Calculate transition probabilities and rewards + P = {} + for s in range(nS): + position = np.unravel_index(s, self.shape) + P[s] = {a: [] for a in range(nA)} + P[s][UP] = self._calculate_transition_prob(position, [-1, 0]) + P[s][RIGHT] = self._calculate_transition_prob(position, [0, 1]) + P[s][DOWN] = self._calculate_transition_prob(position, [1, 0]) + P[s][LEFT] = self._calculate_transition_prob(position, [0, -1]) + + # Calculate initial state distribution + # We always start in state (3, 0) + isd = np.zeros(nS) + isd[self.start_state_index] = 1.0 + + super(CliffWalkingEnv, self).__init__(nS, nA, P, isd) + + def _limit_coordinates(self, coord): + """ + Prevent the agent from falling out of the grid world + :param coord: + :return: + """ + coord[0] = min(coord[0], self.shape[0] - 1) + coord[0] = max(coord[0], 0) + coord[1] = min(coord[1], self.shape[1] - 1) + coord[1] = max(coord[1], 0) + return coord + + def _calculate_transition_prob(self, current, delta): + """ + Determine the outcome for an action. Transition Prob is always 1.0. + :param current: Current position on the grid as (row, col) + :param delta: Change in position for transition + :return: (1.0, new_state, reward, done) + """ + new_position = np.array(current) + np.array(delta) + new_position = self._limit_coordinates(new_position).astype(int) + new_state = np.ravel_multi_index(tuple(new_position), self.shape) + if self._cliff[tuple(new_position)]: + return [(1.0, self.start_state_index, -100, False)] + + terminal_state = (self.shape[0] - 1, self.shape[1] - 1) + is_done = tuple(new_position) == terminal_state + return [(1.0, new_state, -1, is_done)] + + def render(self, mode='human'): + outfile = sys.stdout + + for s in range(self.nS): + position = np.unravel_index(s, self.shape) + if self.s == s: + output = " x " + # Print terminal state + elif position == (3, 11): + output = " T " + elif self._cliff[position]: + output = " C " + else: + output = " o " + + if position[1] == 0: + output = output.lstrip() + if position[1] == self.shape[1] - 1: + output = output.rstrip() + output += '\n' + + outfile.write(output) + outfile.write('\n') + diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/discrete.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/discrete.py new file mode 100644 index 0000000000000000000000000000000000000000..b6105539ef90744a2fd6fe851adff5352fd2d446 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/discrete.py @@ -0,0 +1,60 @@ +import numpy as np + +from gym import Env, spaces +from gym.utils import seeding + +def categorical_sample(prob_n, np_random): + """ + Sample from categorical distribution + Each row specifies class probabilities + """ + prob_n = np.asarray(prob_n) + csprob_n = np.cumsum(prob_n) + return (csprob_n > np_random.rand()).argmax() + + +class DiscreteEnv(Env): + + """ + Has the following members + - nS: number of states + - nA: number of actions + - P: transitions (*) + - isd: initial state distribution (**) + + (*) dictionary dict of dicts of lists, where + P[s][a] == [(probability, nextstate, reward, done), ...] + (**) list or array of length nS + + + """ + def __init__(self, nS, nA, P, isd): + self.P = P + self.isd = isd + self.lastaction = None # for rendering + self.nS = nS + self.nA = nA + + self.action_space = spaces.Discrete(self.nA) + self.observation_space = spaces.Discrete(self.nS) + + self.seed() + self.s = categorical_sample(self.isd, self.np_random) + self.lastaction=None + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def reset(self): + self.s = categorical_sample(self.isd, self.np_random) + self.lastaction = None + return self.s + + def step(self, a): + transitions = self.P[self.s][a] + i = categorical_sample([t[0] for t in transitions], self.np_random) + p, s, r, d= transitions[i] + self.s = s + self.lastaction = a + return (s, r, d, {"prob" : p}) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/frozen_lake.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/frozen_lake.py new file mode 100644 index 0000000000000000000000000000000000000000..a4ab92ea42adf38ad8db9204252fc1972facc677 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/frozen_lake.py @@ -0,0 +1,172 @@ +import sys +from contextlib import closing + +import numpy as np +from six import StringIO, b + +from gym import utils +from gym.envs.toy_text import discrete + +LEFT = 0 +DOWN = 1 +RIGHT = 2 +UP = 3 + +MAPS = { + "4x4": [ + "SFFF", + "FHFH", + "FFFH", + "HFFG" + ], + "8x8": [ + "SFFFFFFF", + "FFFFFFFF", + "FFFHFFFF", + "FFFFFHFF", + "FFFHFFFF", + "FHHFFFHF", + "FHFFHFHF", + "FFFHFFFG" + ], +} + + +def generate_random_map(size=8, p=0.8): + """Generates a random valid map (one that has a path from start to goal) + :param size: size of each side of the grid + :param p: probability that a tile is frozen + """ + valid = False + + # DFS to check that it's a valid path. + def is_valid(res): + frontier, discovered = [], set() + frontier.append((0,0)) + while frontier: + r, c = frontier.pop() + if not (r,c) in discovered: + discovered.add((r,c)) + directions = [(1, 0), (0, 1), (-1, 0), (0, -1)] + for x, y in directions: + r_new = r + x + c_new = c + y + if r_new < 0 or r_new >= size or c_new < 0 or c_new >= size: + continue + if res[r_new][c_new] == 'G': + return True + if (res[r_new][c_new] not in '#H'): + frontier.append((r_new, c_new)) + return False + + while not valid: + p = min(1, p) + res = np.random.choice(['F', 'H'], (size, size), p=[p, 1-p]) + res[0][0] = 'S' + res[-1][-1] = 'G' + valid = is_valid(res) + return ["".join(x) for x in res] + + +class FrozenLakeEnv(discrete.DiscreteEnv): + """ + Winter is here. You and your friends were tossing around a frisbee at the park + when you made a wild throw that left the frisbee out in the middle of the lake. + The water is mostly frozen, but there are a few holes where the ice has melted. + If you step into one of those holes, you'll fall into the freezing water. + At this time, there's an international frisbee shortage, so it's absolutely imperative that + you navigate across the lake and retrieve the disc. + However, the ice is slippery, so you won't always move in the direction you intend. + The surface is described using a grid like the following + + SFFF + FHFH + FFFH + HFFG + + S : starting point, safe + F : frozen surface, safe + H : hole, fall to your doom + G : goal, where the frisbee is located + + The episode ends when you reach the goal or fall in a hole. + You receive a reward of 1 if you reach the goal, and zero otherwise. + + """ + + metadata = {'render.modes': ['human', 'ansi']} + + def __init__(self, desc=None, map_name="4x4",is_slippery=True): + if desc is None and map_name is None: + desc = generate_random_map() + elif desc is None: + desc = MAPS[map_name] + self.desc = desc = np.asarray(desc,dtype='c') + self.nrow, self.ncol = nrow, ncol = desc.shape + self.reward_range = (0, 1) + + nA = 4 + nS = nrow * ncol + + isd = np.array(desc == b'S').astype('float64').ravel() + isd /= isd.sum() + + P = {s : {a : [] for a in range(nA)} for s in range(nS)} + + def to_s(row, col): + return row*ncol + col + + def inc(row, col, a): + if a == LEFT: + col = max(col-1,0) + elif a == DOWN: + row = min(row+1,nrow-1) + elif a == RIGHT: + col = min(col+1,ncol-1) + elif a == UP: + row = max(row-1,0) + return (row, col) + + for row in range(nrow): + for col in range(ncol): + s = to_s(row, col) + for a in range(4): + li = P[s][a] + letter = desc[row, col] + if letter in b'GH': + li.append((1.0, s, 0, True)) + else: + if is_slippery: + for b in [(a-1)%4, a, (a+1)%4]: + newrow, newcol = inc(row, col, b) + newstate = to_s(newrow, newcol) + newletter = desc[newrow, newcol] + done = bytes(newletter) in b'GH' + rew = float(newletter == b'G') + li.append((1.0/3.0, newstate, rew, done)) + else: + newrow, newcol = inc(row, col, a) + newstate = to_s(newrow, newcol) + newletter = desc[newrow, newcol] + done = bytes(newletter) in b'GH' + rew = float(newletter == b'G') + li.append((1.0, newstate, rew, done)) + + super(FrozenLakeEnv, self).__init__(nS, nA, P, isd) + + def render(self, mode='human'): + outfile = StringIO() if mode == 'ansi' else sys.stdout + + row, col = self.s // self.ncol, self.s % self.ncol + desc = self.desc.tolist() + desc = [[c.decode('utf-8') for c in line] for line in desc] + desc[row][col] = utils.colorize(desc[row][col], "red", highlight=True) + if self.lastaction is not None: + outfile.write(" ({})\n".format(["Left","Down","Right","Up"][self.lastaction])) + else: + outfile.write("\n") + outfile.write("\n".join(''.join(line) for line in desc)+"\n") + + if mode != 'human': + with closing(outfile): + return outfile.getvalue() diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/guessing_game.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/guessing_game.py new file mode 100644 index 0000000000000000000000000000000000000000..6eb69c389df8556237030e5e9b53b5a3a5d58aa6 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/guessing_game.py @@ -0,0 +1,89 @@ +import numpy as np + +import gym +from gym import spaces +from gym.utils import seeding + + +class GuessingGame(gym.Env): + """Number guessing game + + The object of the game is to guess within 1% of the randomly chosen number + within 200 time steps + + After each step the agent is provided with one of four possible observations + which indicate where the guess is in relation to the randomly chosen number + + 0 - No guess yet submitted (only after reset) + 1 - Guess is lower than the target + 2 - Guess is equal to the target + 3 - Guess is higher than the target + + The rewards are: + 0 if the agent's guess is outside of 1% of the target + 1 if the agent's guess is inside 1% of the target + + The episode terminates after the agent guesses within 1% of the target or + 200 steps have been taken + + The agent will need to use a memory of previously submitted actions and observations + in order to efficiently explore the available actions + + The purpose is to have agents optimise their exploration parameters (e.g. how far to + explore from previous actions) based on previous experience. Because the goal changes + each episode a state-value or action-value function isn't able to provide any additional + benefit apart from being able to tell whether to increase or decrease the next guess. + + The perfect agent would likely learn the bounds of the action space (without referring + to them explicitly) and then follow binary tree style exploration towards to goal number + """ + def __init__(self): + self.range = 1000 # Randomly selected number is within +/- this value + self.bounds = 10000 + + self.action_space = spaces.Box(low=np.array([-self.bounds]), high=np.array([self.bounds]), + dtype=np.float32) + self.observation_space = spaces.Discrete(4) + + self.number = 0 + self.guess_count = 0 + self.guess_max = 200 + self.observation = 0 + + self.seed() + self.reset() + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def step(self, action): + assert self.action_space.contains(action) + + if action < self.number: + self.observation = 1 + + elif action == self.number: + self.observation = 2 + + elif action > self.number: + self.observation = 3 + + reward = 0 + done = False + + if (self.number - self.range * 0.01) < action < (self.number + self.range * 0.01): + reward = 1 + done = True + + self.guess_count += 1 + if self.guess_count >= self.guess_max: + done = True + + return self.observation, reward, done, {"number": self.number, "guesses": self.guess_count} + + def reset(self): + self.number = self.np_random.uniform(-self.range, self.range) + self.guess_count = 0 + self.observation = 0 + return self.observation diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/hotter_colder.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/hotter_colder.py new file mode 100644 index 0000000000000000000000000000000000000000..11208dee73608d2e05b507157ef404a17ec5f38e --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/hotter_colder.py @@ -0,0 +1,68 @@ +import numpy as np + +import gym +from gym import spaces +from gym.utils import seeding + + +class HotterColder(gym.Env): + """Hotter Colder + The goal of hotter colder is to guess closer to a randomly selected number + + After each step the agent receives an observation of: + 0 - No guess yet submitted (only after reset) + 1 - Guess is lower than the target + 2 - Guess is equal to the target + 3 - Guess is higher than the target + + The rewards is calculated as: + (min(action, self.number) + self.range) / (max(action, self.number) + self.range) + + Ideally an agent will be able to recognise the 'scent' of a higher reward and + increase the rate in which is guesses in that direction until the reward reaches + its maximum + """ + def __init__(self): + self.range = 1000 # +/- value the randomly select number can be between + self.bounds = 2000 # Action space bounds + + self.action_space = spaces.Box(low=np.array([-self.bounds]), high=np.array([self.bounds]), + dtype=np.float32) + self.observation_space = spaces.Discrete(4) + + self.number = 0 + self.guess_count = 0 + self.guess_max = 200 + self.observation = 0 + + self.seed() + self.reset() + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def step(self, action): + assert self.action_space.contains(action) + + if action < self.number: + self.observation = 1 + + elif action == self.number: + self.observation = 2 + + elif action > self.number: + self.observation = 3 + + reward = ((min(action, self.number) + self.bounds) / (max(action, self.number) + self.bounds)) ** 2 + + self.guess_count += 1 + done = self.guess_count >= self.guess_max + + return self.observation, reward[0], done, {"number": self.number, "guesses": self.guess_count} + + def reset(self): + self.number = self.np_random.uniform(-self.range, self.range) + self.guess_count = 0 + self.observation = 0 + return self.observation diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/kellycoinflip.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/kellycoinflip.py new file mode 100644 index 0000000000000000000000000000000000000000..3fd570450891868beef4b982996f164d7ab227e0 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/kellycoinflip.py @@ -0,0 +1,205 @@ +from scipy.stats import genpareto +import numpy as np + +import gym +from gym import spaces +from gym.utils import seeding + + +def flip(edge, np_random): + return 1 if np_random.uniform() < edge else -1 + + +class KellyCoinflipEnv(gym.Env): + """The Kelly coinflip game is a simple gambling introduced by Haghani & Dewey 2016's + 'Rational Decision-Making Under Uncertainty: Observed Betting Patterns on a Biased + Coin' (https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2856963), to test human + decision-making in a setting like that of the stock market: positive expected value + but highly stochastic; they found many subjects performed badly, often going broke, + even though optimal play would reach the maximum with ~95% probability. In the + coinflip game, the player starts with $25.00 to gamble over 300 rounds; each round, + they can bet anywhere up to their net worth (in penny increments), and then a coin is + flipped; with P=0.6, the player wins twice what they bet, otherwise, they lose it. + $250 is the maximum players are allowed to have. At the end of the 300 rounds, they + keep whatever they have. The human subjects earned an average of $91; a simple use of + the Kelly criterion (https://en.wikipedia.org/wiki/Kelly_criterion), giving a + strategy of betting 20% until the cap is hit, would earn $240; a decision tree + analysis shows that optimal play earns $246 (https://www.gwern.net/Coin-flip). + + The game short-circuits when either wealth = $0 (since one can never recover) or + wealth = cap (trivial optimal play: one simply bets nothing thereafter). + + In this implementation, we default to the paper settings of $25, 60% odds, wealth cap + of $250, and 300 rounds. To specify the action space in advance, we multiply the + wealth cap (in dollars) by 100 (to allow for all penny bets); should one attempt to + bet more money than one has, it is rounded down to one's net worth. (Alternately, a + mistaken bet could end the episode immediately; it's not clear to me which version + would be better.) For a harder version which randomizes the 3 key parameters, see the + Generalized Kelly coinflip game.""" + metadata = {'render.modes': ['human']} + + def __init__(self, initial_wealth=25.0, edge=0.6, max_wealth=250.0, max_rounds=300): + + self.action_space = spaces.Discrete(int(max_wealth * 100)) # betting in penny + # increments + self.observation_space = spaces.Tuple(( + spaces.Box(0, max_wealth, [1], dtype=np.float32), # (w,b) + spaces.Discrete(max_rounds + 1))) + self.reward_range = (0, max_wealth) + self.edge = edge + self.wealth = initial_wealth + self.initial_wealth = initial_wealth + self.max_rounds = max_rounds + self.max_wealth = max_wealth + self.np_random = None + self.rounds = None + self.seed() + self.reset() + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def step(self, action): + bet_in_dollars = min(action/100.0, self.wealth) # action = desired bet in pennies + self.rounds -= 1 + + coinflip = flip(self.edge, self.np_random) + self.wealth = min(self.max_wealth, self.wealth + coinflip * bet_in_dollars) + + done = self.wealth < 0.01 or self.wealth == self.max_wealth or not self.rounds + reward = self.wealth if done else 0.0 + + return self._get_obs(), reward, done, {} + + def _get_obs(self): + return np.array([self.wealth]), self.rounds + + def reset(self): + self.rounds = self.max_rounds + self.wealth = self.initial_wealth + return self._get_obs() + + def render(self, mode='human'): + print("Current wealth: ", self.wealth, "; Rounds left: ", self.rounds) + + +class KellyCoinflipGeneralizedEnv(gym.Env): + """The Generalized Kelly coinflip game is an extension by ArthurB & Gwern Branwen + which expands the Kelly coinflip game MDP into a POMDP, where the 3 key parameters + (edge, maximum wealth, and number of rounds) are unknown random variables drawn + from 3 distributions: a Beta(7,3) for the coinflip edge 0-1, a N(300,25) the total + number of rounds, and a Pareto(5,200) for the wealth cap. These distributions are + chosen to be conjugate & easily updatable, to allow for inference (other choices + like the geometric for number of rounds wouldn't make observations informative), + and to loosely reflect what a human might expect in the original Kelly coinflip + game given that the number of rounds wasn't strictly fixed and they weren't told + the wealth cap until they neared it. With these particular distributions, the + entire history of the game can be summarized into a few sufficient statistics of + rounds-elapsed/wins/losses/max-wealth-ever-reached, from which the Bayes-optimal + decision can (in theory) be made; to avoid all agents having to tediously track + those sufficient statistics manually in the same way, the observation space is + augmented from wealth/rounds-left (rounds-left is deleted because it is a hidden + variable) to current-wealth/rounds-elapsed/wins/losses/maximum-observed-wealth. + The simple Kelly coinflip game can easily be solved by calculating decision trees, + but the Generalized Kelly coinflip game may be intractable (although the analysis + for the edge case alone suggests that the Bayes-optimal value may be very close to + what one would calculate using a decision tree for any specific case), and + represents a good challenge for RL agents.""" + metadata = {'render.modes': ['human']} + + def __init__(self, initial_wealth=25.0, edge_prior_alpha=7, edge_prior_beta=3, + max_wealth_alpha=5.0, max_wealth_m=200.0, max_rounds_mean=300.0, + max_rounds_sd=25.0, reseed=True): + # store the hyper-parameters for passing back into __init__() during resets so + # the same hyper-parameters govern the next game's parameters, as the user + # expects: + # TODO: this is boilerplate, is there any more elegant way to do this? + self.initial_wealth = float(initial_wealth) + self.edge_prior_alpha = edge_prior_alpha + self.edge_prior_beta = edge_prior_beta + self.max_wealth_alpha = max_wealth_alpha + self.max_wealth_m = max_wealth_m + self.max_rounds_mean = max_rounds_mean + self.max_rounds_sd = max_rounds_sd + + if reseed or not hasattr(self, 'np_random'): + self.seed() + + # draw this game's set of parameters: + edge = self.np_random.beta(edge_prior_alpha, edge_prior_beta) + max_wealth = round(genpareto.rvs(max_wealth_alpha, max_wealth_m, + random_state=self.np_random)) + max_rounds = int(round(self.np_random.normal(max_rounds_mean, max_rounds_sd))) + + # add an additional global variable which is the sufficient statistic for the + # Pareto distribution on wealth cap; alpha doesn't update, but x_m does, and + # simply is the highest wealth count we've seen to date: + self.max_ever_wealth = float(self.initial_wealth) + # for the coinflip edge, it is total wins/losses: + self.wins = 0 + self.losses = 0 + # for the number of rounds, we need to remember how many rounds we've played: + self.rounds_elapsed = 0 + + # the rest proceeds as before: + self.action_space = spaces.Discrete(int(max_wealth*100)) + self.observation_space = spaces.Tuple(( + spaces.Box(0, max_wealth, shape=[1], dtype=np.float32), # current wealth + spaces.Discrete(max_rounds+1), # rounds elapsed + spaces.Discrete(max_rounds+1), # wins + spaces.Discrete(max_rounds+1), # losses + spaces.Box(0, max_wealth, [1], dtype=np.float32))) # maximum observed wealth + self.reward_range = (0, max_wealth) + self.edge = edge + self.wealth = self.initial_wealth + self.max_rounds = max_rounds + self.rounds = self.max_rounds + self.max_wealth = max_wealth + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def step(self, action): + bet_in_dollars = min(action/100.0, self.wealth) + + self.rounds -= 1 + + coinflip = flip(self.edge, self.np_random) + self.wealth = min(self.max_wealth, self.wealth + coinflip * bet_in_dollars) + self.rounds_elapsed += 1 + + if coinflip: + self.max_ever_wealth = max(self.wealth, self.max_ever_wealth) + self.wins += 1 + else: + self.losses += 1 + + done = self.wealth < 0.01 or self.wealth == self.max_wealth or not self.rounds + reward = self.wealth if done else 0.0 + + return self._get_obs(), reward, done, {} + + def _get_obs(self): + return (np.array([float(self.wealth)]), self.rounds_elapsed, self.wins, + self.losses, np.array([float(self.max_ever_wealth)])) + + def reset(self): + # re-init everything to draw new parameters etc, but preserve the RNG for + # reproducibility and pass in the same hyper-parameters as originally specified: + self.__init__(initial_wealth=self.initial_wealth, + edge_prior_alpha=self.edge_prior_alpha, + edge_prior_beta=self.edge_prior_beta, + max_wealth_alpha=self.max_wealth_alpha, + max_wealth_m=self.max_wealth_m, + max_rounds_mean=self.max_rounds_mean, + max_rounds_sd=self.max_rounds_sd, + reseed=False) + return self._get_obs() + + def render(self, mode='human'): + print("Current wealth: ", self.wealth, "; Rounds left: ", self.rounds, + "; True edge: ", self.edge, "; True max wealth: ", self.max_wealth, + "; True stopping time: ", self.max_rounds, "; Rounds left: ", + self.max_rounds - self.rounds_elapsed) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/nchain.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/nchain.py new file mode 100644 index 0000000000000000000000000000000000000000..fcd077ded384a1a9d0a25e71aea17c23545aaecf --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/nchain.py @@ -0,0 +1,55 @@ +import gym +from gym import spaces +from gym.utils import seeding + +class NChainEnv(gym.Env): + """n-Chain environment + + This game presents moves along a linear chain of states, with two actions: + 0) forward, which moves along the chain but returns no reward + 1) backward, which returns to the beginning and has a small reward + + The end of the chain, however, presents a large reward, and by moving + 'forward' at the end of the chain this large reward can be repeated. + + At each action, there is a small probability that the agent 'slips' and the + opposite transition is instead taken. + + The observed state is the current state in the chain (0 to n-1). + + This environment is described in section 6.1 of: + A Bayesian Framework for Reinforcement Learning by Malcolm Strens (2000) + http://ceit.aut.ac.ir/~shiry/lecture/machine-learning/papers/BRL-2000.pdf + """ + def __init__(self, n=5, slip=0.2, small=2, large=10): + self.n = n + self.slip = slip # probability of 'slipping' an action + self.small = small # payout for 'backwards' action + self.large = large # payout at end of chain for 'forwards' action + self.state = 0 # Start at beginning of the chain + self.action_space = spaces.Discrete(2) + self.observation_space = spaces.Discrete(self.n) + self.seed() + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def step(self, action): + assert self.action_space.contains(action) + if self.np_random.rand() < self.slip: + action = not action # agent slipped, reverse action taken + if action: # 'backwards': go back to the beginning, get small reward + reward = self.small + self.state = 0 + elif self.state < self.n - 1: # 'forwards': go up along the chain + reward = 0 + self.state += 1 + else: # 'forwards': stay at the end of the chain, collect large reward + reward = self.large + done = False + return self.state, reward, done, {} + + def reset(self): + self.state = 0 + return self.state diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/roulette.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/roulette.py new file mode 100644 index 0000000000000000000000000000000000000000..0006e7ea410f708816a3f676eb9f4feee1bff614 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/roulette.py @@ -0,0 +1,44 @@ +import gym +from gym import spaces +from gym.utils import seeding + + +class RouletteEnv(gym.Env): + """Simple roulette environment + + The roulette wheel has 37 spots. If the bet is 0 and a 0 comes up, + you win a reward of 35. If the parity of your bet matches the parity + of the spin, you win 1. Otherwise you receive a reward of -1. + + The long run reward for playing 0 should be -1/37 for any state + + The last action (38) stops the rollout for a return of 0 (walking away) + """ + def __init__(self, spots=37): + self.n = spots + 1 + self.action_space = spaces.Discrete(self.n) + self.observation_space = spaces.Discrete(1) + self.seed() + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def step(self, action): + assert self.action_space.contains(action) + if action == self.n - 1: + # observation, reward, done, info + return 0, 0, True, {} + + # N.B. np.random.randint draws from [A, B) while random.randint draws from [A,B] + val = self.np_random.randint(0, self.n - 1) + if val == action == 0: + reward = self.n - 2.0 + elif val != 0 and action != 0 and val % 2 == action % 2: + reward = 1.0 + else: + reward = -1.0 + return 0, reward, False, {} + + def reset(self): + return 0 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/taxi.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/taxi.py new file mode 100644 index 0000000000000000000000000000000000000000..7aa888ac706a4942a24c7d51584936303b204659 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/toy_text/taxi.py @@ -0,0 +1,172 @@ +import sys +from contextlib import closing +from six import StringIO +from gym import utils +from gym.envs.toy_text import discrete +import numpy as np + +MAP = [ + "+---------+", + "|R: | : :G|", + "| : : : : |", + "| : : : : |", + "| | : | : |", + "|Y| : |B: |", + "+---------+", +] + + +class TaxiEnv(discrete.DiscreteEnv): + """ + The Taxi Problem + from "Hierarchical Reinforcement Learning with the MAXQ Value Function Decomposition" + by Tom Dietterich + + Description: + There are four designated locations in the grid world indicated by R(ed), B(lue), G(reen), and Y(ellow). When the episode starts, the taxi starts off at a random square and the passenger is at a random location. The taxi drive to the passenger's location, pick up the passenger, drive to the passenger's destination (another one of the four specified locations), and then drop off the passenger. Once the passenger is dropped off, the episode ends. + + Observations: + There are 500 discrete states since there are 25 taxi positions, 5 possible locations of the passenger (including the case when the passenger is the taxi), and 4 destination locations. + + Actions: + There are 6 discrete deterministic actions: + - 0: move south + - 1: move north + - 2: move east + - 3: move west + - 4: pickup passenger + - 5: dropoff passenger + + Rewards: + There is a reward of -1 for each action and an additional reward of +20 for delievering the passenger. There is a reward of -10 for executing actions "pickup" and "dropoff" illegally. + + + Rendering: + - blue: passenger + - magenta: destination + - yellow: empty taxi + - green: full taxi + - other letters (R, G, B and Y): locations for passengers and destinations + + actions: + - 0: south + - 1: north + - 2: east + - 3: west + - 4: pickup + - 5: dropoff + + state space is represented by: + (taxi_row, taxi_col, passenger_location, destination) + """ + metadata = {'render.modes': ['human', 'ansi']} + + def __init__(self): + self.desc = np.asarray(MAP, dtype='c') + + self.locs = locs = [(0,0), (0,4), (4,0), (4,3)] + + num_states = 500 + num_rows = 5 + num_columns = 5 + max_row = num_rows - 1 + max_col = num_columns - 1 + initial_state_distrib = np.zeros(num_states) + num_actions = 6 + P = {state: {action: [] + for action in range(num_actions)} for state in range(num_states)} + for row in range(num_rows): + for col in range(num_columns): + for pass_idx in range(len(locs) + 1): # +1 for being inside taxi + for dest_idx in range(len(locs)): + state = self.encode(row, col, pass_idx, dest_idx) + if pass_idx < 4 and pass_idx != dest_idx: + initial_state_distrib[state] += 1 + for action in range(num_actions): + # defaults + new_row, new_col, new_pass_idx = row, col, pass_idx + reward = -1 # default reward when there is no pickup/dropoff + done = False + taxi_loc = (row, col) + + if action == 0: + new_row = min(row + 1, max_row) + elif action == 1: + new_row = max(row - 1, 0) + if action == 2 and self.desc[1 + row, 2 * col + 2] == b":": + new_col = min(col + 1, max_col) + elif action == 3 and self.desc[1 + row, 2 * col] == b":": + new_col = max(col - 1, 0) + elif action == 4: # pickup + if (pass_idx < 4 and taxi_loc == locs[pass_idx]): + new_pass_idx = 4 + else: # passenger not at location + reward = -10 + elif action == 5: # dropoff + if (taxi_loc == locs[dest_idx]) and pass_idx == 4: + new_pass_idx = dest_idx + done = True + reward = 20 + elif (taxi_loc in locs) and pass_idx == 4: + new_pass_idx = locs.index(taxi_loc) + else: # dropoff at wrong location + reward = -10 + new_state = self.encode( + new_row, new_col, new_pass_idx, dest_idx) + P[state][action].append( + (1.0, new_state, reward, done)) + initial_state_distrib /= initial_state_distrib.sum() + discrete.DiscreteEnv.__init__( + self, num_states, num_actions, P, initial_state_distrib) + + def encode(self, taxi_row, taxi_col, pass_loc, dest_idx): + # (5) 5, 5, 4 + i = taxi_row + i *= 5 + i += taxi_col + i *= 5 + i += pass_loc + i *= 4 + i += dest_idx + return i + + def decode(self, i): + out = [] + out.append(i % 4) + i = i // 4 + out.append(i % 5) + i = i // 5 + out.append(i % 5) + i = i // 5 + out.append(i) + assert 0 <= i < 5 + return reversed(out) + + def render(self, mode='human'): + outfile = StringIO() if mode == 'ansi' else sys.stdout + + out = self.desc.copy().tolist() + out = [[c.decode('utf-8') for c in line] for line in out] + taxi_row, taxi_col, pass_idx, dest_idx = self.decode(self.s) + + def ul(x): return "_" if x == " " else x + if pass_idx < 4: + out[1 + taxi_row][2 * taxi_col + 1] = utils.colorize( + out[1 + taxi_row][2 * taxi_col + 1], 'yellow', highlight=True) + pi, pj = self.locs[pass_idx] + out[1 + pi][2 * pj + 1] = utils.colorize(out[1 + pi][2 * pj + 1], 'blue', bold=True) + else: # passenger in taxi + out[1 + taxi_row][2 * taxi_col + 1] = utils.colorize( + ul(out[1 + taxi_row][2 * taxi_col + 1]), 'green', highlight=True) + + di, dj = self.locs[dest_idx] + out[1 + di][2 * dj + 1] = utils.colorize(out[1 + di][2 * dj + 1], 'magenta') + outfile.write("\n".join(["".join(row) for row in out]) + "\n") + if self.lastaction is not None: + outfile.write(" ({})\n".format(["South", "North", "East", "West", "Pickup", "Dropoff"][self.lastaction])) + else: outfile.write("\n") + + # No need to return anything for human + if mode != 'human': + with closing(outfile): + return outfile.getvalue() diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/unittest/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/unittest/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..2c6008aab3a9a9e7da06a99b266778ed32be31df --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/unittest/__init__.py @@ -0,0 +1,5 @@ +from gym.envs.unittest.cube_crash import CubeCrash +from gym.envs.unittest.cube_crash import CubeCrashSparse +from gym.envs.unittest.cube_crash import CubeCrashScreenBecomesBlack +from gym.envs.unittest.memorize_digits import MemorizeDigits + diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/unittest/cube_crash.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/unittest/cube_crash.py new file mode 100644 index 0000000000000000000000000000000000000000..d2cab0a143eadb79680db686cff792e41da502b9 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/unittest/cube_crash.py @@ -0,0 +1,148 @@ +import numpy as np +import gym +from gym import spaces +from gym.utils import seeding + +# Unit test environment for CNNs and CNN+RNN algorithms. +# Looks like this (RGB observations): +# +# --------------------------- +# | | +# | | +# | | +# | ** | +# | ** | +# | | +# | | +# | | +# | | +# | | +# ======== ============== +# +# Goal is to go through the hole at the bottom. Agent controls square using Left-Nop-Right actions. +# It falls down automatically, episode length is a bit less than FIELD_H +# +# CubeCrash-v0 # shaped reward +# CubeCrashSparse-v0 # reward 0 or 1 at the end +# CubeCrashScreenBecomesBlack-v0 # for RNNs +# +# To see how it works, run: +# +# python examples/agents/keyboard_agent.py CubeCrashScreen-v0 + +FIELD_W = 32 +FIELD_H = 40 +HOLE_WIDTH = 8 + +color_black = np.array((0,0,0)).astype('float32') +color_white = np.array((255,255,255)).astype('float32') +color_green = np.array((0,255,0)).astype('float32') + +class CubeCrash(gym.Env): + metadata = { + 'render.modes': ['human', 'rgb_array'], + 'video.frames_per_second' : 60, + 'video.res_w' : FIELD_W, + 'video.res_h' : FIELD_H, + } + + use_shaped_reward = True + use_black_screen = False + use_random_colors = False # Makes env too hard + + def __init__(self): + self.seed() + self.viewer = None + + self.observation_space = spaces.Box(0, 255, (FIELD_H,FIELD_W,3), dtype=np.uint8) + self.action_space = spaces.Discrete(3) + + self.reset() + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def random_color(self): + return np.array([ + self.np_random.randint(low=0, high=255), + self.np_random.randint(low=0, high=255), + self.np_random.randint(low=0, high=255), + ]).astype('uint8') + + def reset(self): + self.cube_x = self.np_random.randint(low=3, high=FIELD_W-3) + self.cube_y = self.np_random.randint(low=3, high=FIELD_H//6) + self.hole_x = self.np_random.randint(low=HOLE_WIDTH, high=FIELD_W-HOLE_WIDTH) + self.bg_color = self.random_color() if self.use_random_colors else color_black + self.potential = None + self.step_n = 0 + while 1: + self.wall_color = self.random_color() if self.use_random_colors else color_white + self.cube_color = self.random_color() if self.use_random_colors else color_green + if np.linalg.norm(self.wall_color - self.bg_color) < 50 or np.linalg.norm(self.cube_color - self.bg_color) < 50: continue + break + return self.step(0)[0] + + def step(self, action): + if action==0: pass + elif action==1: self.cube_x -= 1 + elif action==2: self.cube_x += 1 + else: assert 0, "Action %i is out of range" % action + self.cube_y += 1 + self.step_n += 1 + + obs = np.zeros( (FIELD_H,FIELD_W,3), dtype=np.uint8 ) + obs[:,:,:] = self.bg_color + obs[FIELD_H-5:FIELD_H,:,:] = self.wall_color + obs[FIELD_H-5:FIELD_H, self.hole_x-HOLE_WIDTH//2:self.hole_x+HOLE_WIDTH//2+1, :] = self.bg_color + obs[self.cube_y-1:self.cube_y+2, self.cube_x-1:self.cube_x+2, :] = self.cube_color + if self.use_black_screen and self.step_n > 4: + obs[:] = np.zeros((3,), dtype=np.uint8) + + done = False + reward = 0 + dist = np.abs(self.cube_x - self.hole_x) + if self.potential is not None and self.use_shaped_reward: + reward = (self.potential - dist) * 0.01 + self.potential = dist + + if self.cube_x-1 < 0 or self.cube_x+1 >= FIELD_W: + done = True + reward = -1 + elif self.cube_y+1 >= FIELD_H-5: + if dist >= HOLE_WIDTH//2: + done = True + reward = -1 + elif self.cube_y == FIELD_H: + done = True + reward = +1 + self.last_obs = obs + return obs, reward, done, {} + + def render(self, mode='human'): + if mode == 'rgb_array': + return self.last_obs + + elif mode == 'human': + from gym.envs.classic_control import rendering + if self.viewer is None: + self.viewer = rendering.SimpleImageViewer() + self.viewer.imshow(self.last_obs) + return self.viewer.isopen + + else: + assert 0, "Render mode '%s' is not supported" % mode + + def close(self): + if self.viewer is not None: + self.viewer.close() + self.viewer = None + +class CubeCrashSparse(CubeCrash): + use_shaped_reward = False + +class CubeCrashScreenBecomesBlack(CubeCrash): + use_shaped_reward = False + use_black_screen = True + diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/envs/unittest/memorize_digits.py b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/unittest/memorize_digits.py new file mode 100644 index 0000000000000000000000000000000000000000..6a6e79b2f2dd7085977f381387d5e8c1dc160723 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/envs/unittest/memorize_digits.py @@ -0,0 +1,194 @@ +import numpy as np +import gym +from gym import spaces +from gym.utils import seeding + +# Unit test environment for CNNs. +# Looks like this (RGB observations): +# +# --------------------------- +# | | +# | ****** | +# | ****** | +# | ** ** | +# | ** ** | +# | ** | +# | ** | +# | **** | +# | **** | +# | **** | +# | **** | +# | ********** | +# | ********** | +# | | +# --------------------------- +# +# Agent should hit action 2 to gain reward. Catches off-by-one errors in your agent. +# +# To see how it works, run: +# +# python examples/agents/keyboard_agent.py MemorizeDigits-v0 + +FIELD_W = 32 +FIELD_H = 24 + +bogus_mnist = \ +[[ +" **** ", +"* *", +"* *", +"* *", +"* *", +" **** " +], [ +" ** ", +" * * ", +" * ", +" * ", +" * ", +" *** " +], [ +" **** ", +"* *", +" *", +" *** ", +"** ", +"******" +], [ +" **** ", +"* *", +" ** ", +" *", +"* *", +" **** " +], [ +" * * ", +" * * ", +" * * ", +" **** ", +" * ", +" * " +], [ +" **** ", +" * ", +" **** ", +" * ", +" * ", +" **** " +], [ +" *** ", +" * ", +" **** ", +" * * ", +" * * ", +" **** " +], [ +" **** ", +" * ", +" * ", +" * ", +" * ", +" * " +], [ +" **** ", +"* *", +" **** ", +"* *", +"* *", +" **** " +], [ +" **** ", +"* *", +"* *", +" *****", +" *", +" **** " +]] + +color_black = np.array((0,0,0)).astype('float32') +color_white = np.array((255,255,255)).astype('float32') + +class MemorizeDigits(gym.Env): + metadata = { + 'render.modes': ['human', 'rgb_array'], + 'video.frames_per_second' : 60, + 'video.res_w' : FIELD_W, + 'video.res_h' : FIELD_H, + } + + use_random_colors = False + + def __init__(self): + self.seed() + self.viewer = None + self.observation_space = spaces.Box(0, 255, (FIELD_H,FIELD_W,3), dtype=np.uint8) + self.action_space = spaces.Discrete(10) + self.bogus_mnist = np.zeros( (10,6,6), dtype=np.uint8 ) + for digit in range(10): + for y in range(6): + self.bogus_mnist[digit,y,:] = [ord(char) for char in bogus_mnist[digit][y]] + self.reset() + + def seed(self, seed=None): + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def random_color(self): + return np.array([ + self.np_random.randint(low=0, high=255), + self.np_random.randint(low=0, high=255), + self.np_random.randint(low=0, high=255), + ]).astype('uint8') + + def reset(self): + self.digit_x = self.np_random.randint(low=FIELD_W//5, high=FIELD_W//5*4) + self.digit_y = self.np_random.randint(low=FIELD_H//5, high=FIELD_H//5*4) + self.color_bg = self.random_color() if self.use_random_colors else color_black + self.step_n = 0 + while 1: + self.color_digit = self.random_color() if self.use_random_colors else color_white + if np.linalg.norm(self.color_digit - self.color_bg) < 50: continue + break + self.digit = -1 + return self.step(0)[0] + + def step(self, action): + reward = -1 + done = False + self.step_n += 1 + if self.digit==-1: + pass + else: + if self.digit==action: + reward = +1 + done = self.step_n > 20 and 0==self.np_random.randint(low=0, high=5) + self.digit = self.np_random.randint(low=0, high=10) + obs = np.zeros( (FIELD_H,FIELD_W,3), dtype=np.uint8 ) + obs[:,:,:] = self.color_bg + digit_img = np.zeros( (6,6,3), dtype=np.uint8 ) + digit_img[:] = self.color_bg + xxx = self.bogus_mnist[self.digit]==42 + digit_img[xxx] = self.color_digit + obs[self.digit_y-3:self.digit_y+3, self.digit_x-3:self.digit_x+3] = digit_img + self.last_obs = obs + return obs, reward, done, {} + + def render(self, mode='human'): + if mode == 'rgb_array': + return self.last_obs + + elif mode == 'human': + from gym.envs.classic_control import rendering + if self.viewer is None: + self.viewer = rendering.SimpleImageViewer() + self.viewer.imshow(self.last_obs) + return self.viewer.isopen + + else: + assert 0, "Render mode '%s' is not supported" % mode + + def close(self): + if self.viewer is not None: + self.viewer.close() + self.viewer = None + diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/error.py b/PythonAi/venv/lib/python3.6/site-packages/gym/error.py new file mode 100644 index 0000000000000000000000000000000000000000..08bfecb3933401137ac56843d9fc743709f089ad --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/error.py @@ -0,0 +1,139 @@ +import sys + +class Error(Exception): + pass + +# Local errors + +class Unregistered(Error): + """Raised when the user requests an item from the registry that does + not actually exist. + """ + pass + +class UnregisteredEnv(Unregistered): + """Raised when the user requests an env from the registry that does + not actually exist. + """ + pass + +class UnregisteredBenchmark(Unregistered): + """Raised when the user requests an env from the registry that does + not actually exist. + """ + pass + +class DeprecatedEnv(Error): + """Raised when the user requests an env from the registry with an + older version number than the latest env with the same name. + """ + pass + +class UnseedableEnv(Error): + """Raised when the user tries to seed an env that does not support + seeding. + """ + pass + +class DependencyNotInstalled(Error): + pass + +class UnsupportedMode(Exception): + """Raised when the user requests a rendering mode not supported by the + environment. + """ + pass + +class ResetNeeded(Exception): + """When the monitor is active, raised when the user tries to step an + environment that's already done. + """ + pass + +class ResetNotAllowed(Exception): + """When the monitor is active, raised when the user tries to step an + environment that's not yet done. + """ + pass + +class InvalidAction(Exception): + """Raised when the user performs an action not contained within the + action space + """ + pass + +# API errors + +class APIError(Error): + def __init__(self, message=None, http_body=None, http_status=None, + json_body=None, headers=None): + super(APIError, self).__init__(message) + + if http_body and hasattr(http_body, 'decode'): + try: + http_body = http_body.decode('utf-8') + except: + http_body = ('<Could not decode body as utf-8. ' + 'Please report to gym@openai.com>') + + self._message = message + self.http_body = http_body + self.http_status = http_status + self.json_body = json_body + self.headers = headers or {} + self.request_id = self.headers.get('request-id', None) + + def __unicode__(self): + if self.request_id is not None: + msg = self._message or "<empty message>" + return u"Request {0}: {1}".format(self.request_id, msg) + else: + return self._message + + def __str__(self): + try: # Python 2 + return unicode(self).encode('utf-8') + except NameError: # Python 3 + return self.__unicode__() + + +class APIConnectionError(APIError): + pass + + +class InvalidRequestError(APIError): + + def __init__(self, message, param, http_body=None, + http_status=None, json_body=None, headers=None): + super(InvalidRequestError, self).__init__( + message, http_body, http_status, json_body, + headers) + self.param = param + + +class AuthenticationError(APIError): + pass + +class RateLimitError(APIError): + pass + +# Video errors + +class VideoRecorderError(Error): + pass + +class InvalidFrame(Error): + pass + +# Wrapper errors + +class DoubleWrapperError(Error): + pass + + +class WrapAfterConfigureError(Error): + pass + + +class RetriesExceededError(Error): + pass diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/logger.py b/PythonAi/venv/lib/python3.6/site-packages/gym/logger.py new file mode 100644 index 0000000000000000000000000000000000000000..80f9901dbf433870db2220998d00f810f70ecb0a --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/logger.py @@ -0,0 +1,37 @@ +import warnings + +from gym.utils import colorize + +DEBUG = 10 +INFO = 20 +WARN = 30 +ERROR = 40 +DISABLED = 50 + +MIN_LEVEL = 30 + +def set_level(level): + """ + Set logging threshold on current logger. + """ + global MIN_LEVEL + MIN_LEVEL = level + +def debug(msg, *args): + if MIN_LEVEL <= DEBUG: + print('%s: %s'%('DEBUG', msg % args)) + +def info(msg, *args): + if MIN_LEVEL <= INFO: + print('%s: %s'%('INFO', msg % args)) + +def warn(msg, *args): + if MIN_LEVEL <= WARN: + warnings.warn(colorize('%s: %s'%('WARN', msg % args), 'yellow')) + +def error(msg, *args): + if MIN_LEVEL <= ERROR: + print(colorize('%s: %s'%('ERROR', msg % args), 'red')) + +# DEPRECATED: +setLevel = set_level diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..39e15617c774a0488ddd18ba9eaa5d6413de0043 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__init__.py @@ -0,0 +1,13 @@ +from gym.spaces.space import Space +from gym.spaces.box import Box +from gym.spaces.discrete import Discrete +from gym.spaces.multi_discrete import MultiDiscrete +from gym.spaces.multi_binary import MultiBinary +from gym.spaces.tuple import Tuple +from gym.spaces.dict import Dict + +from gym.spaces.utils import flatdim +from gym.spaces.utils import flatten +from gym.spaces.utils import unflatten + +__all__ = ["Space", "Box", "Discrete", "MultiDiscrete", "MultiBinary", "Tuple", "Dict", "flatdim", "flatten", "unflatten"] diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/__init__.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..50027976d8e0c0615e0ea2939718cf5c38add6a9 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/__init__.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/box.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/box.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8b12f922b4264dadf72e178c5ed1751b1a6b3a8c Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/box.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/dict.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/dict.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5638497eaca31e2076f0ddc5464af8bc5828b0f2 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/dict.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/discrete.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/discrete.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0f748e96be8049c9ab33fe2d74fc8b7ff0b6ed35 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/discrete.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/multi_binary.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/multi_binary.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4f719a0bc9b50b24d685260392dd3b783713dfde Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/multi_binary.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/multi_discrete.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/multi_discrete.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..95fe029ed3f2afc0497e9254776d5d2f2649d1a3 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/multi_discrete.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/space.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/space.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..694052240f525b4dc9c87fb7d5f09a0a1bfa87cf Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/space.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/tuple.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/tuple.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a80fe1d4fdbaa262f76f82c70b5339dc03b275b8 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/tuple.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/utils.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/utils.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b1c51367abc18810b2ee3d9ccf8229dc9346247f Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/__pycache__/utils.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/box.py b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/box.py new file mode 100644 index 0000000000000000000000000000000000000000..16d5c622dfd7da295b15834bfc0e7808c07017e3 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/box.py @@ -0,0 +1,59 @@ +import numpy as np + +from .space import Space + + +class Box(Space): + """A box in R^n, i.e.each coordinate is bounded. + + There are two common use cases: + + * Identical bound for each dimension:: + >>> Box(low=-1.0, high=2.0, shape=(3, 4), dtype=np.float32) + Box(3, 4) + + * Independent bound for each dimension:: + >>> Box(low=np.array([-1.0, -2.0]), high=np.array([2.0, 4.0]), dtype=np.float32) + Box(2,) + + """ + def __init__(self, low, high, shape=None, dtype=np.float32): + assert dtype is not None, 'dtype must be explicitly provided. ' + self.dtype = np.dtype(dtype) + + if shape is None: + assert low.shape == high.shape + self.shape = low.shape + self.low = low + self.high = high + else: + assert np.isscalar(low) and np.isscalar(high) + self.shape = tuple(shape) + self.low = np.full(self.shape, low) + self.high = np.full(self.shape, high) + low = low + np.zeros(shape) + high = high + np.zeros(shape) + self.low = self.low.astype(self.dtype) + self.high = self.high.astype(self.dtype) + super(Box, self).__init__(self.shape, self.dtype) + + def sample(self): + high = self.high if self.dtype.kind == 'f' else self.high.astype('int64') + 1 + return self.np_random.uniform(low=self.low, high=high, size=self.shape).astype(self.dtype) + + def contains(self, x): + if isinstance(x, list): + x = np.array(x) # Promote list to array for contains check + return x.shape == self.shape and np.all(x >= self.low) and np.all(x <= self.high) + + def to_jsonable(self, sample_n): + return np.array(sample_n).tolist() + + def from_jsonable(self, sample_n): + return [np.asarray(sample) for sample in sample_n] + + def __repr__(self): + return "Box" + str(self.shape) + + def __eq__(self, other): + return isinstance(other, Box) and np.allclose(self.low, other.low) and np.allclose(self.high, other.high) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/dict.py b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/dict.py new file mode 100644 index 0000000000000000000000000000000000000000..9fc05eb89f83df80a08e39ffcfc672c27b7cc212 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/dict.py @@ -0,0 +1,87 @@ +from collections import OrderedDict +from .space import Space + + +class Dict(Space): + """ + A dictionary of simpler spaces. + + Example usage: + self.observation_space = spaces.Dict({"position": spaces.Discrete(2), "velocity": spaces.Discrete(3)}) + + Example usage [nested]: + self.nested_observation_space = spaces.Dict({ + 'sensors': spaces.Dict({ + 'position': spaces.Box(low=-100, high=100, shape=(3,)), + 'velocity': spaces.Box(low=-1, high=1, shape=(3,)), + 'front_cam': spaces.Tuple(( + spaces.Box(low=0, high=1, shape=(10, 10, 3)), + spaces.Box(low=0, high=1, shape=(10, 10, 3)) + )), + 'rear_cam': spaces.Box(low=0, high=1, shape=(10, 10, 3)), + }), + 'ext_controller': spaces.MultiDiscrete((5, 2, 2)), + 'inner_state':spaces.Dict({ + 'charge': spaces.Discrete(100), + 'system_checks': spaces.MultiBinary(10), + 'job_status': spaces.Dict({ + 'task': spaces.Discrete(5), + 'progress': spaces.Box(low=0, high=100, shape=()), + }) + }) + }) + """ + def __init__(self, spaces=None, **spaces_kwargs): + assert (spaces is None) or (not spaces_kwargs), 'Use either Dict(spaces=dict(...)) or Dict(foo=x, bar=z)' + if spaces is None: + spaces = spaces_kwargs + if isinstance(spaces, dict) and not isinstance(spaces, OrderedDict): + spaces = OrderedDict(sorted(list(spaces.items()))) + if isinstance(spaces, list): + spaces = OrderedDict(spaces) + self.spaces = spaces + for space in spaces.values(): + assert isinstance(space, Space), 'Values of the dict should be instances of gym.Space' + super(Dict, self).__init__(None, None) # None for shape and dtype, since it'll require special handling + + def seed(self, seed=None): + [space.seed(seed) for space in self.spaces.values()] + + def sample(self): + return OrderedDict([(k, space.sample()) for k, space in self.spaces.items()]) + + def contains(self, x): + if not isinstance(x, dict) or len(x) != len(self.spaces): + return False + for k, space in self.spaces.items(): + if k not in x: + return False + if not space.contains(x[k]): + return False + return True + + def __getitem__(self, key): + return self.spaces[key] + + def __repr__(self): + return "Dict(" + ", ". join([k + ":" + str(s) for k, s in self.spaces.items()]) + ")" + + def to_jsonable(self, sample_n): + # serialize as dict-repr of vectors + return {key: space.to_jsonable([sample[key] for sample in sample_n]) \ + for key, space in self.spaces.items()} + + def from_jsonable(self, sample_n): + dict_of_list = {} + for key, space in self.spaces.items(): + dict_of_list[key] = space.from_jsonable(sample_n[key]) + ret = [] + for i, _ in enumerate(dict_of_list[key]): + entry = {} + for key, value in dict_of_list.items(): + entry[key] = value[i] + ret.append(entry) + return ret + + def __eq__(self, other): + return isinstance(other, Dict) and self.spaces == other.spaces diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/discrete.py b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/discrete.py new file mode 100644 index 0000000000000000000000000000000000000000..e987716ba320d061aa08f710aedc85ec7c9d1a26 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/discrete.py @@ -0,0 +1,34 @@ +import numpy as np +from .space import Space + + +class Discrete(Space): + """A discrete space in :math:`\{ 0, 1, \dots, n-1 \}`. + + Example:: + + >>> Discrete(2) + + """ + def __init__(self, n): + assert n >= 0 + self.n = n + super(Discrete, self).__init__((), np.int64) + + def sample(self): + return self.np_random.randint(self.n) + + def contains(self, x): + if isinstance(x, int): + as_int = x + elif isinstance(x, (np.generic, np.ndarray)) and (x.dtype.kind in np.typecodes['AllInteger'] and x.shape == ()): + as_int = int(x) + else: + return False + return as_int >= 0 and as_int < self.n + + def __repr__(self): + return "Discrete(%d)" % self.n + + def __eq__(self, other): + return isinstance(other, Discrete) and self.n == other.n diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/multi_binary.py b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/multi_binary.py new file mode 100644 index 0000000000000000000000000000000000000000..21f74abd637c4b32e2c054549f5977c3b2800cc7 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/multi_binary.py @@ -0,0 +1,28 @@ +import numpy as np +from .space import Space + + +class MultiBinary(Space): + def __init__(self, n): + self.n = n + super(MultiBinary, self).__init__((self.n,), np.int8) + + def sample(self): + return self.np_random.randint(low=0, high=2, size=self.n, dtype=self.dtype) + + def contains(self, x): + if isinstance(x, list): + x = np.array(x) # Promote list to array for contains check + return ((x==0) | (x==1)).all() + + def to_jsonable(self, sample_n): + return np.array(sample_n).tolist() + + def from_jsonable(self, sample_n): + return [np.asarray(sample) for sample in sample_n] + + def __repr__(self): + return "MultiBinary({})".format(self.n) + + def __eq__(self, other): + return isinstance(other, MultiBinary) and self.n == other.n diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/multi_discrete.py b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/multi_discrete.py new file mode 100644 index 0000000000000000000000000000000000000000..9b4da6d0fe74ea4d0b840c3a68a263826493f89d --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/multi_discrete.py @@ -0,0 +1,55 @@ +import numpy as np +from .space import Space + + +class MultiDiscrete(Space): + """ + - The multi-discrete action space consists of a series of discrete action spaces with different number of actions in eachs + - It is useful to represent game controllers or keyboards where each key can be represented as a discrete action space + - It is parametrized by passing an array of positive integers specifying number of actions for each discrete action space + + Note: A value of 0 always need to represent the NOOP action. + + e.g. Nintendo Game Controller + - Can be conceptualized as 3 discrete action spaces: + + 1) Arrow Keys: Discrete 5 - NOOP[0], UP[1], RIGHT[2], DOWN[3], LEFT[4] - params: min: 0, max: 4 + 2) Button A: Discrete 2 - NOOP[0], Pressed[1] - params: min: 0, max: 1 + 3) Button B: Discrete 2 - NOOP[0], Pressed[1] - params: min: 0, max: 1 + + - Can be initialized as + + MultiDiscrete([ 5, 2, 2 ]) + + """ + def __init__(self, nvec): + + """ + nvec: vector of counts of each categorical variable + """ + assert (np.array(nvec) > 0).all(), 'nvec (counts) have to be positive' + self.nvec = np.asarray(nvec, dtype=np.int64) + + super(MultiDiscrete, self).__init__(self.nvec.shape, np.int64) + + def sample(self): + return (self.np_random.random_sample(self.nvec.shape)*self.nvec).astype(self.dtype) + + def contains(self, x): + if isinstance(x, list): + x = np.array(x) # Promote list to array for contains check + # if nvec is uint32 and space dtype is uint32, then 0 <= x < self.nvec guarantees that x + # is within correct bounds for space dtype (even though x does not have to be unsigned) + return (0 <= x).all() and (x < self.nvec).all() + + def to_jsonable(self, sample_n): + return [sample.tolist() for sample in sample_n] + + def from_jsonable(self, sample_n): + return np.array(sample_n) + + def __repr__(self): + return "MultiDiscrete({})".format(self.nvec) + + def __eq__(self, other): + return isinstance(other, MultiDiscrete) and np.all(self.nvec == other.nvec) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/space.py b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/space.py new file mode 100644 index 0000000000000000000000000000000000000000..4a41cdae1d8f9a742d6404592348d6b3b6ce99d5 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/space.py @@ -0,0 +1,43 @@ +from gym.utils import seeding + + +class Space(object): + """Defines the observation and action spaces, so you can write generic + code that applies to any Env. For example, you can choose a random + action. + """ + def __init__(self, shape=None, dtype=None): + import numpy as np # takes about 300-400ms to import, so we load lazily + self.shape = None if shape is None else tuple(shape) + self.dtype = None if dtype is None else np.dtype(dtype) + self.np_random = None + self.seed() + + def sample(self): + """Uniformly randomly sample a random element of this space. """ + raise NotImplementedError + + def seed(self, seed=None): + """Seed the PRNG of this space. """ + self.np_random, seed = seeding.np_random(seed) + return [seed] + + def contains(self, x): + """ + Return boolean specifying if x is a valid + member of this space + """ + raise NotImplementedError + + def __contains__(self, x): + return self.contains(x) + + def to_jsonable(self, sample_n): + """Convert a batch of samples from this space to a JSONable data type.""" + # By default, assume identity is JSONable + return sample_n + + def from_jsonable(self, sample_n): + """Convert a JSONable data type to a batch of samples from this space.""" + # By default, assume identity is JSONable + return sample_n diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/tests/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/tests/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/tests/test_spaces.py b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/tests/test_spaces.py new file mode 100644 index 0000000000000000000000000000000000000000..0ef32013711cd8a9d9e39272fbebaa66a296d5a3 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/tests/test_spaces.py @@ -0,0 +1,109 @@ +import json # note: ujson fails this test due to float equality +from copy import copy + +import numpy as np +import pytest + +from gym.spaces import Tuple, Box, Discrete, MultiDiscrete, MultiBinary, Dict + + +@pytest.mark.parametrize("space", [ + Discrete(3), + Tuple([Discrete(5), Discrete(10)]), + Tuple([Discrete(5), Box(low=np.array([0, 0]), high=np.array([1, 5]), dtype=np.float32)]), + Tuple((Discrete(5), Discrete(2), Discrete(2))), + MultiDiscrete([2, 2, 100]), + MultiBinary(10), + Dict({"position": Discrete(5), + "velocity": Box(low=np.array([0, 0]), high=np.array([1, 5]), dtype=np.float32)}), +]) +def test_roundtripping(space): + sample_1 = space.sample() + sample_2 = space.sample() + assert space.contains(sample_1) + assert space.contains(sample_2) + json_rep = space.to_jsonable([sample_1, sample_2]) + + json_roundtripped = json.loads(json.dumps(json_rep)) + + samples_after_roundtrip = space.from_jsonable(json_roundtripped) + sample_1_prime, sample_2_prime = samples_after_roundtrip + + s1 = space.to_jsonable([sample_1]) + s1p = space.to_jsonable([sample_1_prime]) + s2 = space.to_jsonable([sample_2]) + s2p = space.to_jsonable([sample_2_prime]) + assert s1 == s1p, "Expected {} to equal {}".format(s1, s1p) + assert s2 == s2p, "Expected {} to equal {}".format(s2, s2p) + + +@pytest.mark.parametrize("space", [ + Discrete(3), + Box(low=np.array([-10, 0]), high=np.array([10, 10]), dtype=np.float32), + Tuple([Discrete(5), Discrete(10)]), + Tuple([Discrete(5), Box(low=np.array([0, 0]), high=np.array([1, 5]), dtype=np.float32)]), + Tuple((Discrete(5), Discrete(2), Discrete(2))), + MultiDiscrete([2, 2, 100]), + MultiBinary(6), + Dict({"position": Discrete(5), + "velocity": Box(low=np.array([0, 0]), high=np.array([1, 5]), dtype=np.float32)}), +]) +def test_equality(space): + space1 = space + space2 = copy(space) + assert space1 == space2, "Expected {} to equal {}".format(space1, space2) + + +@pytest.mark.parametrize("spaces", [ + (Discrete(3), Discrete(4)), + (MultiDiscrete([2, 2, 100]), MultiDiscrete([2, 2, 8])), + (MultiBinary(8), MultiBinary(7)), + (Box(low=np.array([-10, 0]), high=np.array([10, 10]), dtype=np.float32), + Box(low=np.array([-10, 0]), high=np.array([10, 9]), dtype=np.float32)), + (Tuple([Discrete(5), Discrete(10)]), Tuple([Discrete(1), Discrete(10)])), + (Dict({"position": Discrete(5)}), Dict({"position": Discrete(4)})), + (Dict({"position": Discrete(5)}), Dict({"speed": Discrete(5)})), +]) +def test_inequality(spaces): + space1, space2 = spaces + assert space1 != space2, "Expected {} != {}".format(space1, space2) + + +@pytest.mark.parametrize("space", [ + Discrete(5), + Box(low=0, high=255, shape=(2,), dtype='uint8'), +]) +def test_sample(space): + space.seed(0) + n_trials = 100 + samples = np.array([space.sample() for _ in range(n_trials)]) + if isinstance(space, Box): + expected_mean = (space.high + space.low) / 2 + elif isinstance(space, Discrete): + expected_mean = space.n / 2 + else: + raise NotImplementedError + np.testing.assert_allclose(expected_mean, samples.mean(), atol=3.0 * samples.std()) + +@pytest.mark.parametrize("spaces", [ + (Discrete(5), MultiBinary(5)), + (Box(low=np.array([-10, 0]), high=np.array([10,10]), dtype=np.float32), MultiDiscrete([2, 2, 8])), + (Dict({"position": Discrete(5)}), Tuple([Discrete(5)])), + (Dict({"position": Discrete(5)}), Discrete(5)), + (Tuple((Discrete(5),)), Discrete(5)), +]) +def test_class_inequality(spaces): + assert spaces[0] == spaces[0] + assert spaces[1] == spaces[1] + assert spaces[0] != spaces[1] + assert spaces[1] != spaces[0] + + +@pytest.mark.parametrize("space_fn", [ + lambda: Dict(space1='abc'), + lambda: Dict({'space1': 'abc'}), + lambda: Tuple(['abc']) +]) +def test_bad_space_calls(space_fn): + with pytest.raises(AssertionError): + space_fn() diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/tuple.py b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/tuple.py new file mode 100644 index 0000000000000000000000000000000000000000..a68d46fd21195e780cf4e7e79751cb97d43bb52e --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/tuple.py @@ -0,0 +1,48 @@ +import numpy as np +from .space import Space + + +class Tuple(Space): + """ + A tuple (i.e., product) of simpler spaces + + Example usage: + self.observation_space = spaces.Tuple((spaces.Discrete(2), spaces.Discrete(3))) + """ + def __init__(self, spaces): + self.spaces = spaces + for space in spaces: + assert isinstance(space, Space), "Elements of the tuple must be instances of gym.Space" + super(Tuple, self).__init__(None, None) + + def seed(self, seed=None): + [space.seed(seed) for space in self.spaces] + + def sample(self): + return tuple([space.sample() for space in self.spaces]) + + def contains(self, x): + if isinstance(x, list): + x = tuple(x) # Promote list to tuple for contains check + return isinstance(x, tuple) and len(x) == len(self.spaces) and all( + space.contains(part) for (space,part) in zip(self.spaces,x)) + + def __repr__(self): + return "Tuple(" + ", ". join([str(s) for s in self.spaces]) + ")" + + def to_jsonable(self, sample_n): + # serialize as list-repr of tuple of vectors + return [space.to_jsonable([sample[i] for sample in sample_n]) \ + for i, space in enumerate(self.spaces)] + + def from_jsonable(self, sample_n): + return [sample for sample in zip(*[space.from_jsonable(sample_n[i]) for i, space in enumerate(self.spaces)])] + + def __getitem__(self, index): + return self.spaces[index] + + def __len__(self): + return len(self.spaces) + + def __eq__(self, other): + return isinstance(other, Tuple) and self.spaces == other.spaces diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/utils.py b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..dda954f48806016edc52950b78aa9eccc946e50f --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/spaces/utils.py @@ -0,0 +1,69 @@ +import numpy as np + +from gym.spaces import Box +from gym.spaces import Discrete +from gym.spaces import MultiDiscrete +from gym.spaces import MultiBinary +from gym.spaces import Tuple +from gym.spaces import Dict + + +def flatdim(space): + if isinstance(space, Box): + return int(np.prod(space.shape)) + elif isinstance(space, Discrete): + return int(space.n) + elif isinstance(space, Tuple): + return int(sum([flatdim(s) for s in space.spaces])) + elif isinstance(space, Dict): + return int(sum([flatdim(s) for s in space.spaces.values()])) + elif isinstance(space, MultiBinary): + return int(space.n) + elif isinstance(space, MultiDiscrete): + return int(np.prod(space.shape)) + else: + raise NotImplementedError + + +def flatten(space, x): + if isinstance(space, Box): + return np.asarray(x, dtype=np.float32).flatten() + elif isinstance(space, Discrete): + onehot = np.zeros(space.n, dtype=np.float32) + onehot[x] = 1.0 + return onehot + elif isinstance(space, Tuple): + return np.concatenate([flatten(s, x_part) for x_part, s in zip(x, space.spaces)]) + elif isinstance(space, Dict): + return np.concatenate([flatten(space.spaces[key], item) for key, item in x.items()]) + elif isinstance(space, MultiBinary): + return np.asarray(x).flatten() + elif isinstance(space, MultiDiscrete): + return np.asarray(x).flatten() + else: + raise NotImplementedError + + +def unflatten(space, x): + if isinstance(space, Box): + return np.asarray(x, dtype=np.float32).reshape(space.shape) + elif isinstance(space, Discrete): + return int(np.nonzero(x)[0][0]) + elif isinstance(space, Tuple): + dims = [flatdim(s) for s in space.spaces] + list_flattened = np.split(x, np.cumsum(dims)[:-1]) + list_unflattened = [unflatten(s, flattened) + for flattened, s in zip(list_flattened, space.spaces)] + return tuple(list_unflattened) + elif isinstance(space, Dict): + dims = [flatdim(s) for s in space.spaces.values()] + list_flattened = np.split(x, np.cumsum(dims)[:-1]) + list_unflattened = [(key, unflatten(s, flattened)) + for flattened, (key, s) in zip(list_flattened, space.spaces.items())] + return dict(list_unflattened) + elif isinstance(space, MultiBinary): + return np.asarray(x).reshape(space.shape) + elif isinstance(space, MultiDiscrete): + return np.asarray(x).reshape(space.shape) + else: + raise NotImplementedError diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e01a19841b1e3d05ecaff92398b065cb88fd8a0a --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__init__.py @@ -0,0 +1,9 @@ +"""A set of common utilities used within the environments. These are +not intended as API functions, and will not remain stable over time. +""" + +# These submodules should not have any import-time dependencies. +# We want this since we use `utils` during our import-time sanity checks +# that verify that our dependencies are actually present. +from .colorize import colorize +from .ezpickle import EzPickle diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/__init__.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..454959fe7ebe9c978246b9bcca91ce0acce8052a Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/__init__.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/atomic_write.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/atomic_write.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f7c07cb9dd4de05e95432f5bf2ef39fc47ed26c Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/atomic_write.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/closer.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/closer.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2878e2a085330ceeb26d823c58708a0dcf88203a Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/closer.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/colorize.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/colorize.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..11a0a894c73c0af7c51f9f3dd4af8d25831c1e9f Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/colorize.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/ezpickle.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/ezpickle.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ea075e45c012a438ce8cdea4a8fb91702371bef5 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/ezpickle.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/json_utils.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/json_utils.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c8fea1b2079282440b335f5647ca9cc2b0bc7e8f Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/json_utils.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/seeding.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/seeding.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5ce3ecbb59f71c954930bc1b503330025a45e7b2 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/__pycache__/seeding.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/utils/atomic_write.py b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/atomic_write.py new file mode 100644 index 0000000000000000000000000000000000000000..adb07f6e65b9e0cb2a77a64a0ba485200b5c092a --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/atomic_write.py @@ -0,0 +1,55 @@ +# Based on http://stackoverflow.com/questions/2333872/atomic-writing-to-file-with-python + +import os +from contextlib import contextmanager + +# We would ideally atomically replace any existing file with the new +# version. However, on Windows there's no Python-only solution prior +# to Python 3.3. (This library includes a C extension to do so: +# https://pypi.python.org/pypi/pyosreplace/0.1.) +# +# Correspondingly, we make a best effort, but on Python < 3.3 use a +# replace method which could result in the file temporarily +# disappearing. +import sys +if sys.version_info >= (3, 3): + # Python 3.3 and up have a native `replace` method + from os import replace +elif sys.platform.startswith("win"): + def replace(src, dst): + # TODO: on Windows, this will raise if the file is in use, + # which is possible. We'll need to make this more robust over + # time. + try: + os.remove(dst) + except OSError: + pass + os.rename(src, dst) +else: + # POSIX rename() is always atomic + from os import rename as replace + +@contextmanager +def atomic_write(filepath, binary=False, fsync=False): + """ Writeable file object that atomically updates a file (using a temporary file). In some cases (namely Python < 3.3 on Windows), this could result in an existing file being temporarily unlinked. + + :param filepath: the file path to be opened + :param binary: whether to open the file in a binary mode instead of textual + :param fsync: whether to force write the file to disk + """ + + tmppath = filepath + '~' + while os.path.isfile(tmppath): + tmppath += '~' + try: + with open(tmppath, 'wb' if binary else 'w') as file: + yield file + if fsync: + file.flush() + os.fsync(file.fileno()) + replace(tmppath, filepath) + finally: + try: + os.remove(tmppath) + except (IOError, OSError): + pass diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/utils/closer.py b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/closer.py new file mode 100644 index 0000000000000000000000000000000000000000..a8e5a5f0d5e39502adf8ef4060bd7beedc922ad9 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/closer.py @@ -0,0 +1,67 @@ +import atexit +import threading +import weakref + +class Closer(object): + """A registry that ensures your objects get closed, whether manually, + upon garbage collection, or upon exit. To work properly, your + objects need to cooperate and do something like the following: + + ``` + closer = Closer() + class Example(object): + def __init__(self): + self._id = closer.register(self) + + def close(self): + # Probably worth making idempotent too! + ... + closer.unregister(self._id) + + def __del__(self): + self.close() + ``` + + That is, your objects should: + + - register() themselves and save the returned ID + - unregister() themselves upon close() + - include a __del__ method which close()'s the object + """ + + def __init__(self, atexit_register=True): + self.lock = threading.Lock() + self.next_id = -1 + self.closeables = weakref.WeakValueDictionary() + + if atexit_register: + atexit.register(self.close) + + def generate_next_id(self): + with self.lock: + self.next_id += 1 + return self.next_id + + def register(self, closeable): + """Registers an object with a 'close' method. + + Returns: + int: The registration ID of this object. It is the caller's responsibility to save this ID if early closing is desired. + """ + assert hasattr(closeable, 'close'), 'No close method for {}'.format(closeable) + + next_id = self.generate_next_id() + self.closeables[next_id] = closeable + return next_id + + def unregister(self, id): + assert id is not None + if id in self.closeables: + del self.closeables[id] + + def close(self): + # Explicitly fetch all monitors first so that they can't disappear while + # we iterate. cf. http://stackoverflow.com/a/12429620 + closeables = list(self.closeables.values()) + for closeable in closeables: + closeable.close() diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/utils/colorize.py b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/colorize.py new file mode 100644 index 0000000000000000000000000000000000000000..da70184991ae4a5eb0e13498175de70309b550b6 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/colorize.py @@ -0,0 +1,35 @@ +"""A set of common utilities used within the environments. These are +not intended as API functions, and will not remain stable over time. +""" + +color2num = dict( + gray=30, + red=31, + green=32, + yellow=33, + blue=34, + magenta=35, + cyan=36, + white=37, + crimson=38 +) + + +def colorize(string, color, bold=False, highlight = False): + """Return string surrounded by appropriate terminal color codes to + print colorized text. Valid colors: gray, red, green, yellow, + blue, magenta, cyan, white, crimson + """ + + # Import six here so that `utils` has no import-time dependencies. + # We want this since we use `utils` during our import-time sanity checks + # that verify that our dependencies (including six) are actually present. + import six + + attr = [] + num = color2num[color] + if highlight: num += 10 + attr.append(six.u(str(num))) + if bold: attr.append(six.u('1')) + attrs = six.u(';').join(attr) + return six.u('\x1b[%sm%s\x1b[0m') % (attrs, string) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/utils/ezpickle.py b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/ezpickle.py new file mode 100644 index 0000000000000000000000000000000000000000..3fb00da17d71ea8b4d46bd9f10e334d28ac64138 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/ezpickle.py @@ -0,0 +1,27 @@ +class EzPickle(object): + """Objects that are pickled and unpickled via their constructor + arguments. + + Example usage: + + class Dog(Animal, EzPickle): + def __init__(self, furcolor, tailkind="bushy"): + Animal.__init__() + EzPickle.__init__(furcolor, tailkind) + ... + + When this object is unpickled, a new Dog will be constructed by passing the provided + furcolor and tailkind into the constructor. However, philosophers are still not sure + whether it is still the same dog. + + This is generally needed only for environments which wrap C/C++ code, such as MuJoCo + and Atari. + """ + def __init__(self, *args, **kwargs): + self._ezpickle_args = args + self._ezpickle_kwargs = kwargs + def __getstate__(self): + return {"_ezpickle_args" : self._ezpickle_args, "_ezpickle_kwargs": self._ezpickle_kwargs} + def __setstate__(self, d): + out = type(self)(*d["_ezpickle_args"], **d["_ezpickle_kwargs"]) + self.__dict__.update(out.__dict__) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/utils/json_utils.py b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/json_utils.py new file mode 100644 index 0000000000000000000000000000000000000000..4657dfc03685c230bb786c6a7283c26a33ded8de --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/json_utils.py @@ -0,0 +1,22 @@ +import numpy as np + +def json_encode_np(obj): + """ + JSON can't serialize numpy types, so convert to pure python + """ + if isinstance(obj, np.ndarray): + return list(obj) + elif isinstance(obj, np.float32): + return float(obj) + elif isinstance(obj, np.float64): + return float(obj) + elif isinstance(obj, np.int8): + return int(obj) + elif isinstance(obj, np.int16): + return int(obj) + elif isinstance(obj, np.int32): + return int(obj) + elif isinstance(obj, np.int64): + return int(obj) + else: + return obj diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/utils/play.py b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/play.py new file mode 100644 index 0000000000000000000000000000000000000000..41e125d9a89040ca26149cd103388796776e459c --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/play.py @@ -0,0 +1,181 @@ +import gym +import pygame +import matplotlib +import argparse +from gym import logger +try: + matplotlib.use('TkAgg') + import matplotlib.pyplot as plt +except ImportError as e: + logger.warn('failed to set matplotlib backend, plotting will not work: %s' % str(e)) + plt = None + +from collections import deque +from pygame.locals import VIDEORESIZE + +def display_arr(screen, arr, video_size, transpose): + arr_min, arr_max = arr.min(), arr.max() + arr = 255.0 * (arr - arr_min) / (arr_max - arr_min) + pyg_img = pygame.surfarray.make_surface(arr.swapaxes(0, 1) if transpose else arr) + pyg_img = pygame.transform.scale(pyg_img, video_size) + screen.blit(pyg_img, (0,0)) + +def play(env, transpose=True, fps=30, zoom=None, callback=None, keys_to_action=None): + """Allows one to play the game using keyboard. + + To simply play the game use: + + play(gym.make("Pong-v4")) + + Above code works also if env is wrapped, so it's particularly useful in + verifying that the frame-level preprocessing does not render the game + unplayable. + + If you wish to plot real time statistics as you play, you can use + gym.utils.play.PlayPlot. Here's a sample code for plotting the reward + for last 5 second of gameplay. + + def callback(obs_t, obs_tp1, action, rew, done, info): + return [rew,] + plotter = PlayPlot(callback, 30 * 5, ["reward"]) + + env = gym.make("Pong-v4") + play(env, callback=plotter.callback) + + + Arguments + --------- + env: gym.Env + Environment to use for playing. + transpose: bool + If True the output of observation is transposed. + Defaults to true. + fps: int + Maximum number of steps of the environment to execute every second. + Defaults to 30. + zoom: float + Make screen edge this many times bigger + callback: lambda or None + Callback if a callback is provided it will be executed after + every step. It takes the following input: + obs_t: observation before performing action + obs_tp1: observation after performing action + action: action that was executed + rew: reward that was received + done: whether the environment is done or not + info: debug info + keys_to_action: dict: tuple(int) -> int or None + Mapping from keys pressed to action performed. + For example if pressed 'w' and space at the same time is supposed + to trigger action number 2 then key_to_action dict would look like this: + + { + # ... + sorted(ord('w'), ord(' ')) -> 2 + # ... + } + If None, default key_to_action mapping for that env is used, if provided. + """ + env.reset() + rendered=env.render( mode='rgb_array') + + if keys_to_action is None: + if hasattr(env, 'get_keys_to_action'): + keys_to_action = env.get_keys_to_action() + elif hasattr(env.unwrapped, 'get_keys_to_action'): + keys_to_action = env.unwrapped.get_keys_to_action() + else: + assert False, env.spec.id + " does not have explicit key to action mapping, " + \ + "please specify one manually" + relevant_keys = set(sum(map(list, keys_to_action.keys()),[])) + + video_size=[rendered.shape[1],rendered.shape[0]] + if zoom is not None: + video_size = int(video_size[0] * zoom), int(video_size[1] * zoom) + + pressed_keys = [] + running = True + env_done = True + + screen = pygame.display.set_mode(video_size) + clock = pygame.time.Clock() + + + while running: + if env_done: + env_done = False + obs = env.reset() + else: + action = keys_to_action.get(tuple(sorted(pressed_keys)), 0) + prev_obs = obs + obs, rew, env_done, info = env.step(action) + if callback is not None: + callback(prev_obs, obs, action, rew, env_done, info) + if obs is not None: + rendered=env.render( mode='rgb_array') + display_arr(screen, rendered, transpose=transpose, video_size=video_size) + + # process pygame events + for event in pygame.event.get(): + # test events, set key states + if event.type == pygame.KEYDOWN: + if event.key in relevant_keys: + pressed_keys.append(event.key) + elif event.key == 27: + running = False + elif event.type == pygame.KEYUP: + if event.key in relevant_keys: + pressed_keys.remove(event.key) + elif event.type == pygame.QUIT: + running = False + elif event.type == VIDEORESIZE: + video_size = event.size + screen = pygame.display.set_mode(video_size) + print(video_size) + + pygame.display.flip() + clock.tick(fps) + pygame.quit() + +class PlayPlot(object): + def __init__(self, callback, horizon_timesteps, plot_names): + self.data_callback = callback + self.horizon_timesteps = horizon_timesteps + self.plot_names = plot_names + + assert plt is not None, "matplotlib backend failed, plotting will not work" + + num_plots = len(self.plot_names) + self.fig, self.ax = plt.subplots(num_plots) + if num_plots == 1: + self.ax = [self.ax] + for axis, name in zip(self.ax, plot_names): + axis.set_title(name) + self.t = 0 + self.cur_plot = [None for _ in range(num_plots)] + self.data = [deque(maxlen=horizon_timesteps) for _ in range(num_plots)] + + def callback(self, obs_t, obs_tp1, action, rew, done, info): + points = self.data_callback(obs_t, obs_tp1, action, rew, done, info) + for point, data_series in zip(points, self.data): + data_series.append(point) + self.t += 1 + + xmin, xmax = max(0, self.t - self.horizon_timesteps), self.t + + for i, plot in enumerate(self.cur_plot): + if plot is not None: + plot.remove() + self.cur_plot[i] = self.ax[i].scatter(range(xmin, xmax), list(self.data[i]), c='blue') + self.ax[i].set_xlim(xmin, xmax) + plt.pause(0.000001) +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('--env', type=str, default='MontezumaRevengeNoFrameskip-v4', help='Define Environment') + args = parser.parse_args() + env = gym.make(args.env) + play(env, zoom=4, fps=60) + + +if __name__ == '__main__': + main() diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/utils/seeding.py b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/seeding.py new file mode 100644 index 0000000000000000000000000000000000000000..39fe34227177594b9d7e0bac729d59176b8ab09e --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/utils/seeding.py @@ -0,0 +1,91 @@ +import hashlib +import numpy as np +import os +import random as _random +from six import integer_types +import struct +import sys + +from gym import error + +def np_random(seed=None): + if seed is not None and not (isinstance(seed, integer_types) and 0 <= seed): + raise error.Error('Seed must be a non-negative integer or omitted, not {}'.format(seed)) + + seed = create_seed(seed) + + rng = np.random.RandomState() + rng.seed(_int_list_from_bigint(hash_seed(seed))) + return rng, seed + +def hash_seed(seed=None, max_bytes=8): + """Any given evaluation is likely to have many PRNG's active at + once. (Most commonly, because the environment is running in + multiple processes.) There's literature indicating that having + linear correlations between seeds of multiple PRNG's can correlate + the outputs: + + http://blogs.unity3d.com/2015/01/07/a-primer-on-repeatable-random-numbers/ + http://stackoverflow.com/questions/1554958/how-different-do-random-seeds-need-to-be + http://dl.acm.org/citation.cfm?id=1276928 + + Thus, for sanity we hash the seeds before using them. (This scheme + is likely not crypto-strength, but it should be good enough to get + rid of simple correlations.) + + Args: + seed (Optional[int]): None seeds from an operating system specific randomness source. + max_bytes: Maximum number of bytes to use in the hashed seed. + """ + if seed is None: + seed = create_seed(max_bytes=max_bytes) + hash = hashlib.sha512(str(seed).encode('utf8')).digest() + return _bigint_from_bytes(hash[:max_bytes]) + +def create_seed(a=None, max_bytes=8): + """Create a strong random seed. Otherwise, Python 2 would seed using + the system time, which might be non-robust especially in the + presence of concurrency. + + Args: + a (Optional[int, str]): None seeds from an operating system specific randomness source. + max_bytes: Maximum number of bytes to use in the seed. + """ + # Adapted from https://svn.python.org/projects/python/tags/r32/Lib/random.py + if a is None: + a = _bigint_from_bytes(os.urandom(max_bytes)) + elif isinstance(a, str): + a = a.encode('utf8') + a += hashlib.sha512(a).digest() + a = _bigint_from_bytes(a[:max_bytes]) + elif isinstance(a, integer_types): + a = a % 2**(8 * max_bytes) + else: + raise error.Error('Invalid type for seed: {} ({})'.format(type(a), a)) + + return a + +# TODO: don't hardcode sizeof_int here +def _bigint_from_bytes(bytes): + sizeof_int = 4 + padding = sizeof_int - len(bytes) % sizeof_int + bytes += b'\0' * padding + int_count = int(len(bytes) / sizeof_int) + unpacked = struct.unpack("{}I".format(int_count), bytes) + accum = 0 + for i, val in enumerate(unpacked): + accum += 2 ** (sizeof_int * 8 * i) * val + return accum + +def _int_list_from_bigint(bigint): + # Special case 0 + if bigint < 0: + raise error.Error('Seed must be non-negative, not {}'.format(bigint)) + elif bigint == 0: + return [0] + + ints = [] + while bigint > 0: + bigint, mod = divmod(bigint, 2 ** 32) + ints.append(mod) + return ints diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/version.py b/PythonAi/venv/lib/python3.6/site-packages/gym/version.py new file mode 100644 index 0000000000000000000000000000000000000000..1826d27a35dcca0a0c69cfb3bbffb5e8c2f02efb --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/version.py @@ -0,0 +1 @@ +VERSION = '0.12.5' diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..701db24dd236c99c00cb60c5206be8d45047cabd --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__init__.py @@ -0,0 +1,7 @@ +from gym import error +from gym.wrappers.monitor import Monitor +from gym.wrappers.time_limit import TimeLimit +from gym.wrappers.dict import FlattenDictWrapper +from gym.wrappers.atari_preprocessing import AtariPreprocessing +from gym.wrappers.clip_reward import ClipReward +from gym.wrappers.sign_reward import SignReward \ No newline at end of file diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/__init__.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..028085dc0eb756d4f669cece9851792c92031931 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/__init__.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/atari_preprocessing.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/atari_preprocessing.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f3fe699ebf3e88138eb7b9f041471f444ee3b9b2 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/atari_preprocessing.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/clip_reward.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/clip_reward.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c3b450c214e7830b30d899e67f319b4480581f83 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/clip_reward.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/dict.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/dict.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6084001f22765ed6bf45ad7e7edf2f50bad1ce06 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/dict.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/monitor.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/monitor.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8617ca63321a35ad2d334dc759439e359b03d774 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/monitor.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/sign_reward.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/sign_reward.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ae44cc871854dbf6500fce3943b843e69171e033 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/sign_reward.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/time_limit.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/time_limit.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8b168591aa0fef7781500b0c4a05ed158e582d0b Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/__pycache__/time_limit.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/atari_preprocessing.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/atari_preprocessing.py new file mode 100644 index 0000000000000000000000000000000000000000..932ba536335ed912581a453df0a66e87cf08de14 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/atari_preprocessing.py @@ -0,0 +1,124 @@ +import numpy as np + +import gym +from gym.spaces import Box +from gym.wrappers import TimeLimit + + + +class AtariPreprocessing(gym.Wrapper): + r"""Atari 2600 preprocessings. + + This class follows the guidelines in + Machado et al. (2018), "Revisiting the Arcade Learning Environment: + Evaluation Protocols and Open Problems for General Agents". + + Specifically: + + * NoopReset: obtain initial state by taking random number of no-ops on reset. + * FireReset: take action on reset for environments that are fixed until firing. + * Frame skipping: 4 by default + * Max-pooling: most recent two observations + * Termination signal when a life is lost: turned off by default. Not recommended by Machado et al. (2018). + * Resize to a square image: 84x84 by default + * Grayscale observation: optional + + Args: + env (Env): environment + noop_max (int): max number of no-ops + frame_skip (int): the frequency at which the agent experiences the game. + screen_size (int): resize Atari frame + terminal_on_life_loss (bool): if True, then step() returns done=True whenever a + life is lost. + grayscale_obs (bool): if True, then gray scale observation is returned, otherwise, RGB observation + is returned. + + """ + def __init__(self, env, noop_max=30, frame_skip=4, screen_size=84, terminal_on_life_loss=False, grayscale_obs=True): + super().__init__(env) + assert frame_skip > 0 + assert screen_size > 0 + + self.noop_max = noop_max + assert env.unwrapped.get_action_meanings()[0] == 'NOOP' + + self.frame_skip = frame_skip + self.screen_size = screen_size + self.terminal_on_life_loss = terminal_on_life_loss + self.grayscale_obs = grayscale_obs + + # buffer of most recent two observations for max pooling + if grayscale_obs: + self.obs_buffer = [np.empty(env.observation_space.shape[:2], dtype=np.uint8), + np.empty(env.observation_space.shape[:2], dtype=np.uint8)] + else: + self.obs_buffer = [np.empty(env.observation_space.shape, dtype=np.uint8), + np.empty(env.observation_space.shape, dtype=np.uint8)] + + self.ale = env.unwrapped.ale + self.lives = 0 + self.game_over = False + + if grayscale_obs: + self.observation_space = Box(low=0, high=255, shape=(screen_size, screen_size), dtype=np.uint8) + else: + self.observation_space = Box(low=0, high=255, shape=(screen_size, screen_size, 3), dtype=np.uint8) + + def step(self, action): + R = 0.0 + + for t in range(self.frame_skip): + _, reward, done, info = self.env.step(action) + R += reward + self.game_over = done + + if self.terminal_on_life_loss: + new_lives = self.ale.lives() + done = done or new_lives < self.lives + self.lives = new_lives + + if done: + break + if t == self.frame_skip - 2: + if self.grayscale_obs: + self.ale.getScreenGrayscale(self.obs_buffer[0]) + else: + self.ale.getScreenRGB2(self.obs_buffer[0]) + elif t == self.frame_skip - 1: + if self.grayscale_obs: + self.ale.getScreenGrayscale(self.obs_buffer[1]) + else: + self.ale.getScreenRGB2(self.obs_buffer[1]) + return self._get_obs(), R, done, info + + def reset(self, **kwargs): + # NoopReset + self.env.reset(**kwargs) + noops = self.env.unwrapped.np_random.randint(1, self.noop_max + 1) + assert noops > 0 + for _ in range(noops): + _, _, done, _ = self.env.step(0) + if done: + self.env.reset(**kwargs) + + # FireReset + action_meanings = self.env.unwrapped.get_action_meanings() + if action_meanings[1] == 'FIRE' and len(action_meanings) >= 3: + self.env.step(1) + self.env.step(2) + + self.lives = self.ale.lives() + if self.grayscale_obs: + self.ale.getScreenGrayscale(self.obs_buffer[0]) + else: + self.ale.getScreenRGB2(self.obs_buffer[0]) + self.obs_buffer[1].fill(0) + return self._get_obs() + + def _get_obs(self): + import cv2 + if self.frame_skip > 1: # more efficient in-place pooling + np.maximum(self.obs_buffer[0], self.obs_buffer[1], out=self.obs_buffer[0]) + obs = cv2.resize(self.obs_buffer[0], (self.screen_size, self.screen_size), interpolation=cv2.INTER_AREA) + obs = np.asarray(obs, dtype=np.uint8) + return obs diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/clip_reward.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/clip_reward.py new file mode 100644 index 0000000000000000000000000000000000000000..19cc1390900c54e0b60a67c2fffa6bc712bd91c4 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/clip_reward.py @@ -0,0 +1,14 @@ +import numpy as np + +from gym import RewardWrapper + + +class ClipReward(RewardWrapper): + r""""Clip reward to [min, max]. """ + def __init__(self, env, min_r, max_r): + super(ClipReward, self).__init__(env) + self.min_r = min_r + self.max_r = max_r + + def reward(self, reward): + return np.clip(reward, self.min_r, self.max_r) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/dict.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/dict.py new file mode 100644 index 0000000000000000000000000000000000000000..d5834679f871d7215b119708a5915e33ffec85bd --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/dict.py @@ -0,0 +1,28 @@ +import gym +import numpy as np + + +__all__ = ['FlattenDictWrapper'] + + +class FlattenDictWrapper(gym.ObservationWrapper): + """Flattens selected keys of a Dict observation space into + an array. + """ + def __init__(self, env, dict_keys): + super(FlattenDictWrapper, self).__init__(env) + self.dict_keys = dict_keys + + # Figure out observation_space dimension. + size = 0 + for key in dict_keys: + shape = self.env.observation_space.spaces[key].shape + size += np.prod(shape) + self.observation_space = gym.spaces.Box(-np.inf, np.inf, shape=(size,), dtype='float32') + + def observation(self, observation): + assert isinstance(observation, dict) + obs = [] + for key in self.dict_keys: + obs.append(observation[key].ravel()) + return np.concatenate(obs) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/filter_observation.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/filter_observation.py new file mode 100644 index 0000000000000000000000000000000000000000..6f59051abd724fe7e412a00aca214bc98d9c810d --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/filter_observation.py @@ -0,0 +1,70 @@ +"""An observation wrapper that filters dictionary observations by its keys.""" + +import copy + +from gym import spaces +from gym import ObservationWrapper + + +class FilterObservationWrapper(ObservationWrapper): + """Filter dictionary observations by their keys.""" + def __init__(self, env, filter_keys=None): + """Initializes a new observation filter Wrapper. + + Args: + env: The environment to wrap. + filter_keys: List of keys to be included in the observations. + + Raises: + ValueError: If observation keys in not instance of None or + iterable. + ValueError: If any of the `filter_keys` are not included in + the original `env`'s observation space + """ + + super(FilterObservationWrapper, self).__init__(env) + + wrapped_observation_space = env.observation_space + assert isinstance(wrapped_observation_space, spaces.Dict), ( + "FilterObservationWrapper is only usable with dict observations.") + + observation_keys = wrapped_observation_space.spaces.keys() + + if filter_keys is None: + filter_keys = tuple(observation_keys) + + missing_keys = set( + key for key in filter_keys if key not in observation_keys) + + if missing_keys: + raise ValueError( + "All the filter_keys must be included in the " + "original obsrevation space.\n" + "Filter keys: {filter_keys}\n" + "Observation keys: {observation_keys}\n" + "Missing keys: {missing_keys}".format( + filter_keys=filter_keys, + observation_keys=observation_keys, + missing_keys=missing_keys, + )) + + self.observation_space = type(wrapped_observation_space)([ + (name, copy.deepcopy(space)) + for name, space in wrapped_observation_space.spaces.items() + if name in filter_keys + ]) + + self._env = env + self._filter_keys = tuple(filter_keys) + + def observation(self, observation): + filter_observation = self._filter_observation(observation) + return filter_observation + + def _filter_observation(self, observation): + observation = type(observation)([ + (name, value) + for name, value in observation.items() + if name in self._filter_keys + ]) + return observation diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitor.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitor.py new file mode 100644 index 0000000000000000000000000000000000000000..e26f82bea188aaf98ea31edae911f90d00e4e53f --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitor.py @@ -0,0 +1,376 @@ +import gym +from gym import Wrapper +from gym import error, version, logger +import os, json, numpy as np, six +from gym.wrappers.monitoring import stats_recorder, video_recorder +from gym.utils import atomic_write, closer +from gym.utils.json_utils import json_encode_np + +FILE_PREFIX = 'openaigym' +MANIFEST_PREFIX = FILE_PREFIX + '.manifest' + +class Monitor(Wrapper): + def __init__(self, env, directory, video_callable=None, force=False, resume=False, + write_upon_reset=False, uid=None, mode=None): + super(Monitor, self).__init__(env) + + self.videos = [] + + self.stats_recorder = None + self.video_recorder = None + self.enabled = False + self.episode_id = 0 + self._monitor_id = None + self.env_semantics_autoreset = env.metadata.get('semantics.autoreset') + + self._start(directory, video_callable, force, resume, + write_upon_reset, uid, mode) + + def step(self, action): + self._before_step(action) + observation, reward, done, info = self.env.step(action) + done = self._after_step(observation, reward, done, info) + + return observation, reward, done, info + + def reset(self, **kwargs): + self._before_reset() + observation = self.env.reset(**kwargs) + self._after_reset(observation) + + return observation + + def set_monitor_mode(self, mode): + logger.info("Setting the monitor mode is deprecated and will be removed soon") + self._set_mode(mode) + + + def _start(self, directory, video_callable=None, force=False, resume=False, + write_upon_reset=False, uid=None, mode=None): + """Start monitoring. + + Args: + directory (str): A per-training run directory where to record stats. + video_callable (Optional[function, False]): function that takes in the index of the episode and outputs a boolean, indicating whether we should record a video on this episode. The default (for video_callable is None) is to take perfect cubes, capped at 1000. False disables video recording. + force (bool): Clear out existing training data from this directory (by deleting every file prefixed with "openaigym."). + resume (bool): Retain the training data already in this directory, which will be merged with our new data + write_upon_reset (bool): Write the manifest file on each reset. (This is currently a JSON file, so writing it is somewhat expensive.) + uid (Optional[str]): A unique id used as part of the suffix for the file. By default, uses os.getpid(). + mode (['evaluation', 'training']): Whether this is an evaluation or training episode. + """ + if self.env.spec is None: + logger.warn("Trying to monitor an environment which has no 'spec' set. This usually means you did not create it via 'gym.make', and is recommended only for advanced users.") + env_id = '(unknown)' + else: + env_id = self.env.spec.id + + if not os.path.exists(directory): + logger.info('Creating monitor directory %s', directory) + if six.PY3: + os.makedirs(directory, exist_ok=True) + else: + os.makedirs(directory) + + if video_callable is None: + video_callable = capped_cubic_video_schedule + elif video_callable == False: + video_callable = disable_videos + elif not callable(video_callable): + raise error.Error('You must provide a function, None, or False for video_callable, not {}: {}'.format(type(video_callable), video_callable)) + self.video_callable = video_callable + + # Check on whether we need to clear anything + if force: + clear_monitor_files(directory) + elif not resume: + training_manifests = detect_training_manifests(directory) + if len(training_manifests) > 0: + raise error.Error('''Trying to write to monitor directory {} with existing monitor files: {}. + + You should use a unique directory for each training run, or use 'force=True' to automatically clear previous monitor files.'''.format(directory, ', '.join(training_manifests[:5]))) + + self._monitor_id = monitor_closer.register(self) + + self.enabled = True + self.directory = os.path.abspath(directory) + # We use the 'openai-gym' prefix to determine if a file is + # ours + self.file_prefix = FILE_PREFIX + self.file_infix = '{}.{}'.format(self._monitor_id, uid if uid else os.getpid()) + + self.stats_recorder = stats_recorder.StatsRecorder(directory, '{}.episode_batch.{}'.format(self.file_prefix, self.file_infix), autoreset=self.env_semantics_autoreset, env_id=env_id) + + if not os.path.exists(directory): os.mkdir(directory) + self.write_upon_reset = write_upon_reset + + if mode is not None: + self._set_mode(mode) + + def _flush(self, force=False): + """Flush all relevant monitor information to disk.""" + if not self.write_upon_reset and not force: + return + + self.stats_recorder.flush() + + # Give it a very distiguished name, since we need to pick it + # up from the filesystem later. + path = os.path.join(self.directory, '{}.manifest.{}.manifest.json'.format(self.file_prefix, self.file_infix)) + logger.debug('Writing training manifest file to %s', path) + with atomic_write.atomic_write(path) as f: + # We need to write relative paths here since people may + # move the training_dir around. It would be cleaner to + # already have the basenames rather than basename'ing + # manually, but this works for now. + json.dump({ + 'stats': os.path.basename(self.stats_recorder.path), + 'videos': [(os.path.basename(v), os.path.basename(m)) + for v, m in self.videos], + 'env_info': self._env_info(), + }, f, default=json_encode_np) + + def close(self): + """Flush all monitor data to disk and close any open rending windows.""" + super(Monitor, self).close() + + if not self.enabled: + return + self.stats_recorder.close() + if self.video_recorder is not None: + self._close_video_recorder() + self._flush(force=True) + + # Stop tracking this for autoclose + monitor_closer.unregister(self._monitor_id) + self.enabled = False + + logger.info('''Finished writing results. You can upload them to the scoreboard via gym.upload(%r)''', self.directory) + + def _set_mode(self, mode): + if mode == 'evaluation': + type = 'e' + elif mode == 'training': + type = 't' + else: + raise error.Error('Invalid mode {}: must be "training" or "evaluation"', mode) + self.stats_recorder.type = type + + def _before_step(self, action): + if not self.enabled: return + self.stats_recorder.before_step(action) + + def _after_step(self, observation, reward, done, info): + if not self.enabled: return done + + if done and self.env_semantics_autoreset: + # For envs with BlockingReset wrapping VNCEnv, this observation will be the first one of the new episode + self.reset_video_recorder() + self.episode_id += 1 + self._flush() + + # Record stats + self.stats_recorder.after_step(observation, reward, done, info) + # Record video + self.video_recorder.capture_frame() + + return done + + def _before_reset(self): + if not self.enabled: return + self.stats_recorder.before_reset() + + def _after_reset(self, observation): + if not self.enabled: return + + # Reset the stat count + self.stats_recorder.after_reset(observation) + + self.reset_video_recorder() + + # Bump *after* all reset activity has finished + self.episode_id += 1 + + self._flush() + + def reset_video_recorder(self): + # Close any existing video recorder + if self.video_recorder: + self._close_video_recorder() + + # Start recording the next video. + # + # TODO: calculate a more correct 'episode_id' upon merge + self.video_recorder = video_recorder.VideoRecorder( + env=self.env, + base_path=os.path.join(self.directory, '{}.video.{}.video{:06}'.format(self.file_prefix, self.file_infix, self.episode_id)), + metadata={'episode_id': self.episode_id}, + enabled=self._video_enabled(), + ) + self.video_recorder.capture_frame() + + def _close_video_recorder(self): + self.video_recorder.close() + if self.video_recorder.functional: + self.videos.append((self.video_recorder.path, self.video_recorder.metadata_path)) + + def _video_enabled(self): + return self.video_callable(self.episode_id) + + def _env_info(self): + env_info = { + 'gym_version': version.VERSION, + } + if self.env.spec: + env_info['env_id'] = self.env.spec.id + return env_info + + def __del__(self): + # Make sure we've closed up shop when garbage collecting + self.close() + + def get_total_steps(self): + return self.stats_recorder.total_steps + + def get_episode_rewards(self): + return self.stats_recorder.episode_rewards + + def get_episode_lengths(self): + return self.stats_recorder.episode_lengths + +def detect_training_manifests(training_dir, files=None): + if files is None: + files = os.listdir(training_dir) + return [os.path.join(training_dir, f) for f in files if f.startswith(MANIFEST_PREFIX + '.')] + +def detect_monitor_files(training_dir): + return [os.path.join(training_dir, f) for f in os.listdir(training_dir) if f.startswith(FILE_PREFIX + '.')] + +def clear_monitor_files(training_dir): + files = detect_monitor_files(training_dir) + if len(files) == 0: + return + + logger.info('Clearing %d monitor files from previous run (because force=True was provided)', len(files)) + for file in files: + os.unlink(file) + +def capped_cubic_video_schedule(episode_id): + if episode_id < 1000: + return int(round(episode_id ** (1. / 3))) ** 3 == episode_id + else: + return episode_id % 1000 == 0 + +def disable_videos(episode_id): + return False + +monitor_closer = closer.Closer() + +# This method gets used for a sanity check in scoreboard/api.py. It's +# not intended for use outside of the gym codebase. +def _open_monitors(): + return list(monitor_closer.closeables.values()) + +def load_env_info_from_manifests(manifests, training_dir): + env_infos = [] + for manifest in manifests: + with open(manifest) as f: + contents = json.load(f) + env_infos.append(contents['env_info']) + + env_info = collapse_env_infos(env_infos, training_dir) + return env_info + +def load_results(training_dir): + if not os.path.exists(training_dir): + logger.error('Training directory %s not found', training_dir) + return + + manifests = detect_training_manifests(training_dir) + if not manifests: + logger.error('No manifests found in training directory %s', training_dir) + return + + logger.debug('Uploading data from manifest %s', ', '.join(manifests)) + + # Load up stats + video files + stats_files = [] + videos = [] + env_infos = [] + + for manifest in manifests: + with open(manifest) as f: + contents = json.load(f) + # Make these paths absolute again + stats_files.append(os.path.join(training_dir, contents['stats'])) + videos += [(os.path.join(training_dir, v), os.path.join(training_dir, m)) + for v, m in contents['videos']] + env_infos.append(contents['env_info']) + + env_info = collapse_env_infos(env_infos, training_dir) + data_sources, initial_reset_timestamps, timestamps, episode_lengths, episode_rewards, episode_types, initial_reset_timestamp = merge_stats_files(stats_files) + + return { + 'manifests': manifests, + 'env_info': env_info, + 'data_sources': data_sources, + 'timestamps': timestamps, + 'episode_lengths': episode_lengths, + 'episode_rewards': episode_rewards, + 'episode_types': episode_types, + 'initial_reset_timestamps': initial_reset_timestamps, + 'initial_reset_timestamp': initial_reset_timestamp, + 'videos': videos, + } + +def merge_stats_files(stats_files): + timestamps = [] + episode_lengths = [] + episode_rewards = [] + episode_types = [] + initial_reset_timestamps = [] + data_sources = [] + + for i, path in enumerate(stats_files): + with open(path) as f: + content = json.load(f) + if len(content['timestamps'])==0: continue # so empty file doesn't mess up results, due to null initial_reset_timestamp + data_sources += [i] * len(content['timestamps']) + timestamps += content['timestamps'] + episode_lengths += content['episode_lengths'] + episode_rewards += content['episode_rewards'] + # Recent addition + episode_types += content.get('episode_types', []) + # Keep track of where each episode came from. + initial_reset_timestamps.append(content['initial_reset_timestamp']) + + idxs = np.argsort(timestamps) + timestamps = np.array(timestamps)[idxs].tolist() + episode_lengths = np.array(episode_lengths)[idxs].tolist() + episode_rewards = np.array(episode_rewards)[idxs].tolist() + data_sources = np.array(data_sources)[idxs].tolist() + + if episode_types: + episode_types = np.array(episode_types)[idxs].tolist() + else: + episode_types = None + + if len(initial_reset_timestamps) > 0: + initial_reset_timestamp = min(initial_reset_timestamps) + else: + initial_reset_timestamp = 0 + + return data_sources, initial_reset_timestamps, timestamps, episode_lengths, episode_rewards, episode_types, initial_reset_timestamp + +# TODO training_dir isn't used except for error messages, clean up the layering +def collapse_env_infos(env_infos, training_dir): + assert len(env_infos) > 0 + + first = env_infos[0] + for other in env_infos[1:]: + if first != other: + raise error.Error('Found two unequal env_infos: {} and {}. This usually indicates that your training directory {} has commingled results from multiple runs.'.format(first, other, training_dir)) + + for key in ['env_id', 'gym_version']: + if key not in first: + raise error.Error("env_info {} from training directory {} is missing expected key {}. This is unexpected and likely indicates a bug in gym.".format(first, training_dir, key)) + return first diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/__pycache__/__init__.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f4ddd96880ed719031d2c10b6860d045dae9577b Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/__pycache__/__init__.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/__pycache__/stats_recorder.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/__pycache__/stats_recorder.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b8743dedb1bcb74139457b76bc181a3cc22203c2 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/__pycache__/stats_recorder.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/__pycache__/video_recorder.cpython-36.pyc b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/__pycache__/video_recorder.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8531f7d1dd434827234b73d0ba976fe65dc388d7 Binary files /dev/null and b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/__pycache__/video_recorder.cpython-36.pyc differ diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/stats_recorder.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/stats_recorder.py new file mode 100644 index 0000000000000000000000000000000000000000..998c89b1b298da8d74e2cf15bcf6e70a9fac03a4 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/stats_recorder.py @@ -0,0 +1,103 @@ +import json +import os +import time + +from gym import error +from gym.utils import atomic_write +from gym.utils.json_utils import json_encode_np + +class StatsRecorder(object): + def __init__(self, directory, file_prefix, autoreset=False, env_id=None): + self.autoreset = autoreset + self.env_id = env_id + + self.initial_reset_timestamp = None + self.directory = directory + self.file_prefix = file_prefix + self.episode_lengths = [] + self.episode_rewards = [] + self.episode_types = [] # experimental addition + self._type = 't' + self.timestamps = [] + self.steps = None + self.total_steps = 0 + self.rewards = None + + self.done = None + self.closed = False + + filename = '{}.stats.json'.format(self.file_prefix) + self.path = os.path.join(self.directory, filename) + + @property + def type(self): + return self._type + + @type.setter + def type(self, type): + if type not in ['t', 'e']: + raise error.Error('Invalid episode type {}: must be t for training or e for evaluation', type) + self._type = type + + def before_step(self, action): + assert not self.closed + + if self.done: + raise error.ResetNeeded("Trying to step environment which is currently done. While the monitor is active for {}, you cannot step beyond the end of an episode. Call 'env.reset()' to start the next episode.".format(self.env_id)) + elif self.steps is None: + raise error.ResetNeeded("Trying to step an environment before reset. While the monitor is active for {}, you must call 'env.reset()' before taking an initial step.".format(self.env_id)) + + def after_step(self, observation, reward, done, info): + self.steps += 1 + self.total_steps += 1 + self.rewards += reward + self.done = done + + if done: + self.save_complete() + + if done: + if self.autoreset: + self.before_reset() + self.after_reset(observation) + + def before_reset(self): + assert not self.closed + + if self.done is not None and not self.done and self.steps > 0: + raise error.Error("Tried to reset environment which is not done. While the monitor is active for {}, you cannot call reset() unless the episode is over.".format(self.env_id)) + + self.done = False + if self.initial_reset_timestamp is None: + self.initial_reset_timestamp = time.time() + + def after_reset(self, observation): + self.steps = 0 + self.rewards = 0 + # We write the type at the beginning of the episode. If a user + # changes the type, it's more natural for it to apply next + # time the user calls reset(). + self.episode_types.append(self._type) + + def save_complete(self): + if self.steps is not None: + self.episode_lengths.append(self.steps) + self.episode_rewards.append(float(self.rewards)) + self.timestamps.append(time.time()) + + def close(self): + self.flush() + self.closed = True + + def flush(self): + if self.closed: + return + + with atomic_write.atomic_write(self.path) as f: + json.dump({ + 'initial_reset_timestamp': self.initial_reset_timestamp, + 'timestamps': self.timestamps, + 'episode_lengths': self.episode_lengths, + 'episode_rewards': self.episode_rewards, + 'episode_types': self.episode_types, + }, f, default=json_encode_np) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/tests/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/tests/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/tests/helpers.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/tests/helpers.py new file mode 100644 index 0000000000000000000000000000000000000000..4c5738556c40132121d4bdcdb401ca4f39f12a9f --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/tests/helpers.py @@ -0,0 +1,9 @@ +import contextlib +import shutil +import tempfile + +@contextlib.contextmanager +def tempdir(): + temp = tempfile.mkdtemp() + yield temp + shutil.rmtree(temp) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/tests/test_video_recorder.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/tests/test_video_recorder.py new file mode 100644 index 0000000000000000000000000000000000000000..5a4a11d6dc37be3b18b4f6dbc33b74e4e6452a6b --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/tests/test_video_recorder.py @@ -0,0 +1,65 @@ +import json +import os +import shutil +import tempfile +import numpy as np + +import gym +from gym.wrappers.monitoring.video_recorder import VideoRecorder + +class BrokenRecordableEnv(object): + metadata = {'render.modes': [None, 'rgb_array']} + + def render(self, mode=None): + pass + +class UnrecordableEnv(object): + metadata = {'render.modes': [None]} + + def render(self, mode=None): + pass + +def test_record_simple(): + env = gym.make("CartPole-v1") + rec = VideoRecorder(env) + env.reset() + rec.capture_frame() + rec.close() + assert not rec.empty + assert not rec.broken + assert os.path.exists(rec.path) + f = open(rec.path) + assert os.fstat(f.fileno()).st_size > 100 + +def test_no_frames(): + env = BrokenRecordableEnv() + rec = VideoRecorder(env) + rec.close() + assert rec.empty + assert rec.functional + assert not os.path.exists(rec.path) + +def test_record_unrecordable_method(): + env = UnrecordableEnv() + rec = VideoRecorder(env) + assert not rec.enabled + rec.close() + +def test_record_breaking_render_method(): + env = BrokenRecordableEnv() + rec = VideoRecorder(env) + rec.capture_frame() + rec.close() + assert rec.empty + assert rec.broken + assert not os.path.exists(rec.path) + +def test_text_envs(): + env = gym.make('FrozenLake-v0') + video = VideoRecorder(env) + try: + env.reset() + video.capture_frame() + video.close() + finally: + os.remove(video.path) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/video_recorder.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/video_recorder.py new file mode 100644 index 0000000000000000000000000000000000000000..88a35e5a667483dabc3def301d99f4851d895f59 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/monitoring/video_recorder.py @@ -0,0 +1,311 @@ +import json +import os +import subprocess +import tempfile +import os.path +import distutils.spawn, distutils.version +import numpy as np +from six import StringIO +import six +from gym import error, logger + +def touch(path): + open(path, 'a').close() + +class VideoRecorder(object): + """VideoRecorder renders a nice movie of a rollout, frame by frame. It + comes with an `enabled` option so you can still use the same code + on episodes where you don't want to record video. + + Note: + You are responsible for calling `close` on a created + VideoRecorder, or else you may leak an encoder process. + + Args: + env (Env): Environment to take video of. + path (Optional[str]): Path to the video file; will be randomly chosen if omitted. + base_path (Optional[str]): Alternatively, path to the video file without extension, which will be added. + metadata (Optional[dict]): Contents to save to the metadata file. + enabled (bool): Whether to actually record video, or just no-op (for convenience) + """ + + def __init__(self, env, path=None, metadata=None, enabled=True, base_path=None): + modes = env.metadata.get('render.modes', []) + self._async = env.metadata.get('semantics.async') + self.enabled = enabled + + # Don't bother setting anything else if not enabled + if not self.enabled: + return + + self.ansi_mode = False + if 'rgb_array' not in modes: + if 'ansi' in modes: + self.ansi_mode = True + else: + logger.info('Disabling video recorder because {} neither supports video mode "rgb_array" nor "ansi".'.format(env)) + # Whoops, turns out we shouldn't be enabled after all + self.enabled = False + return + + if path is not None and base_path is not None: + raise error.Error("You can pass at most one of `path` or `base_path`.") + + self.last_frame = None + self.env = env + + required_ext = '.json' if self.ansi_mode else '.mp4' + if path is None: + if base_path is not None: + # Base path given, append ext + path = base_path + required_ext + else: + # Otherwise, just generate a unique filename + with tempfile.NamedTemporaryFile(suffix=required_ext, delete=False) as f: + path = f.name + self.path = path + + path_base, actual_ext = os.path.splitext(self.path) + + if actual_ext != required_ext: + hint = " HINT: The environment is text-only, therefore we're recording its text output in a structured JSON format." if self.ansi_mode else '' + raise error.Error("Invalid path given: {} -- must have file extension {}.{}".format(self.path, required_ext, hint)) + # Touch the file in any case, so we know it's present. (This + # corrects for platform platform differences. Using ffmpeg on + # OS X, the file is precreated, but not on Linux. + touch(path) + + self.frames_per_sec = env.metadata.get('video.frames_per_second', 30) + self.encoder = None # lazily start the process + self.broken = False + + # Dump metadata + self.metadata = metadata or {} + self.metadata['content_type'] = 'video/vnd.openai.ansivid' if self.ansi_mode else 'video/mp4' + self.metadata_path = '{}.meta.json'.format(path_base) + self.write_metadata() + + logger.info('Starting new video recorder writing to %s', self.path) + self.empty = True + + @property + def functional(self): + return self.enabled and not self.broken + + def capture_frame(self): + """Render the given `env` and add the resulting frame to the video.""" + if not self.functional: return + logger.debug('Capturing video frame: path=%s', self.path) + + render_mode = 'ansi' if self.ansi_mode else 'rgb_array' + frame = self.env.render(mode=render_mode) + + if frame is None: + if self._async: + return + else: + # Indicates a bug in the environment: don't want to raise + # an error here. + logger.warn('Env returned None on render(). Disabling further rendering for video recorder by marking as disabled: path=%s metadata_path=%s', self.path, self.metadata_path) + self.broken = True + else: + self.last_frame = frame + if self.ansi_mode: + self._encode_ansi_frame(frame) + else: + self._encode_image_frame(frame) + + def close(self): + """Make sure to manually close, or else you'll leak the encoder process""" + if not self.enabled: + return + + if self.encoder: + logger.debug('Closing video encoder: path=%s', self.path) + self.encoder.close() + self.encoder = None + else: + # No frames captured. Set metadata, and remove the empty output file. + os.remove(self.path) + + if self.metadata is None: + self.metadata = {} + self.metadata['empty'] = True + + # If broken, get rid of the output file, otherwise we'd leak it. + if self.broken: + logger.info('Cleaning up paths for broken video recorder: path=%s metadata_path=%s', self.path, self.metadata_path) + + # Might have crashed before even starting the output file, don't try to remove in that case. + if os.path.exists(self.path): + os.remove(self.path) + + if self.metadata is None: + self.metadata = {} + self.metadata['broken'] = True + + self.write_metadata() + + def write_metadata(self): + with open(self.metadata_path, 'w') as f: + json.dump(self.metadata, f) + + def _encode_ansi_frame(self, frame): + if not self.encoder: + self.encoder = TextEncoder(self.path, self.frames_per_sec) + self.metadata['encoder_version'] = self.encoder.version_info + self.encoder.capture_frame(frame) + self.empty = False + + def _encode_image_frame(self, frame): + if not self.encoder: + self.encoder = ImageEncoder(self.path, frame.shape, self.frames_per_sec) + self.metadata['encoder_version'] = self.encoder.version_info + + try: + self.encoder.capture_frame(frame) + except error.InvalidFrame as e: + logger.warn('Tried to pass invalid video frame, marking as broken: %s', e) + self.broken = True + else: + self.empty = False + + +class TextEncoder(object): + """Store a moving picture made out of ANSI frames. Format adapted from + https://github.com/asciinema/asciinema/blob/master/doc/asciicast-v1.md""" + + def __init__(self, output_path, frames_per_sec): + self.output_path = output_path + self.frames_per_sec = frames_per_sec + self.frames = [] + + def capture_frame(self, frame): + from six import string_types + string = None + if isinstance(frame, string_types): + string = frame + elif isinstance(frame, StringIO): + string = frame.getvalue() + else: + raise error.InvalidFrame('Wrong type {} for {}: text frame must be a string or StringIO'.format(type(frame), frame)) + + frame_bytes = string.encode('utf-8') + + if frame_bytes[-1:] != six.b('\n'): + raise error.InvalidFrame('Frame must end with a newline: """{}"""'.format(string)) + + if six.b('\r') in frame_bytes: + raise error.InvalidFrame('Frame contains carriage returns (only newlines are allowed: """{}"""'.format(string)) + + self.frames.append(frame_bytes) + + def close(self): + #frame_duration = float(1) / self.frames_per_sec + frame_duration = .5 + + # Turn frames into events: clear screen beforehand + # https://rosettacode.org/wiki/Terminal_control/Clear_the_screen#Python + # https://rosettacode.org/wiki/Terminal_control/Cursor_positioning#Python + clear_code = six.b("%c[2J\033[1;1H" % (27)) + # Decode the bytes as UTF-8 since JSON may only contain UTF-8 + events = [ (frame_duration, (clear_code+frame.replace(six.b('\n'),six.b('\r\n'))).decode('utf-8')) for frame in self.frames ] + + # Calculate frame size from the largest frames. + # Add some padding since we'll get cut off otherwise. + height = max([frame.count(six.b('\n')) for frame in self.frames]) + 1 + width = max([max([len(line) for line in frame.split(six.b('\n'))]) for frame in self.frames]) + 2 + + data = { + "version": 1, + "width": width, + "height": height, + "duration": len(self.frames)*frame_duration, + "command": "-", + "title": "gym VideoRecorder episode", + "env": {}, # could add some env metadata here + "stdout": events, + } + + with open(self.output_path, 'w') as f: + json.dump(data, f) + + @property + def version_info(self): + return {'backend':'TextEncoder','version':1} + +class ImageEncoder(object): + def __init__(self, output_path, frame_shape, frames_per_sec): + self.proc = None + self.output_path = output_path + # Frame shape should be lines-first, so w and h are swapped + h, w, pixfmt = frame_shape + if pixfmt != 3 and pixfmt != 4: + raise error.InvalidFrame("Your frame has shape {}, but we require (w,h,3) or (w,h,4), i.e., RGB values for a w-by-h image, with an optional alpha channel.".format(frame_shape)) + self.wh = (w,h) + self.includes_alpha = (pixfmt == 4) + self.frame_shape = frame_shape + self.frames_per_sec = frames_per_sec + + if distutils.spawn.find_executable('avconv') is not None: + self.backend = 'avconv' + elif distutils.spawn.find_executable('ffmpeg') is not None: + self.backend = 'ffmpeg' + else: + raise error.DependencyNotInstalled("""Found neither the ffmpeg nor avconv executables. On OS X, you can install ffmpeg via `brew install ffmpeg`. On most Ubuntu variants, `sudo apt-get install ffmpeg` should do it. On Ubuntu 14.04, however, you'll need to install avconv with `sudo apt-get install libav-tools`.""") + + self.start() + + @property + def version_info(self): + return { + 'backend':self.backend, + 'version':str(subprocess.check_output([self.backend, '-version'], + stderr=subprocess.STDOUT)), + 'cmdline':self.cmdline + } + + def start(self): + self.cmdline = (self.backend, + '-nostats', + '-loglevel', 'error', # suppress warnings + '-y', + '-r', '%d' % self.frames_per_sec, + + # input + '-f', 'rawvideo', + '-s:v', '{}x{}'.format(*self.wh), + '-pix_fmt',('rgb32' if self.includes_alpha else 'rgb24'), + '-i', '-', # this used to be /dev/stdin, which is not Windows-friendly + + # output + '-vf', 'scale=trunc(iw/2)*2:trunc(ih/2)*2', + '-vcodec', 'libx264', + '-pix_fmt', 'yuv420p', + self.output_path + ) + + logger.debug('Starting ffmpeg with "%s"', ' '.join(self.cmdline)) + if hasattr(os,'setsid'): #setsid not present on Windows + self.proc = subprocess.Popen(self.cmdline, stdin=subprocess.PIPE, preexec_fn=os.setsid) + else: + self.proc = subprocess.Popen(self.cmdline, stdin=subprocess.PIPE) + + def capture_frame(self, frame): + if not isinstance(frame, (np.ndarray, np.generic)): + raise error.InvalidFrame('Wrong type {} for {} (must be np.ndarray or np.generic)'.format(type(frame), frame)) + if frame.shape != self.frame_shape: + raise error.InvalidFrame("Your frame has shape {}, but the VideoRecorder is configured for shape {}.".format(frame.shape, self.frame_shape)) + if frame.dtype != np.uint8: + raise error.InvalidFrame("Your frame has data type {}, but we require uint8 (i.e. RGB values from 0-255).".format(frame.dtype)) + + if distutils.version.LooseVersion(np.__version__) >= distutils.version.LooseVersion('1.9.0'): + self.proc.stdin.write(frame.tobytes()) + else: + self.proc.stdin.write(frame.tostring()) + + def close(self): + self.proc.stdin.close() + ret = self.proc.wait() + if ret != 0: + logger.error("VideoRecorder encoder exited with status {}".format(ret)) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/sign_reward.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/sign_reward.py new file mode 100644 index 0000000000000000000000000000000000000000..9ef515c46ca3ac6e5a59c70c58a2c1d468d94c5d --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/sign_reward.py @@ -0,0 +1,9 @@ +import numpy as np + +from gym import RewardWrapper + + +class SignReward(RewardWrapper): + r""""Bin reward to {-1, 0, +1} by its sign. """ + def reward(self, reward): + return np.sign(reward) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/test_atari_preprocessing.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/test_atari_preprocessing.py new file mode 100644 index 0000000000000000000000000000000000000000..bd798368cbfbfa6ac2b934a66fa402db1249704e --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/test_atari_preprocessing.py @@ -0,0 +1,24 @@ +import numpy as np +import gym +import pytest +from gym.wrappers import AtariPreprocessing +try: + import atari_py +except ImportError: + atari_py = None + +@pytest.mark.skipif(atari_py is None, reason='Only run this test when atari_py is installed') +def test_atari_preprocessing(): + import cv2 + env1 = gym.make('PongNoFrameskip-v0') + env2 = AtariPreprocessing(env1, screen_size=84, grayscale_obs=True) + env3 = AtariPreprocessing(env1, screen_size=84, grayscale_obs=False) + obs1 = env1.reset() + assert obs1.shape == (210, 160, 3) + obs2 = env2.reset() + assert obs2.shape == (84, 84) + obs3 = env3.reset() + assert obs3.shape == (84, 84, 3) + # TODO peterz - figure out why assertions below are faliing and fix + # np.testing.assert_allclose(obs3, cv2.resize(obs1, (84, 84), interpolation=cv2.INTER_AREA)) + # np.testing.assert_allclose(obs2, cv2.cvtColor(obs3, cv2.COLOR_RGB2GRAY)) diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/test_clip_reward.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/test_clip_reward.py new file mode 100644 index 0000000000000000000000000000000000000000..f1cbef209c6a30914853041d21f92b1dd882de99 --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/test_clip_reward.py @@ -0,0 +1,21 @@ +import pytest + +import gym +from gym.wrappers import ClipReward + + +@pytest.mark.parametrize('env_id', ['CartPole-v1', 'Pendulum-v0', 'MountainCar-v0']) +def test_clip_reward(env_id): + env = gym.make(env_id) + wrapped_env = ClipReward(env, -0.0005, 0.0002) + + env.reset() + wrapped_env.reset() + + action = env.action_space.sample() + + _, reward, _, _ = env.step(action) + _, wrapped_reward, _, _ = wrapped_env.step(action) + + assert abs(wrapped_reward) < abs(reward) + assert wrapped_reward == -0.0005 or wrapped_reward == 0.0002 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/test_sign_reward.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/test_sign_reward.py new file mode 100644 index 0000000000000000000000000000000000000000..a8b8a2032323d30f5924ccfcb11eee485095e4fa --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/test_sign_reward.py @@ -0,0 +1,20 @@ +import pytest + +import gym +from gym.wrappers import SignReward + + +@pytest.mark.parametrize('env_id', ['CartPole-v1', 'Pendulum-v0']) +def test_sign_reward(env_id): + env = gym.make(env_id) + wrapped_env = SignReward(env) + + env.reset() + wrapped_env.reset() + + for _ in range(1000): + action = env.action_space.sample() + _, wrapped_reward, done, _ = wrapped_env.step(action) + assert wrapped_reward in [-1.0, 0.0, 1.0] + if done: + break diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/tests/__init__.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/tests/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/time_limit.py b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/time_limit.py new file mode 100644 index 0000000000000000000000000000000000000000..ac181de0e0325d3110c0289493306fc474b6cb2e --- /dev/null +++ b/PythonAi/venv/lib/python3.6/site-packages/gym/wrappers/time_limit.py @@ -0,0 +1,24 @@ +import gym + + +class TimeLimit(gym.Wrapper): + def __init__(self, env, max_episode_steps=None): + super(TimeLimit, self).__init__(env) + if max_episode_steps is None: + max_episode_steps = env.spec.max_episode_steps + self.env.spec.max_episode_steps = max_episode_steps + self._max_episode_steps = max_episode_steps + self._elapsed_steps = None + + def step(self, action): + assert self._elapsed_steps is not None, "Cannot call env.step() before calling reset()" + observation, reward, done, info = self.env.step(action) + self._elapsed_steps += 1 + if self._elapsed_steps >= self._max_episode_steps: + info['TimeLimit.truncated'] = not done + done = True + return observation, reward, done, info + + def reset(self, **kwargs): + self._elapsed_steps = 0 + return self.env.reset(**kwargs) diff --git a/PythonAi/venv/lib64 b/PythonAi/venv/lib64 new file mode 120000 index 0000000000000000000000000000000000000000..7951405f85a569efbacc12fccfee529ef1866602 --- /dev/null +++ b/PythonAi/venv/lib64 @@ -0,0 +1 @@ +lib \ No newline at end of file diff --git a/PythonAi/venv/pyvenv.cfg b/PythonAi/venv/pyvenv.cfg new file mode 100644 index 0000000000000000000000000000000000000000..12a52df6653add8d42eb5c2913c4f6188c365aa4 --- /dev/null +++ b/PythonAi/venv/pyvenv.cfg @@ -0,0 +1,3 @@ +home = /usr/bin +include-system-site-packages = false +version = 3.6.7 diff --git a/dependencies/.steam/sdk64/crashhandler.so b/dependencies/.steam/sdk64/crashhandler.so new file mode 100755 index 0000000000000000000000000000000000000000..49c65261e22ec1ceba7a5172b1f11967645ded31 Binary files /dev/null and b/dependencies/.steam/sdk64/crashhandler.so differ diff --git a/dependencies/.steam/sdk64/steamclient.so b/dependencies/.steam/sdk64/steamclient.so new file mode 100755 index 0000000000000000000000000000000000000000..c7c600b4c7cb1716bf3e748e105759f3df469edc Binary files /dev/null and b/dependencies/.steam/sdk64/steamclient.so differ