From 74bf01c0f81f07ba618fb51fd2c2817c4f24548a Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Thu, 22 Oct 2026 12:52:11 +0800 Subject: [PATCH] =?UTF-8?q?feat(state):=20=E7=94=9F=E6=88=90=E5=8A=A8?= =?UTF-8?q?=E4=BD=9C=E7=9B=AE=E5=BD=95=20ActionCatalog=EF=BC=8C=E6=8A=8A?= =?UTF-8?q?=20817=20=E4=B8=AA=E7=B1=BB=E4=B8=8E=E5=AE=9E=E9=99=85=20dispat?= =?UTF-8?q?ch=20=E5=90=8D=E5=AF=B9=E4=B8=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1) gen_action_kt 现在额外产出 App/State/ActionCatalog.kt:817 条(816 个 module_10032 数据类 + module_10849 的 InitState),每条带类引用与字段类型。 2) State 模块补 InitState(type, action):原 module_10849 的 ct,toString 证据为 InitState(type=…, action=…)。 3) 自检从 10 项扩到 15 项:目录非空、名字唯一、每个条目能拿到 KClass、运行时打点过的 135 个动作名 0 缺口、ByName 与 All 对齐。 结果:TANKIOFFLINE_STATE_TEST=1 全通过(目录 817 条;打点动作名 135 个;缺口 0)。 --- 3DTank/tools/gen_action_kt.js | 52 ++ .../jsMain/kotlin/App/State/ActionCatalog.kt | 840 ++++++++++++++++++ .../app/src/jsMain/kotlin/App/StateCheck.kt | 13 + .../state/src/jsMain/kotlin/State/Redux.kt | 7 + 4 files changed, 912 insertions(+) create mode 100644 TankiOffline/app/src/jsMain/kotlin/App/State/ActionCatalog.kt diff --git a/3DTank/tools/gen_action_kt.js b/3DTank/tools/gen_action_kt.js index cad9f54..30e36ff 100644 --- a/3DTank/tools/gen_action_kt.js +++ b/3DTank/tools/gen_action_kt.js @@ -515,6 +515,8 @@ function InferDeep(Expr, Mod, Off, Depth) { } const Emitted = []; +// 动作目录:类名 + 字段(名, 类型),用于生成 ActionCatalog.kt(运行时按名字查类) +const Catalog = []; const Seen = new Set(); let TypedFields = 0; let TotalFields = 0; @@ -528,6 +530,7 @@ for (const R of Inventory.Rows) { const Sites = Calls[R.Name + '|' + R.Local] || []; const Fields = R.ToStringFields.length ? R.ToStringFields : R.Params.map((P, I) => 'field' + (I + 1)); const Lines = []; + const FieldPairs = []; Fields.forEach((F, I) => { TotalFields++; // ① 运行时打点(真值)→ ② 调用点/数据流反推 → ③ Any? @@ -600,8 +603,10 @@ for (const R of Inventory.Rows) { // 注释必须压成单行,且逗号要放在注释之前(否则逗号被 // 吞掉) Note = Note.replace(/\s+/g, ' ').slice(0, 120); Lines.push(' val ' + F + ': ' + (Type || 'Any?') + ', ' + Note); + FieldPairs.push([F, Type || 'Any?']); }); Emitted.push('data class ' + R.Name + '(\n' + Lines.join('\n') + '\n)'); + Catalog.push({ Name: R.Name, Fields: FieldPairs }); } // 嵌套模型类(字段名来自 runtime toString,类型来自样例值) @@ -652,6 +657,53 @@ fs.writeFileSync(OUT, Head.join('\n') + Emitted.join('\n\n') + '\n\n' + console.log('生成 ' + Emitted.length + ' 个 data class,字段 ' + TotalFields + ',已定类型 ' + TypedFields + '(' + ((TypedFields * 100 / Math.max(1, TotalFields)).toFixed(1)) + '%)'); console.log('生成 ' + ModelEmitted.length + ' 个嵌套对象类,字段 ' + ModelTotal + ',已定类型 ' + ModelTyped); + +// ---- 动作目录:名字 → Kotlin 类 + 字段类型(运行时按 dispatch 打点里的名字反查)---- +const CatalogPath = path.join(path.dirname(OUT), 'ActionCatalog.kt'); +const TracedNames = Object.keys(RuntimeTypes).sort(); +// 不在 module_10032 里、但有 toString 证据的动作。 +// InitState:module_10849 的 ct,toString 为 `InitState(type=…, action=…)`,已在 State 模块实现 +const ExternalActions = [ + { Name: 'InitState', Type: 'InitState', Fields: [['type', 'Any?'], ['action', 'Any?']] }, +]; +const CatalogLines = []; +for (const Row of Catalog) { + const Fields = Row.Fields.map(([N, T]) => 'ActionFieldMeta("' + N + '", "' + T + '")').join(', '); + CatalogLines.push(' ActionMeta("' + Row.Name + '", ' + Row.Name + '::class, listOf(' + Fields + ')),'); +} +for (const Row of ExternalActions) { + const Fields = Row.Fields.map(([N, T]) => 'ActionFieldMeta("' + N + '", "' + T + '")').join(', '); + CatalogLines.push(' ActionMeta("' + Row.Name + '", ' + Row.Type + '::class, listOf(' + Fields + ')),'); +} +const CatalogText = [ + '// 本文件由 3DTank/tools/gen_action_kt.js 生成。', + '// 动作/状态类目录:把 dispatch 打点里的字符串类名映射到 Kotlin 类(字段类型一并带上)。', + 'package App.State', + '', + 'import kotlin.reflect.KClass', + 'import State.InitState', + '', + 'data class ActionFieldMeta(val Name: String, val Type: String)', + '', + 'data class ActionMeta(val Name: String, val Type: KClass<*>, val Fields: List)', + '', + 'object ActionCatalog {', + ' val All: List = listOf(', + CatalogLines.join('\n'), + ' )', + '', + ' val ByName: Map = All.associateBy { it.Name }', + '', + ' /** 运行时 dispatch 打点里真实出现过的动作名(真值证据)。 */', + ' val TracedNames: Set = setOf(' + TracedNames.map((N) => '"' + N + '"').join(', ') + ')', + '', + ' /** 打点里出现但目录里没有的名字(正常应为空)。 */', + ' fun MissingTraced(): List = TracedNames.filter { !ByName.containsKey(it) }.sorted()', + '}', + '', +].join('\n'); +fs.writeFileSync(CatalogPath, CatalogText, 'utf8'); +console.log('生成动作目录 ' + (Catalog.length + ExternalActions.length) + ' 条(打点出现过 ' + TracedNames.length + ' 个名字)'); if (Audit) { console.log('推断 vs 运行时真值冲突 ' + Conflicts.length + ' 处'); for (const C of Conflicts.slice(0, 25)) console.log(' ' + C); diff --git a/TankiOffline/app/src/jsMain/kotlin/App/State/ActionCatalog.kt b/TankiOffline/app/src/jsMain/kotlin/App/State/ActionCatalog.kt new file mode 100644 index 0000000..416a6d4 --- /dev/null +++ b/TankiOffline/app/src/jsMain/kotlin/App/State/ActionCatalog.kt @@ -0,0 +1,840 @@ +// 本文件由 3DTank/tools/gen_action_kt.js 生成。 +// 动作/状态类目录:把 dispatch 打点里的字符串类名映射到 Kotlin 类(字段类型一并带上)。 +package App.State + +import kotlin.reflect.KClass +import State.InitState + +data class ActionFieldMeta(val Name: String, val Type: String) + +data class ActionMeta(val Name: String, val Type: KClass<*>, val Fields: List) + +object ActionCatalog { + val All: List = listOf( + ActionMeta("AnnouncementState", AnnouncementState::class, listOf(ActionFieldMeta("isEnabled", "Any?"), ActionFieldMeta("modelLoaded", "Any?"), ActionFieldMeta("items", "Any?"), ActionFieldMeta("wasInBattle", "Any?"), ActionFieldMeta("skipNextPromotedAnnounce", "Any?"))), + ActionMeta("State", State::class, listOf(ActionFieldMeta("screenId", "Any?"), ActionFieldMeta("promotedAnnounce", "Any?"))), + ActionMeta("SetSkipNextPromotedAnnounce", SetSkipNextPromotedAnnounce::class, listOf(ActionFieldMeta("skipShowNextAnnounce", "Boolean"))), + ActionMeta("ShowedAnnounces", ShowedAnnounces::class, listOf(ActionFieldMeta("data", "Any?"))), + ActionMeta("Init", Init::class, listOf(ActionFieldMeta("announcementItems", "List"))), + ActionMeta("Open", Open::class, listOf(ActionFieldMeta("announcementItemId", "Long"))), + ActionMeta("ActionButtonClicked", ActionButtonClicked::class, listOf(ActionFieldMeta("announcementItemId", "Long"))), + ActionMeta("AntiAddictionState", AntiAddictionState::class, listOf(ActionFieldMeta("isEnableRealNameCheck", "Any?"), ActionFieldMeta("unknownUserId", "Any?"), ActionFieldMeta("urlForEnterUserId", "Any?"), ActionFieldMeta("playingTimeInMinutes", "Any?"), ActionFieldMeta("alertMessage", "Any?"), ActionFieldMeta("idNumber", "Any?"), ActionFieldMeta("realName", "Any?"), ActionFieldMeta("validateStatus", "Any?"))), + ActionMeta("SetAndValidateUserData", SetAndValidateUserData::class, listOf(ActionFieldMeta("realName", "Any?"), ActionFieldMeta("idNumber", "Any?"))), + ActionMeta("SetRealNameAndIdNumber", SetRealNameAndIdNumber::class, listOf(ActionFieldMeta("realName", "Any?"), ActionFieldMeta("idNumber", "Any?"))), + ActionMeta("RequestServerValidateAntiAddictionUserData", RequestServerValidateAntiAddictionUserData::class, listOf(ActionFieldMeta("realName", "Any?"), ActionFieldMeta("idNumber", "Any?"))), + ActionMeta("SetValidateAntiAddictionUserDataStatus", SetValidateAntiAddictionUserDataStatus::class, listOf(ActionFieldMeta("validateStatus", "Any?"))), + ActionMeta("ShowAntiAddictionAlert", ShowAntiAddictionAlert::class, listOf(ActionFieldMeta("playingTimeInMinutes", "Any?"))), + ActionMeta("BattleTutorialState", BattleTutorialState::class, listOf(ActionFieldMeta("message", "Any?"), ActionFieldMeta("fragsCount", "Any?"), ActionFieldMeta("movementHasStarted", "Any?"))), + ActionMeta("ShowMessage", ShowMessage::class, listOf(ActionFieldMeta("message", "Any?"))), + ActionMeta("SetFragsCount", SetFragsCount::class, listOf(ActionFieldMeta("fragsCount", "Any?"))), + ActionMeta("UpdateLocalTankLogAction", UpdateLocalTankLogAction::class, listOf(ActionFieldMeta("message", "Any?"))), + ActionMeta("LocalBattleUserState", LocalBattleUserState::class, listOf(ActionFieldMeta("weaponResistanceProperty", "Any?"), ActionFieldMeta("isReArmorTemporaryDisabled", "Any?"))), + ActionMeta("SetLocalWeaponResistanceProperty", SetLocalWeaponResistanceProperty::class, listOf(ActionFieldMeta("itemProperty", "String"))), + ActionMeta("SetReArmorTemporaryDisabled", SetReArmorTemporaryDisabled::class, listOf(ActionFieldMeta("disabled", "Boolean"))), + ActionMeta("SuppliesState", SuppliesState::class, listOf(ActionFieldMeta("count", "Any?"))), + ActionMeta("BattleMessageState", BattleMessageState::class, listOf(ActionFieldMeta("messages", "Any?"))), + ActionMeta("LocalizedMessage", LocalizedMessage::class, listOf(ActionFieldMeta("type", "Any?"), ActionFieldMeta("hideTimeMs", "Any?"), ActionFieldMeta("content", "Any?"), ActionFieldMeta("arguments", "Any?"), ActionFieldMeta("isHidden", "Any?"))), + ActionMeta("TextMessage", TextMessage::class, listOf(ActionFieldMeta("type", "Any?"), ActionFieldMeta("hideTimeMs", "Any?"), ActionFieldMeta("text", "Any?"), ActionFieldMeta("isHidden", "Any?"))), + ActionMeta("LocalizedUserMessage", LocalizedUserMessage::class, listOf(ActionFieldMeta("type", "Any?"), ActionFieldMeta("hideTimeMs", "Any?"), ActionFieldMeta("isHidden", "Any?"), ActionFieldMeta("content", "Any?"), ActionFieldMeta("userTeamRelation", "Any?"), ActionFieldMeta("userUid", "Any?"))), + ActionMeta("LocalizedTeamMessage", LocalizedTeamMessage::class, listOf(ActionFieldMeta("type", "Any?"), ActionFieldMeta("hideTimeMs", "Any?"), ActionFieldMeta("isHidden", "Any?"), ActionFieldMeta("content", "Any?"), ActionFieldMeta("teamRelation", "Any?"))), + ActionMeta("HideMessage", HideMessage::class, listOf(ActionFieldMeta("hideTimeMs", "Any?"))), + ActionMeta("RemoveMessage", RemoveMessage::class, listOf(ActionFieldMeta("hideTimeMs", "Any?"))), + ActionMeta("DoAddLocalizedMessage", DoAddLocalizedMessage::class, listOf(ActionFieldMeta("type", "Any?"), ActionFieldMeta("hideTimeMs", "Any?"), ActionFieldMeta("message", "Any?"), ActionFieldMeta("args", "Any?"))), + ActionMeta("DoAddLocalizedUserMessage", DoAddLocalizedUserMessage::class, listOf(ActionFieldMeta("userTeamRelation", "Any?"), ActionFieldMeta("type", "Any?"), ActionFieldMeta("hideTimeMs", "Any?"), ActionFieldMeta("message", "Any?"), ActionFieldMeta("userUid", "Any?"))), + ActionMeta("DoAddLocalizedTeamMessage", DoAddLocalizedTeamMessage::class, listOf(ActionFieldMeta("type", "Any?"), ActionFieldMeta("hideTimeMs", "Any?"), ActionFieldMeta("message", "Any?"), ActionFieldMeta("teamRelation", "Any?"))), + ActionMeta("DoAddTextMessage", DoAddTextMessage::class, listOf(ActionFieldMeta("type", "Any?"), ActionFieldMeta("hideTimeMs", "Any?"), ActionFieldMeta("text", "Any?"))), + ActionMeta("BattlePauseState", BattlePauseState::class, listOf(ActionFieldMeta("inAutoPauseMode", "Any?"), ActionFieldMeta("timeForAutoLeave", "Any?"), ActionFieldMeta("idleKickPeriodInMsec", "Any?"))), + ActionMeta("OnPauseMode", OnPauseMode::class, listOf(ActionFieldMeta("remainingTimeForAutoLeave", "Any?"))), + ActionMeta("SetIdleKickPeriod", SetIdleKickPeriod::class, listOf(ActionFieldMeta("idleKickPeriodMsec", "Int"))), + ActionMeta("PauseActivated", PauseActivated::class, listOf(ActionFieldMeta("timeToAutoLeavePeriod", "Int"), ActionFieldMeta("timeToAutoPausePeriod", "Int"))), + ActionMeta("BattleViewState", BattleViewState::class, listOf(ActionFieldMeta("inBackgroundState", "Any?"), ActionFieldMeta("isHidden", "Any?"), ActionFieldMeta("invisibleElements", "Any?"), ActionFieldMeta("inputEnabled", "Any?"), ActionFieldMeta("battleStatisticsActive", "Any?"), ActionFieldMeta("battleMenuActive", "Any?"), ActionFieldMeta("joystickPosition", "Any?"))), + ActionMeta("SetVisibility", SetVisibility::class, listOf(ActionFieldMeta("visible", "Boolean"), ActionFieldMeta("element", "Any?"))), + ActionMeta("SetElementsVisibility", SetElementsVisibility::class, listOf(ActionFieldMeta("visible", "Boolean"), ActionFieldMeta("elements", "Any?"))), + ActionMeta("TankActionsLogState", TankActionsLogState::class, listOf(ActionFieldMeta("logs", "Any?"), ActionFieldMeta("noticed", "Any?"))), + ActionMeta("OnKilled", OnKilled::class, listOf(ActionFieldMeta("killer", "Long"), ActionFieldMeta("destroyed", "Long"), ActionFieldMeta("damageType", "String"), ActionFieldMeta("isCritical", "Boolean"))), + ActionMeta("OnSuicide", OnSuicide::class, listOf(ActionFieldMeta("destroyed", "Long"))), + ActionMeta("OnChangeEquipment", OnChangeEquipment::class, listOf(ActionFieldMeta("destroyed", "Long"))), + ActionMeta("OnUserJoinTheBattle", OnUserJoinTheBattle::class, listOf(ActionFieldMeta("userId", "Long"))), + ActionMeta("OnUserLeaveTheBattle", OnUserLeaveTheBattle::class, listOf(ActionFieldMeta("userId", "Long"))), + ActionMeta("UpdateLog", UpdateLog::class, listOf(ActionFieldMeta("tankActionLog", "Any?"))), + ActionMeta("TankDestroyActionLog", TankDestroyActionLog::class, listOf(ActionFieldMeta("userLabelData", "Any?"), ActionFieldMeta("destroyedUserLabelData", "Any?"), ActionFieldMeta("damageType", "Any?"), ActionFieldMeta("isCritical", "Any?"), ActionFieldMeta("type", "Any?"))), + ActionMeta("TankUserActionLog", TankUserActionLog::class, listOf(ActionFieldMeta("userLabelData", "Any?"), ActionFieldMeta("type", "Any?"))), + ActionMeta("Moderation", Moderation::class, listOf(ActionFieldMeta("moderatorMode", "Any?"), ActionFieldMeta("battleModeratorMode", "Any?"), ActionFieldMeta("eventOrganizerMode", "Any?"), ActionFieldMeta("moderationToolBattleUrlTemplate", "Any?"), ActionFieldMeta("moderationToolUserUrlTemplate", "Any?"), ActionFieldMeta("battleInfo", "Any?"), ActionFieldMeta("forceShowBattleInfo", "Any?"), ActionFieldMeta("systemMessage", "Any?"), ActionFieldMeta("forceShowSystemMessage", "Any?"), ActionFieldMeta("forceShowBlockUserMenu", "Any?"), ActionFieldMeta("selectedUsers", "Any?"))), + ActionMeta("ModerationBattleInfo", ModerationBattleInfo::class, listOf(ActionFieldMeta("battleId", "Long"), ActionFieldMeta("modeName", "Any?"), ActionFieldMeta("creatorId", "Long"), ActionFieldMeta("creatorRankIndex", "Int"), ActionFieldMeta("creatorName", "String"), ActionFieldMeta("customBattleName", "String"), ActionFieldMeta("mapName", "Any?"), ActionFieldMeta("serverName", "Any?"), ActionFieldMeta("serverNumber", "Int"), ActionFieldMeta("suspiciousBattle", "Boolean"), ActionFieldMeta("suspiciousByIpBattle", "Boolean"), ActionFieldMeta("users", "Any?"), ActionFieldMeta("archive", "Any?"))), + ActionMeta("UserRecord", UserRecord::class, listOf(ActionFieldMeta("userId", "Any?"), ActionFieldMeta("userRank", "Any?"), ActionFieldMeta("userName", "Any?"))), + ActionMeta("ModerationUserInfo", ModerationUserInfo::class, listOf(ActionFieldMeta("userName", "Any?"), ActionFieldMeta("userIP", "String"), ActionFieldMeta("userRankIndex", "Int"), ActionFieldMeta("deaths", "Int"), ActionFieldMeta("kills", "Int"), ActionFieldMeta("secondsInBattle", "Int"), ActionFieldMeta("suspicious", "Boolean"), ActionFieldMeta("suspiciousByIp", "Boolean"), ActionFieldMeta("uniqueMarker", "Any?"), ActionFieldMeta("userId", "Long"), ActionFieldMeta("online", "Boolean"), ActionFieldMeta("collectedBonuses", "Any?"), ActionFieldMeta("informers", "Any?"))), + ActionMeta("ModerationArchiveUserInfo", ModerationArchiveUserInfo::class, listOf(ActionFieldMeta("userId", "Long"), ActionFieldMeta("userName", "Any?"), ActionFieldMeta("rankIndex", "Int"), ActionFieldMeta("userIP", "String"), ActionFieldMeta("kills", "Int"), ActionFieldMeta("deaths", "Int"), ActionFieldMeta("enterBattleTime", "Int"), ActionFieldMeta("leaveBattleTime", "Int"), ActionFieldMeta("collectedBonuses", "Any?"), ActionFieldMeta("suspicious", "Boolean"), ActionFieldMeta("suspiciousByIp", "Boolean"), ActionFieldMeta("informers", "Any?"))), + ActionMeta("ModerationBonusRecord", ModerationBonusRecord::class, listOf(ActionFieldMeta("name", "Any?"), ActionFieldMeta("value", "Int"))), + ActionMeta("BattleFormat", BattleFormat::class, listOf(ActionFieldMeta("id", "String"), ActionFieldMeta("name", "String"), ActionFieldMeta("description", "String"), ActionFieldMeta("optionsToShow", "Any?"), ActionFieldMeta("optionsDefaults", "Any?"))), + ActionMeta("BattlesSelect", BattlesSelect::class, listOf(ActionFieldMeta("loaded", "Any?"), ActionFieldMeta("battles", "Any?"), ActionFieldMeta("score", "Any?"), ActionFieldMeta("users", "Any?"), ActionFieldMeta("creators", "Any?"), ActionFieldMeta("usersTeam", "Any?"), ActionFieldMeta("userScore", "Any?"), ActionFieldMeta("userSuspicion", "Any?"), ActionFieldMeta("userSuspicionByIp", "Any?"), ActionFieldMeta("roundEndTimes", "Any?"), ActionFieldMeta("alreadySeeBattleInfo", "Any?"), ActionFieldMeta("fund", "Any?"), ActionFieldMeta("proLimit", "Any?"), ActionFieldMeta("isLimitReached", "Any?"), ActionFieldMeta("reEnterProtectBattleId", "Any?"))), + ActionMeta("BattleParams", BattleParams::class, listOf(ActionFieldMeta("map", "Long"), ActionFieldMeta("battleMode", "Int"), ActionFieldMeta("format", "Any?"), ActionFieldMeta("limits", "Any?"), ActionFieldMeta("mapId", "Long"), ActionFieldMeta("maxPeopleCount", "Int"), ActionFieldMeta("name", "String"), ActionFieldMeta("parkourMode", "Boolean"), ActionFieldMeta("valuableBattle", "Any?"), ActionFieldMeta("privateBattle", "Any?"), ActionFieldMeta("proBattle", "Boolean"), ActionFieldMeta("rankRange", "Any?"), ActionFieldMeta("theme", "Int"), ActionFieldMeta("suspicionLevel", "Any?"), ActionFieldMeta("options", "Any?"))), + ActionMeta("AddBattle", AddBattle::class, listOf(ActionFieldMeta("battleId", "Long"), ActionFieldMeta("creatorId", "Long"), ActionFieldMeta("params", "BattleCreateParameters"), ActionFieldMeta("suspicionLevel", "String"))), + ActionMeta("RemoveBattle", RemoveBattle::class, listOf(ActionFieldMeta("battleId", "Long"))), + ActionMeta("ChangeName", ChangeName::class, listOf(ActionFieldMeta("battleId", "Any?"), ActionFieldMeta("name", "Any?"))), + ActionMeta("UpdateSuspicion", UpdateSuspicion::class, listOf(ActionFieldMeta("battleId", "Any?"), ActionFieldMeta("suspicionLevel", "Any?"))), + ActionMeta("UpdateTeamScore", UpdateTeamScore::class, listOf(ActionFieldMeta("battleId", "Long"), ActionFieldMeta("team", "String"), ActionFieldMeta("score", "Int"))), + ActionMeta("AddUsers", AddUsers::class, listOf(ActionFieldMeta("battleId", "Long"), ActionFieldMeta("users", "List"), ActionFieldMeta("team", "String"))), + ActionMeta("AddUser", AddUser::class, listOf(ActionFieldMeta("battleId", "Long"), ActionFieldMeta("infoUser", "BattleInfoUser"), ActionFieldMeta("team", "String"))), + ActionMeta("RemoveUser", RemoveUser::class, listOf(ActionFieldMeta("battleId", "Long"), ActionFieldMeta("userId", "Long"))), + ActionMeta("UpdateUserScore", UpdateUserScore::class, listOf(ActionFieldMeta("battleId", "Long"), ActionFieldMeta("userId", "Long"), ActionFieldMeta("score", "Int"))), + ActionMeta("UpdateFund", UpdateFund::class, listOf(ActionFieldMeta("battleId", "Long"), ActionFieldMeta("fund", "Int"))), + ActionMeta("UpdateUserSuspicion", UpdateUserSuspicion::class, listOf(ActionFieldMeta("battleId", "Any?"), ActionFieldMeta("userId", "Any?"), ActionFieldMeta("suspicious", "Any?"), ActionFieldMeta("suspiciousByIp", "Any?"))), + ActionMeta("InitProBattleRewardLimit", InitProBattleRewardLimit::class, listOf(ActionFieldMeta("proLimit", "ProBattleRewardLimitData"))), + ActionMeta("RoundStarted", RoundStarted::class, listOf(ActionFieldMeta("battleId", "Long"), ActionFieldMeta("timeLeftInSec", "Int"))), + ActionMeta("SwapTeam", SwapTeam::class, listOf(ActionFieldMeta("battleId", "Long"))), + ActionMeta("RoundFinish", RoundFinish::class, listOf(ActionFieldMeta("battleId", "Long"))), + ActionMeta("EnterToBattleInfo", EnterToBattleInfo::class, listOf(ActionFieldMeta("battleId", "Any?"))), + ActionMeta("LimitReached", LimitReached::class, listOf(ActionFieldMeta("isLimitReached", "Boolean"))), + ActionMeta("SetReEnterProtectBattleId", SetReEnterProtectBattleId::class, listOf(ActionFieldMeta("battleId", "Any?"))), + ActionMeta("Maps", Maps::class, listOf(ActionFieldMeta("mapDescriptionsById", "Any?"))), + ActionMeta("MapInfo", MapInfo::class, listOf(ActionFieldMeta("id", "Any?"), ActionFieldMeta("defaultTheme", "Int"), ActionFieldMeta("enabled", "Boolean"), ActionFieldMeta("mapId", "Long"), ActionFieldMeta("mapName", "Any?"), ActionFieldMeta("matchmakingMark", "Boolean"), ActionFieldMeta("maxPeople", "Int"), ActionFieldMeta("preview", "Any?"), ActionFieldMeta("rankLimit", "Any?"), ActionFieldMeta("supportedModes", "Any?"), ActionFieldMeta("theme", "Int"))), + ActionMeta("MapDescription", MapDescription::class, listOf(ActionFieldMeta("mapId", "Long"), ActionFieldMeta("name", "Any?"), ActionFieldMeta("defaultTheme", "Int"), ActionFieldMeta("themes", "Any?"))), + ActionMeta("AddMap", AddMap::class, listOf(ActionFieldMeta("id", "Long"), ActionFieldMeta("info", "MapInfoCC"))), + ActionMeta("Spectator", Spectator::class, listOf(ActionFieldMeta("isSpectator", "Any?"), ActionFieldMeta("spectatorHudLayout", "Any?"), ActionFieldMeta("spectators", "Any?"), ActionFieldMeta("spectatorsListVisible", "Any?"))), + ActionMeta("SetSpectator", SetSpectator::class, listOf(ActionFieldMeta("spectatorMode", "Boolean"))), + ActionMeta("UpdateHudLayout", UpdateHudLayout::class, listOf(ActionFieldMeta("hudLayout", "Any?"))), + ActionMeta("HudLayout", HudLayout::class, listOf(ActionFieldMeta("chatVisible", "Any?"), ActionFieldMeta("battleMessagesVisible", "Any?"), ActionFieldMeta("scoreVisible", "Any?"), ActionFieldMeta("buttonsVisible", "Any?"), ActionFieldMeta("fpsVisible", "Any?"), ActionFieldMeta("battleLogVisible", "Any?"), ActionFieldMeta("gameModeMarkersVisible", "Any?"), ActionFieldMeta("fundVisible", "Any?"), ActionFieldMeta("nicknamesVisible", "Any?"), ActionFieldMeta("healthVisible", "Any?"), ActionFieldMeta("effectsVisible", "Any?"), ActionFieldMeta("tankVelocityVisible", "Any?"), ActionFieldMeta("suspectMarkersVisible", "Any?"), ActionFieldMeta("spectatorMenuOpened", "Any?"), ActionFieldMeta("userTitlesVisibilityDistance", "Any?"))), + ActionMeta("SpectatorInfo", SpectatorInfo::class, listOf(ActionFieldMeta("userId", "Long"), ActionFieldMeta("uid", "Any?"), ActionFieldMeta("inSupportGroup", "Boolean"), ActionFieldMeta("inPunishersGroup", "Boolean"))), + ActionMeta("BattleResult", BattleResult::class, listOf(ActionFieldMeta("hasBattleResult", "Any?"), ActionFieldMeta("rewards", "Any?"), ActionFieldMeta("initialCurrentUserXP", "Any?"), ActionFieldMeta("increasedReward", "Any?"), ActionFieldMeta("simpleReward", "Any?"))), + ActionMeta("SetHasBattleResult", SetHasBattleResult::class, listOf(ActionFieldMeta("hasBattleResult", "Boolean"))), + ActionMeta("SetRewards", SetRewards::class, listOf(ActionFieldMeta("rewards", "Any?"))), + ActionMeta("DoInit", DoInit::class, listOf(ActionFieldMeta("initialCurrentUserXP", "Any?"))), + ActionMeta("UserBattleStat", UserBattleStat::class, listOf(ActionFieldMeta("id", "Long"), ActionFieldMeta("uid", "Any?"), ActionFieldMeta("teamRelation", "Any?"), ActionFieldMeta("tankParts", "String"), ActionFieldMeta("gearScore", "Any?"), ActionFieldMeta("score", "Int"), ActionFieldMeta("deaths", "Int"), ActionFieldMeta("kills", "Int"), ActionFieldMeta("crystals", "Any?"), ActionFieldMeta("stars", "Int"), ActionFieldMeta("friend", "Boolean"), ActionFieldMeta("rank", "Any?"), ActionFieldMeta("clanTag", "Any?"), ActionFieldMeta("hasPremium", "Any?"), ActionFieldMeta("resistance", "Any?"), ActionFieldMeta("kd", "Any?"), ActionFieldMeta("isClanMate", "Any?"), ActionFieldMeta("isLocalUser", "Any?"), ActionFieldMeta("isFriend", "Any?"))), + ActionMeta("BattleStatistics", BattleStatistics::class, listOf(ActionFieldMeta("battleId", "Any?"), ActionFieldMeta("mapName", "Any?"), ActionFieldMeta("mode", "Any?"), ActionFieldMeta("isMMBattle", "Any?"), ActionFieldMeta("isParkourMode", "Any?"), ActionFieldMeta("isTutorial", "Any?"), ActionFieldMeta("valuableBattle", "Any?"), ActionFieldMeta("isReArmorEnabled", "Any?"), ActionFieldMeta("rankRange", "Any?"), ActionFieldMeta("isContinueBattle", "Boolean"), ActionFieldMeta("roundRestartTime", "Any?"), ActionFieldMeta("score", "Any?"), ActionFieldMeta("fund", "Any?"), ActionFieldMeta("gameModeLevelsCount", "Any?"), ActionFieldMeta("flagOrBallOwner", "Any?"), ActionFieldMeta("statVisible", "Boolean"), ActionFieldMeta("roundStarted", "Boolean"), ActionFieldMeta("scoreLimit", "Any?"), ActionFieldMeta("menuVisible", "Boolean"), ActionFieldMeta("remainingTimeInSec", "Any?"), ActionFieldMeta("battleLoaded", "Boolean"), ActionFieldMeta("options", "Any?"), ActionFieldMeta("customBattleName", "Any?"), ActionFieldMeta("battleFormat", "Any?"), ActionFieldMeta("isMatchmakingMark", "Any?"), ActionFieldMeta("mapNameWithoutMode", "Any?"), ActionFieldMeta("displayClientInfo", "Any?"))), + ActionMeta("UpdateScore", UpdateScore::class, listOf(ActionFieldMeta("team", "String"), ActionFieldMeta("score", "Int"))), + ActionMeta("SetBattleMode", SetBattleMode::class, listOf(ActionFieldMeta("mode", "String"))), + ActionMeta("SetReArmor", SetReArmor::class, listOf(ActionFieldMeta("enabled", "Boolean"))), + ActionMeta("SetRankRange", SetRankRange::class, listOf(ActionFieldMeta("rankRange", "Range"))), + ActionMeta("SetRoundRestartTime", SetRoundRestartTime::class, listOf(ActionFieldMeta("time", "Any?"))), + ActionMeta("SetRemainingTime", SetRemainingTime::class, listOf(ActionFieldMeta("time", "Any?"))), + ActionMeta("SetFlagOrBallOwner", SetFlagOrBallOwner::class, listOf(ActionFieldMeta("ownerUserId", "Long"))), + ActionMeta("ExitFromBattleAndGoToLobby", ExitFromBattleAndGoToLobby::class, listOf(ActionFieldMeta("isBattleFinish", "Boolean"))), + ActionMeta("ExitFromBattle", ExitFromBattle::class, listOf(ActionFieldMeta("isBattleFinish", "Boolean"))), + ActionMeta("SetDisplayClientInfo", SetDisplayClientInfo::class, listOf(ActionFieldMeta("visible", "Boolean"))), + ActionMeta("InitBattleModeWithLevels", InitBattleModeWithLevels::class, listOf(ActionFieldMeta("levelsCount", "Any?"))), + ActionMeta("BattleUsers", BattleUsers::class, listOf(ActionFieldMeta("onlineUsers", "Any?"), ActionFieldMeta("uids", "Any?"), ActionFieldMeta("ranks", "Any?"), ActionFieldMeta("clanTags", "Any?"), ActionFieldMeta("usersPremium", "Any?"), ActionFieldMeta("teams", "Any?"), ActionFieldMeta("stats", "Any?"), ActionFieldMeta("gearScores", "Any?"), ActionFieldMeta("tankInfo", "Any?"), ActionFieldMeta("tankResistance", "Any?"), ActionFieldMeta("tankLevels", "Any?"), ActionFieldMeta("suspiciousUsers", "Any?"), ActionFieldMeta("suspiciousByIpUsers", "Any?"))), + ActionMeta("UpdateUserRank", UpdateUserRank::class, listOf(ActionFieldMeta("id", "Any?"), ActionFieldMeta("rank", "Any?"))), + ActionMeta("UpdateUsersClanTag", UpdateUsersClanTag::class, listOf(ActionFieldMeta("clans", "Any?"))), + ActionMeta("UpdateUserSuspiciousState", UpdateUserSuspiciousState::class, listOf(ActionFieldMeta("id", "Any?"), ActionFieldMeta("suspicious", "Any?"), ActionFieldMeta("suspiciousByIp", "Any?"))), + ActionMeta("InitSuspiciousState", InitSuspiciousState::class, listOf(ActionFieldMeta("suspiciousUserIds", "Any?"), ActionFieldMeta("suspiciousByIpUserIds", "Any?"))), + ActionMeta("InitUserLevels", InitUserLevels::class, listOf(ActionFieldMeta("levels", "Any?"))), + ActionMeta("UpdateUserLevel", UpdateUserLevel::class, listOf(ActionFieldMeta("userId", "Any?"), ActionFieldMeta("level", "Any?"))), + ActionMeta("UpdateUserScoreKillsAndDeaths", UpdateUserScoreKillsAndDeaths::class, listOf(ActionFieldMeta("userStat", "UserStat"))), + ActionMeta("UpdateUsersScoreKillsAndDeaths", UpdateUsersScoreKillsAndDeaths::class, listOf(ActionFieldMeta("userScores", "Any?"))), + ActionMeta("SetGearScore", SetGearScore::class, listOf(ActionFieldMeta("user", "Long"), ActionFieldMeta("score", "Int"))), + ActionMeta("SetTankInfo", SetTankInfo::class, listOf(ActionFieldMeta("user", "Long"), ActionFieldMeta("info", "TankInfoCC"))), + ActionMeta("RemoveTankInfo", RemoveTankInfo::class, listOf(ActionFieldMeta("user", "Long"))), + ActionMeta("SetTankResistance", SetTankResistance::class, listOf(ActionFieldMeta("user", "Long"), ActionFieldMeta("tankResistance", "List"))), + ActionMeta("CaptchaState", CaptchaState::class, listOf(ActionFieldMeta("useFake", "Any?"), ActionFieldMeta("enabledLocations", "Any?"), ActionFieldMeta("verifiedLocations", "Any?"), ActionFieldMeta("locationsToReset", "Any?"))), + ActionMeta("SetLocations", SetLocations::class, listOf(ActionFieldMeta("captchaLocations", "Any?"))), + ActionMeta("GetNew", GetNew::class, listOf(ActionFieldMeta("location", "Any?"))), + ActionMeta("LocationsUpdated", LocationsUpdated::class, listOf(ActionFieldMeta("location", "Any?"))), + ActionMeta("ChatState", ChatState::class, listOf(ActionFieldMeta("open", "Any?"), ActionFieldMeta("currentChannel", "Any?"), ActionFieldMeta("contextMenuData", "Any?"), ActionFieldMeta("chatMessage", "Any?"), ActionFieldMeta("selectedUid", "Any?"), ActionFieldMeta("config", "Any?"), ActionFieldMeta("messagesByChannel", "Any?"), ActionFieldMeta("isShowKeyboard", "Any?"), ActionFieldMeta("isNeedToHideKeyboard", "Any?"), ActionFieldMeta("isNeedScroll", "Any?"), ActionFieldMeta("haveNewDirectMessages", "Any?"), ActionFieldMeta("symbolCost", "Any?"), ActionFieldMeta("enterCost", "Any?"), ActionFieldMeta("lastMessageTime", "Any?"), ActionFieldMeta("isFirstChannelMessagesLoad", "Any?"), ActionFieldMeta("ignoredUserIds", "Any?"))), + ActionMeta("ChatMessageAndAddress", ChatMessageAndAddress::class, listOf(ActionFieldMeta("message", "Any?"), ActionFieldMeta("address", "Any?"))), + ActionMeta("ChatAddress", ChatAddress::class, listOf(ActionFieldMeta("uid", "Any?"), ActionFieldMeta("mode", "Any?"))), + ActionMeta("ChatUser", ChatUser::class, listOf(ActionFieldMeta("userId", "Long"), ActionFieldMeta("uid", "Any?"), ActionFieldMeta("rank", "Int"), ActionFieldMeta("hasPremium", "Boolean"), ActionFieldMeta("chatModeratorLevel", "Int"), ActionFieldMeta("clanTag", "Any?"))), + ActionMeta("Configure", Configure::class, listOf(ActionFieldMeta("config", "Any?"))), + ActionMeta("ShowContextMenu", ShowContextMenu::class, listOf(ActionFieldMeta("contextMenuData", "Any?"))), + ActionMeta("CleanUsersMessage", CleanUsersMessage::class, listOf(ActionFieldMeta("uid", "Any?"))), + ActionMeta("UpdateUsers", UpdateUsers::class, listOf(ActionFieldMeta("userIds", "Any?"))), + ActionMeta("AddMessages", AddMessages::class, listOf(ActionFieldMeta("messages", "List"))), + ActionMeta("SetMessages", SetMessages::class, listOf(ActionFieldMeta("messages", "Any?"))), + ActionMeta("SaveChatMessage", SaveChatMessage::class, listOf(ActionFieldMeta("message", "Any?"))), + ActionMeta("SendMessage", SendMessage::class, listOf(ActionFieldMeta("targetUserName", "Any?"), ActionFieldMeta("addressMode", "Any?"), ActionFieldMeta("message", "Any?"))), + ActionMeta("SendMessageToServer", SendMessageToServer::class, listOf(ActionFieldMeta("targetUserName", "Any?"), ActionFieldMeta("addressMode", "Any?"), ActionFieldMeta("message", "Any?"))), + ActionMeta("ChangeChannel", ChangeChannel::class, listOf(ActionFieldMeta("channel", "String"))), + ActionMeta("ChangeChannelOnServer", ChangeChannelOnServer::class, listOf(ActionFieldMeta("channel", "Any?"))), + ActionMeta("UpdateTypingSpeedAntifloodParams", UpdateTypingSpeedAntifloodParams::class, listOf(ActionFieldMeta("symbolCost", "Int"), ActionFieldMeta("enterCost", "Int"))), + ActionMeta("SetSelectedUid", SetSelectedUid::class, listOf(ActionFieldMeta("selectedUid", "String"))), + ActionMeta("IgnoreUserMessages", IgnoreUserMessages::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("ShowUserMessages", ShowUserMessages::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("Clan", Clan::class, listOf(ActionFieldMeta("currentClanId", "Any?"), ActionFieldMeta("creatorId", "Any?"), ActionFieldMeta("name", "Any?"), ActionFieldMeta("createTime", "Any?"), ActionFieldMeta("description", "Any?"), ActionFieldMeta("tag", "Any?"), ActionFieldMeta("intermediateRequestsEnabled", "Any?"), ActionFieldMeta("intermediateMinRankIndex", "Any?"), ActionFieldMeta("intermediateDescription", "Any?"), ActionFieldMeta("rulesConfirmed", "Any?"), ActionFieldMeta("hasLicense", "Any?"), ActionFieldMeta("hasClan", "Boolean"), ActionFieldMeta("isLoaded", "Any?"), ActionFieldMeta("incomingUsers", "Any?"), ActionFieldMeta("outgoingUsers", "Any?"), ActionFieldMeta("clanUserValidation", "Any?"), ActionFieldMeta("clanNameNameValidation", "Any?"), ActionFieldMeta("clanTagNameValidation", "Any?"), ActionFieldMeta("clanSearchValidation", "Any?"), ActionFieldMeta("clanAcceptedMembers", "Any?"), ActionFieldMeta("clanAcceptedMembersNew", "Any?"), ActionFieldMeta("minRankForCreateClan", "Int"), ActionFieldMeta("clanMembersStatistics", "Any?"), ActionFieldMeta("outgoingClans", "Any?"), ActionFieldMeta("incomingClans", "Any?"), ActionFieldMeta("restrictionToJoinInClan", "Any?"), ActionFieldMeta("banned", "Boolean"), ActionFieldMeta("banReason", "Any?"), ActionFieldMeta("newIncomingClans", "Any?"), ActionFieldMeta("newIncoming", "Any?"), ActionFieldMeta("notificationsCount", "Any?"), ActionFieldMeta("incomingUserNotificationCount", "Any?"), ActionFieldMeta("acceptedUserNotificationCount", "Any?"), ActionFieldMeta("clanInviteNotificationCount", "Any?"), ActionFieldMeta("clanModalVisible", "Any?"), ActionFieldMeta("clanEditPrice", "Any?"))), + ActionMeta("Kick", Kick::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("MembersFetched", MembersFetched::class, listOf(ActionFieldMeta("users", "Any?"))), + ActionMeta("AddUsersToAccepted", AddUsersToAccepted::class, listOf(ActionFieldMeta("usersId", "List"))), + ActionMeta("RemoveUserFromAccepted", RemoveUserFromAccepted::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("AddUsersToNewAccepted", AddUsersToNewAccepted::class, listOf(ActionFieldMeta("clanId", "Int"), ActionFieldMeta("userIds", "Any?"))), + ActionMeta("AcceptedUserViewed", AcceptedUserViewed::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("RemoveUsersFromNewAccepted", RemoveUsersFromNewAccepted::class, listOf(ActionFieldMeta("clanId", "Any?"), ActionFieldMeta("userId", "Any?"))), + ActionMeta("SetMinRankForCreate", SetMinRankForCreate::class, listOf(ActionFieldMeta("rankIndex", "Int"))), + ActionMeta("ClanInfoLoaded", ClanInfoLoaded::class, listOf(ActionFieldMeta("info", "Any?"))), + ActionMeta("IncomingAdded", IncomingAdded::class, listOf(ActionFieldMeta("incomingUsers", "Any?"))), + ActionMeta("IncomingRemoved", IncomingRemoved::class, listOf(ActionFieldMeta("incomingUsers", "Any?"))), + ActionMeta("OutgoingAdded", OutgoingAdded::class, listOf(ActionFieldMeta("outgoingUsers", "Any?"))), + ActionMeta("OutgoingRemoved", OutgoingRemoved::class, listOf(ActionFieldMeta("outgoingUser", "Any?"))), + ActionMeta("Accept", Accept::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("Reject", Reject::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("Revoke", Revoke::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("RevokeClanRequest", RevokeClanRequest::class, listOf(ActionFieldMeta("clan", "Any?"))), + ActionMeta("CheckUid", CheckUid::class, listOf(ActionFieldMeta("uid", "Any?"))), + ActionMeta("AddByName", AddByName::class, listOf(ActionFieldMeta("name", "Any?"))), + ActionMeta("UpdateValidation", UpdateValidation::class, listOf(ActionFieldMeta("state", "Any?"))), + ActionMeta("UpdateClanNameValidation", UpdateClanNameValidation::class, listOf(ActionFieldMeta("state", "Any?"))), + ActionMeta("UpdateClanTagValidation", UpdateClanTagValidation::class, listOf(ActionFieldMeta("state", "Any?"))), + ActionMeta("UpdateClanSearchValidation", UpdateClanSearchValidation::class, listOf(ActionFieldMeta("state", "Any?"))), + ActionMeta("CreateClan", CreateClan::class, listOf(ActionFieldMeta("name", "Any?"), ActionFieldMeta("tag", "Any?"))), + ActionMeta("ValidateClanName", ValidateClanName::class, listOf(ActionFieldMeta("name", "Any?"))), + ActionMeta("ValidateClanTag", ValidateClanTag::class, listOf(ActionFieldMeta("tag", "Any?"))), + ActionMeta("UpdateClanLicense", UpdateClanLicense::class, listOf(ActionFieldMeta("hasLicense", "Boolean"))), + ActionMeta("UpdateHasClan", UpdateHasClan::class, listOf(ActionFieldMeta("hasClan", "Boolean"))), + ActionMeta("ClanLoaded", ClanLoaded::class, listOf(ActionFieldMeta("isLoaded", "Boolean"))), + ActionMeta("AddOutgoingClan", AddOutgoingClan::class, listOf(ActionFieldMeta("clanId", "Any?"))), + ActionMeta("RemoveOutgoingClan", RemoveOutgoingClan::class, listOf(ActionFieldMeta("clanId", "Any?"))), + ActionMeta("AddIncomingClan", AddIncomingClan::class, listOf(ActionFieldMeta("clanIds", "Any?"))), + ActionMeta("RemoveIncomingClan", RemoveIncomingClan::class, listOf(ActionFieldMeta("clanId", "Any?"))), + ActionMeta("AddNewIncomingClan", AddNewIncomingClan::class, listOf(ActionFieldMeta("clanIds", "Any?"))), + ActionMeta("RemoveNewIncomingClan", RemoveNewIncomingClan::class, listOf(ActionFieldMeta("clanId", "Any?"))), + ActionMeta("IncomingClanViewed", IncomingClanViewed::class, listOf(ActionFieldMeta("clanId", "Any?"))), + ActionMeta("SendRequestToClanByName", SendRequestToClanByName::class, listOf(ActionFieldMeta("name", "Any?"))), + ActionMeta("SendRequestToClanByTag", SendRequestToClanByTag::class, listOf(ActionFieldMeta("tag", "Any?"))), + ActionMeta("RejectClan", RejectClan::class, listOf(ActionFieldMeta("clan", "Any?"))), + ActionMeta("AcceptClan", AcceptClan::class, listOf(ActionFieldMeta("clan", "Any?"))), + ActionMeta("UpdateTimeToJoinRestriction", UpdateTimeToJoinRestriction::class, listOf(ActionFieldMeta("restrictionTimeJoinClanInSec", "Int"))), + ActionMeta("SetPermission", SetPermission::class, listOf(ActionFieldMeta("clanId", "Any?"), ActionFieldMeta("userId", "Any?"), ActionFieldMeta("permission", "Any?"))), + ActionMeta("MinimalRankChanged", MinimalRankChanged::class, listOf(ActionFieldMeta("clanId", "Any?"), ActionFieldMeta("rankIndex", "Any?"))), + ActionMeta("RecruitmentChanged", RecruitmentChanged::class, listOf(ActionFieldMeta("clanId", "Any?"), ActionFieldMeta("enabled", "Any?"))), + ActionMeta("ClanBanned", ClanBanned::class, listOf(ActionFieldMeta("reason", "Any?"))), + ActionMeta("ShowForeignClan", ShowForeignClan::class, listOf(ActionFieldMeta("clanId", "Any?"))), + ActionMeta("AddNewIncoming", AddNewIncoming::class, listOf(ActionFieldMeta("newIncoming", "Any?"))), + ActionMeta("RemoveNewIncoming", RemoveNewIncoming::class, listOf(ActionFieldMeta("newIncoming", "Any?"))), + ActionMeta("IncomingUserViewed", IncomingUserViewed::class, listOf(ActionFieldMeta("newIncoming", "Any?"))), + ActionMeta("NewIncomingUserNotification", NewIncomingUserNotification::class, listOf(ActionFieldMeta("count", "Int"))), + ActionMeta("NewAcceptedUserNotification", NewAcceptedUserNotification::class, listOf(ActionFieldMeta("count", "Int"))), + ActionMeta("NewClanInviteNotification", NewClanInviteNotification::class, listOf(ActionFieldMeta("count", "Int"))), + ActionMeta("ClanModalVisible", ClanModalVisible::class, listOf(ActionFieldMeta("visible", "Boolean"))), + ActionMeta("SetClanEditPrice", SetClanEditPrice::class, listOf(ActionFieldMeta("clanEditPrice", "ClanEditPriceCC"))), + ActionMeta("UpdateClan", UpdateClan::class, listOf(ActionFieldMeta("clanId", "Any?"), ActionFieldMeta("name", "Any?"), ActionFieldMeta("tag", "Any?"), ActionFieldMeta("description", "Any?"))), + ActionMeta("BuyAdditionalPlace", BuyAdditionalPlace::class, listOf(ActionFieldMeta("clanId", "Any?"))), + ActionMeta("MakeUserClanOwner", MakeUserClanOwner::class, listOf(ActionFieldMeta("clanId", "Any?"), ActionFieldMeta("userId", "Any?"))), + ActionMeta("ClanUserInfo", ClanUserInfo::class, listOf(ActionFieldMeta("users", "Any?"))), + ActionMeta("Loaded", Loaded::class, listOf(ActionFieldMeta("users", "Map"))), + ActionMeta("ClansStorage", ClansStorage::class, listOf(ActionFieldMeta("clans", "Any?"), ActionFieldMeta("foreignClanId", "Any?"), ActionFieldMeta("foreignClan", "Any?"))), + ActionMeta("ClanInfo", ClanInfo::class, listOf(ActionFieldMeta("id", "Any?"), ActionFieldMeta("name", "Any?"), ActionFieldMeta("tag", "Any?"), ActionFieldMeta("description", "String"), ActionFieldMeta("minRankIndexForAddClan", "Int"), ActionFieldMeta("incomingRequestEnabled", "Boolean"), ActionFieldMeta("creatorId", "Long"), ActionFieldMeta("createTime", "Long"), ActionFieldMeta("users", "Any?"), ActionFieldMeta("gameObject", "Any?"), ActionFieldMeta("maxCharactersDescription", "Int"), ActionFieldMeta("blocked", "Boolean"), ActionFieldMeta("reasonForBlocking", "String"), ActionFieldMeta("self", "Boolean"), ActionFieldMeta("maxMembers", "Int"), ActionFieldMeta("newUsers", "Any?"))), + ActionMeta("ClanUnloaded", ClanUnloaded::class, listOf(ActionFieldMeta("clanId", "Any?"))), + ActionMeta("ForeignClanLoaded", ForeignClanLoaded::class, listOf(ActionFieldMeta("clan", "Any?"))), + ActionMeta("Convert", Convert::class, listOf(ActionFieldMeta("amount", "Any?"))), + ActionMeta("CreatorTagState", CreatorTagState::class, listOf(ActionFieldMeta("creatorTag", "Any?"), ActionFieldMeta("creatorTags", "Any?"))), + ActionMeta("SetCreatorTags", SetCreatorTags::class, listOf(ActionFieldMeta("creatorTags", "Any?"))), + ActionMeta("SetCreatorTag", SetCreatorTag::class, listOf(ActionFieldMeta("creatorTag", "Any?"))), + ActionMeta("SetAttachedCreatorTag", SetAttachedCreatorTag::class, listOf(ActionFieldMeta("creatorTag", "String"))), + ActionMeta("PurchaseDialogState", PurchaseDialogState::class, listOf(ActionFieldMeta("withEmail", "Any?"), ActionFieldMeta("goods", "Any?"), ActionFieldMeta("emailStatus", "Any?"), ActionFieldMeta("time", "Any?"))), + ActionMeta("Confirm", Confirm::class, listOf(ActionFieldMeta("data", "Any?"))), + ActionMeta("ConfirmEmail", ConfirmEmail::class, listOf(ActionFieldMeta("data", "Any?"), ActionFieldMeta("email", "Any?"))), + ActionMeta("ValidateEmail", ValidateEmail::class, listOf(ActionFieldMeta("email", "Boolean"))), + ActionMeta("ChangeEmailStatus", ChangeEmailStatus::class, listOf(ActionFieldMeta("status", "Any?"))), + ActionMeta("SuccessfullyPurchase", SuccessfullyPurchase::class, listOf(ActionFieldMeta("goods", "Any?"), ActionFieldMeta("withEmail", "Boolean"), ActionFieldMeta("time", "Long"))), + ActionMeta("RankUpDialogState", RankUpDialogState::class, listOf(ActionFieldMeta("availableItems", "Any?"))), + ActionMeta("GarageItemInfoWithResistance", GarageItemInfoWithResistance::class, listOf(ActionFieldMeta("item", "Any?"), ActionFieldMeta("resistances", "Any?"), ActionFieldMeta("background", "Any?"))), + ActionMeta("ShowAvailableItems", ShowAvailableItems::class, listOf(ActionFieldMeta("items", "Any?"))), + ActionMeta("SocialNetworkPair", SocialNetworkPair::class, listOf(ActionFieldMeta("uid", "Any?"), ActionFieldMeta("socialNetworkId", "Any?"))), + ActionMeta("EntranceState", EntranceState::class, listOf(ActionFieldMeta("showSocialNetworks", "Any?"), ActionFieldMeta("controlsForChina", "Any?"), ActionFieldMeta("isRunningInChinaDataCenter", "Any?"), ActionFieldMeta("isRunningInChinaPartners", "Any?"), ActionFieldMeta("isAgeWarnShow", "Any?"), ActionFieldMeta("authorizedByChinaSdkToken", "Any?"), ActionFieldMeta("isClassic", "Any?"), ActionFieldMeta("authorizedByClassicEarlyAccessToken", "Any?"))), + ActionMeta("InviteState", InviteState::class, listOf(ActionFieldMeta("isInviteNeed", "Any?"), ActionFieldMeta("invite", "Any?"), ActionFieldMeta("status", "Any?"), ActionFieldMeta("existsUid", "Any?"), ActionFieldMeta("inviteAccepted", "Any?"))), + ActionMeta("SetInviteNeed", SetInviteNeed::class, listOf(ActionFieldMeta("inviteNeed", "Boolean"))), + ActionMeta("ApplyInvite", ApplyInvite::class, listOf(ActionFieldMeta("invite", "Any?"))), + ActionMeta("LoginByPasswordState", LoginByPasswordState::class, listOf(ActionFieldMeta("login", "Any?"), ActionFieldMeta("password", "Any?"), ActionFieldMeta("rememberMe", "Any?"), ActionFieldMeta("status", "Any?"), ActionFieldMeta("onlyLogin", "Any?"), ActionFieldMeta("incorrectLogin2FA", "Any?"), ActionFieldMeta("requestsNumber2FA", "Any?"))), + ActionMeta("SetLogin", SetLogin::class, listOf(ActionFieldMeta("login", "Any?"))), + ActionMeta("SetPassword", SetPassword::class, listOf(ActionFieldMeta("password", "Any?"))), + ActionMeta("SetRememberMe", SetRememberMe::class, listOf(ActionFieldMeta("rememberMe", "Boolean"))), + ActionMeta("SetStatus", SetStatus::class, listOf(ActionFieldMeta("byPasswordStatus", "Any?"))), + ActionMeta("LoginViaHash", LoginViaHash::class, listOf(ActionFieldMeta("hash", "Any?"))), + ActionMeta("LoginViaSingleHash", LoginViaSingleHash::class, listOf(ActionFieldMeta("hash", "Any?"))), + ActionMeta("Login2FA", Login2FA::class, listOf(ActionFieldMeta("code", "Any?"))), + ActionMeta("InternalPartnersLogin2FA", InternalPartnersLogin2FA::class, listOf(ActionFieldMeta("code", "Any?"))), + ActionMeta("ExternalPartnersLogin2FA", ExternalPartnersLogin2FA::class, listOf(ActionFieldMeta("code", "Any?"))), + ActionMeta("IncorrectLogin2FA", IncorrectLogin2FA::class, listOf(ActionFieldMeta("incorrectLogin2FA", "Boolean"))), + ActionMeta("RequestsNumber2FA", RequestsNumber2FA::class, listOf(ActionFieldMeta("number", "Int"))), + ActionMeta("SendUsersRestorePasswordLink", SendUsersRestorePasswordLink::class, listOf(ActionFieldMeta("email", "Any?"))), + ActionMeta("SetPasswordChangeHash", SetPasswordChangeHash::class, listOf(ActionFieldMeta("hash", "Any?"))), + ActionMeta("StartEmailAndPasswordChangeProcess", StartEmailAndPasswordChangeProcess::class, listOf(ActionFieldMeta("hash", "Any?"))), + ActionMeta("ChangePasswordAndEmail", ChangePasswordAndEmail::class, listOf(ActionFieldMeta("hash", "Any?"), ActionFieldMeta("password", "Any?"), ActionFieldMeta("email", "Any?"))), + ActionMeta("ShowEmailAndPasswordChangeDialog", ShowEmailAndPasswordChangeDialog::class, listOf(ActionFieldMeta("email", "Any?"), ActionFieldMeta("uid", "Any?"), ActionFieldMeta("reason", "Any?"))), + ActionMeta("PasswordChangeState", PasswordChangeState::class, listOf(ActionFieldMeta("hash", "Any?"), ActionFieldMeta("uid", "Any?"), ActionFieldMeta("email", "Any?"))), + ActionMeta("Friends", Friends::class, listOf(ActionFieldMeta("userSearchState", "Any?"), ActionFieldMeta("contextMenuUser", "Any?"), ActionFieldMeta("acceptedLimit", "Any?"), ActionFieldMeta("incomingLimit", "Any?"), ActionFieldMeta("accepted", "Any?"), ActionFieldMeta("newAccepted", "Any?"), ActionFieldMeta("incoming", "Any?"), ActionFieldMeta("newIncoming", "Any?"))), + ActionMeta("ChangeFriendAddFindState", ChangeFriendAddFindState::class, listOf(ActionFieldMeta("state", "Any?"))), + ActionMeta("AddFriend", AddFriend::class, listOf(ActionFieldMeta("uid", "Any?"))), + ActionMeta("FindUser", FindUser::class, listOf(ActionFieldMeta("uid", "Any?"))), + ActionMeta("SetLimits", SetLimits::class, listOf(ActionFieldMeta("acceptedLimit", "Int"), ActionFieldMeta("incomingLimit", "Int"))), + ActionMeta("SendRequestRemoveUsersFromNewAccepted", SendRequestRemoveUsersFromNewAccepted::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("RemoveUserFromNewAccepted", RemoveUserFromNewAccepted::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("RemoveFriend", RemoveFriend::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("AddUsersToIncoming", AddUsersToIncoming::class, listOf(ActionFieldMeta("usersId", "Any?"))), + ActionMeta("AddUsersToNewIncoming", AddUsersToNewIncoming::class, listOf(ActionFieldMeta("usersId", "Any?"))), + ActionMeta("SendRequestRemoveUsersFromNewIncoming", SendRequestRemoveUsersFromNewIncoming::class, listOf(ActionFieldMeta("usersId", "Any?"))), + ActionMeta("RemoveUsersFromNewIncoming", RemoveUsersFromNewIncoming::class, listOf(ActionFieldMeta("usersId", "Any?"))), + ActionMeta("RemoveUserFromIncoming", RemoveUserFromIncoming::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("AcceptedRequest", AcceptedRequest::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("RejectRequest", RejectRequest::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("Break", Break::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("ShowNotificationAlreadyInAcceptedFriends", ShowNotificationAlreadyInAcceptedFriends::class, listOf(ActionFieldMeta("uid", "Any?"), ActionFieldMeta("userId", "Any?"))), + ActionMeta("ShowNotificationAlreadyInIncomingFriends", ShowNotificationAlreadyInIncomingFriends::class, listOf(ActionFieldMeta("uid", "Any?"), ActionFieldMeta("userId", "Any?"))), + ActionMeta("ShowNotificationAlreadyInOutgoingFriends", ShowNotificationAlreadyInOutgoingFriends::class, listOf(ActionFieldMeta("uid", "Any?"), ActionFieldMeta("userId", "Any?"))), + ActionMeta("ShowNotificationAcceptedLimitExceeded", ShowNotificationAcceptedLimitExceeded::class, listOf(ActionFieldMeta("uid", "Any?"), ActionFieldMeta("userId", "Any?"))), + ActionMeta("Discount", Discount::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("discount", "Float"), ActionFieldMeta("timeLeft", "Any?"), ActionFieldMeta("timeStart", "Any?"), ActionFieldMeta("isBuyable", "Boolean"))), + ActionMeta("UpdateDiscount", UpdateDiscount::class, listOf(ActionFieldMeta("item", "Any?"))), + ActionMeta("GarageItem", GarageItem::class, listOf(ActionFieldMeta("id", "Any?"), ActionFieldMeta("name", "Any?"), ActionFieldMeta("category", "Int"), ActionFieldMeta("viewCategory", "Int"), ActionFieldMeta("priceWithoutDiscount", "Int"), ActionFieldMeta("description", "Any?"), ActionFieldMeta("descriptionMedia", "Any?"), ActionFieldMeta("preview", "Any?"), ActionFieldMeta("isPremium", "Any?"), ActionFieldMeta("owned", "Boolean"), ActionFieldMeta("mountable", "Any?"), ActionFieldMeta("mounted", "Boolean"), ActionFieldMeta("mountIndex", "Any?"), ActionFieldMeta("position", "Int"), ActionFieldMeta("minRank", "Int"), ActionFieldMeta("maxRank", "Int"), ActionFieldMeta("discount", "Any?"), ActionFieldMeta("modification", "Any?"), ActionFieldMeta("properties", "Any?"), ActionFieldMeta("upgradeableParams", "Any?"), ActionFieldMeta("count", "Any?"), ActionFieldMeta("kit", "Any?"), ActionFieldMeta("countable", "Any?"), ActionFieldMeta("hasDeviceSale", "Boolean"), ActionFieldMeta("devicesAvailable", "Boolean"), ActionFieldMeta("devicePreview", "Any?"), ActionFieldMeta("buyable", "Boolean"), ActionFieldMeta("availableForAll", "Boolean"), ActionFieldMeta("availableSkins", "Any?"), ActionFieldMeta("availableShotSkins", "Any?"), ActionFieldMeta("mountedSkin", "Any?"), ActionFieldMeta("mountedShotSkin", "Any?"), ActionFieldMeta("skinPreview", "Any?"), ActionFieldMeta("group", "Any?"), ActionFieldMeta("rarity", "Any?"), ActionFieldMeta("favorite", "Boolean"), ActionFieldMeta("resistanceBackgroundImg", "Any?"), ActionFieldMeta("visible", "Boolean"), ActionFieldMeta("secret", "Boolean"), ActionFieldMeta("saleByKitItems", "Any?"), ActionFieldMeta("isSellingForCoin", "Boolean"), ActionFieldMeta("isSellingForCrystal", "Boolean"), ActionFieldMeta("isSellingForRuby", "Boolean"), ActionFieldMeta("isSellingForMoney", "Boolean"), ActionFieldMeta("isSellingForADS", "Boolean"))), + ActionMeta("ItemProperty", ItemProperty::class, listOf(ActionFieldMeta("params", "Any?"), ActionFieldMeta("value", "Any?"))), + ActionMeta("Kit", Kit::class, listOf(ActionFieldMeta("items", "Any?"))), + ActionMeta("GarageItemObject", GarageItemObject::class, listOf(ActionFieldMeta("id", "Any?"), ActionFieldMeta("description", "Any?"), ActionFieldMeta("item", "Any?"), ActionFieldMeta("isPremium", "Any?"), ActionFieldMeta("itemCategory", "Any?"), ActionFieldMeta("itemViewCategory", "Any?"), ActionFieldMeta("buyable", "Any?"), ActionFieldMeta("availableForAll", "Any?"), ActionFieldMeta("discount", "Any?"), ActionFieldMeta("timePeriod", "Any?"), ActionFieldMeta("modification", "Any?"), ActionFieldMeta("properties", "Any?"), ActionFieldMeta("upgradeableParams", "Any?"), ActionFieldMeta("devices", "Any?"), ActionFieldMeta("count", "Any?"), ActionFieldMeta("kit", "Any?"), ActionFieldMeta("countable", "Any?"), ActionFieldMeta("mountIndex", "Any?"), ActionFieldMeta("availableSkins", "Any?"), ActionFieldMeta("availableShotSkins", "Any?"), ActionFieldMeta("mountedSkin", "Any?"), ActionFieldMeta("mountedShotSkin", "Any?"), ActionFieldMeta("skinPreview", "Any?"), ActionFieldMeta("grouped", "Any?"), ActionFieldMeta("rarity", "Any?"), ActionFieldMeta("favorite", "Boolean"), ActionFieldMeta("isSellingForCoin", "Any?"), ActionFieldMeta("isSellingForCrystal", "Any?"), ActionFieldMeta("isSellingForRuby", "Any?"), ActionFieldMeta("resistanceBackgroundImg", "Any?"), ActionFieldMeta("visible", "Any?"), ActionFieldMeta("descriptionMedia", "Any?"), ActionFieldMeta("saleByKitItems", "Any?"))), + ActionMeta("KitItem", KitItem::class, listOf(ActionFieldMeta("id", "Any?"), ActionFieldMeta("count", "Int"), ActionFieldMeta("mount", "Boolean"))), + ActionMeta("GarageItemsState", GarageItemsState::class, listOf(ActionFieldMeta("itemsByBase", "Any?"))), + ActionMeta("GarageObject", GarageObject::class, listOf(ActionFieldMeta("temperatureCC", "Any?"))), + ActionMeta("Garage", Garage::class, listOf(ActionFieldMeta("itemsOnDepot", "Any?"), ActionFieldMeta("itemsOnMarket", "Any?"), ActionFieldMeta("mountedItems", "Any?"), ActionFieldMeta("skinsItems", "Any?"), ActionFieldMeta("items", "Any?"), ActionFieldMeta("devices", "Any?"), ActionFieldMeta("garageObject", "Any?"), ActionFieldMeta("isLoaded", "Boolean"), ActionFieldMeta("currentCategory", "Any?"), ActionFieldMeta("currentItemId", "Any?"), ActionFieldMeta("selectAlterationId", "Any?"), ActionFieldMeta("selectedSkinId", "Any?"), ActionFieldMeta("selectedShotSkinId", "Any?"), ActionFieldMeta("newItems", "Any?"), ActionFieldMeta("resistanceReadyToMount", "Any?"), ActionFieldMeta("delayMountTimeMs", "Any?"), ActionFieldMeta("cooldownReduceEndTime", "Any?"), ActionFieldMeta("timeToReduceUpdateInMin", "Any?"), ActionFieldMeta("currentRarity", "Any?"), ActionFieldMeta("purchaseOfUpgradesShopItemId", "Any?"), ActionFieldMeta("garageDiscountNotification", "Any?"), ActionFieldMeta("showVideoInDescription", "Any?"), ActionFieldMeta("unlockedProtectionSlots", "Any?"), ActionFieldMeta("pricesToUnlockSlot", "Any?"), ActionFieldMeta("numberRowsInPaintsUI", "Any?"), ActionFieldMeta("overdriveDescriptions", "Any?"), ActionFieldMeta("weaponToResistanceModule", "Any?"), ActionFieldMeta("waitServerItemMount", "Any?"), ActionFieldMeta("bazookaToSupply", "Any?"), ActionFieldMeta("upgradeCoolDownEndTimes", "Any?"), ActionFieldMeta("upgradeItemInProcessingId", "Any?"))), + ActionMeta("AddItemToOrderProcessing", AddItemToOrderProcessing::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("onSuccess", "Any?"))), + ActionMeta("RequestItem3DPart", RequestItem3DPart::class, listOf(ActionFieldMeta("itemId", "Any?"))), + ActionMeta("GarageUpgradeItemAction", GarageUpgradeItemAction::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("expectedPrice", "Any?"), ActionFieldMeta("currency", "Any?"))), + ActionMeta("GarageSelectItem", GarageSelectItem::class, listOf(ActionFieldMeta("itemId", "Any?"))), + ActionMeta("GarageBuyResistanceModule", GarageBuyResistanceModule::class, listOf(ActionFieldMeta("resistance", "Any?"))), + ActionMeta("GarageItemBought", GarageItemBought::class, listOf(ActionFieldMeta("item", "Any?"), ActionFieldMeta("count", "Int"), ActionFieldMeta("select", "Any?"))), + ActionMeta("GarageItemMounted", GarageItemMounted::class, listOf(ActionFieldMeta("item", "Any?"), ActionFieldMeta("needServerMount", "Boolean"))), + ActionMeta("GarageResistanceUnMount", GarageResistanceUnMount::class, listOf(ActionFieldMeta("resistance", "Any?"), ActionFieldMeta("needServerUnmount", "Boolean"))), + ActionMeta("GarageResistanceMount", GarageResistanceMount::class, listOf(ActionFieldMeta("resistance", "Any?"), ActionFieldMeta("index", "Any?"))), + ActionMeta("BuyProtectionSlot", BuyProtectionSlot::class, listOf(ActionFieldMeta("slotToUnlock", "Any?"))), + ActionMeta("SetItemRarity", SetItemRarity::class, listOf(ActionFieldMeta("rarity", "Any?"))), + ActionMeta("SwitchingRowsScroll", SwitchingRowsScroll::class, listOf(ActionFieldMeta("numberRowsInPaintsUI", "Int"))), + ActionMeta("BuyGarageKit", BuyGarageKit::class, listOf(ActionFieldMeta("item", "Any?"))), + ActionMeta("GarageSelectAlteration", GarageSelectAlteration::class, listOf(ActionFieldMeta("alterationId", "Any?"))), + ActionMeta("GarageSelectSkin", GarageSelectSkin::class, listOf(ActionFieldMeta("skinId", "Any?"))), + ActionMeta("GarageSelectShotSkin", GarageSelectShotSkin::class, listOf(ActionFieldMeta("shotSkinId", "Any?"))), + ActionMeta("GarageLoadAvailableDevices", GarageLoadAvailableDevices::class, listOf(ActionFieldMeta("itemId", "Any?"))), + ActionMeta("RemoveFromFavoriteItem", RemoveFromFavoriteItem::class, listOf(ActionFieldMeta("itemId", "Any?"))), + ActionMeta("AddToFavoriteItem", AddToFavoriteItem::class, listOf(ActionFieldMeta("itemId", "Any?"))), + ActionMeta("GoToGarageAndSelectItem", GoToGarageAndSelectItem::class, listOf(ActionFieldMeta("category", "Int"), ActionFieldMeta("itemId", "Long"))), + ActionMeta("AddRelatedBazooka", AddRelatedBazooka::class, listOf(ActionFieldMeta("bazookaId", "Long"), ActionFieldMeta("supplyId", "Long"))), + ActionMeta("GarageUpgradeItemConfirm", GarageUpgradeItemConfirm::class, listOf(ActionFieldMeta("itemId", "Long"), ActionFieldMeta("level", "Int"))), + ActionMeta("GarageDevicesLoadedAction", GarageDevicesLoadedAction::class, listOf(ActionFieldMeta("baseItemId", "Long"), ActionFieldMeta("devices", "List"), ActionFieldMeta("mountedDevice", "List"))), + ActionMeta("SetRestrictionMount", SetRestrictionMount::class, listOf(ActionFieldMeta("delayMs", "Int"))), + ActionMeta("SetGarageSkinsAction", SetGarageSkinsAction::class, listOf(ActionFieldMeta("skins", "List"))), + ActionMeta("GarageRemoveItemFromStore", GarageRemoveItemFromStore::class, listOf(ActionFieldMeta("itemId", "Any?"))), + ActionMeta("GarageUpdateDepotItem", GarageUpdateDepotItem::class, listOf(ActionFieldMeta("itemId", "Int"), ActionFieldMeta("count", "Int"))), + ActionMeta("GarageApplyResistanceMount", GarageApplyResistanceMount::class, listOf(ActionFieldMeta("resistance", "Any?"), ActionFieldMeta("index", "Any?"), ActionFieldMeta("needServerMount", "Boolean"))), + ActionMeta("GarageApplyResistanceMountOnBuy", GarageApplyResistanceMountOnBuy::class, listOf(ActionFieldMeta("resistance", "Any?"), ActionFieldMeta("index", "Any?"), ActionFieldMeta("currency", "Any?"))), + ActionMeta("RemoveItemFromOrderProcessing", RemoveItemFromOrderProcessing::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("success", "Boolean"))), + ActionMeta("AddOverdriveDescription", AddOverdriveDescription::class, listOf(ActionFieldMeta("itemId", "Long"), ActionFieldMeta("descriptionData", "OverdriveDescriptionData"))), + ActionMeta("AddRelatedResistanceModule", AddRelatedResistanceModule::class, listOf(ActionFieldMeta("itemId", "Long"), ActionFieldMeta("resistanceModuleId", "Long"))), + ActionMeta("GarageUpgradeItemCoolDownStarted", GarageUpgradeItemCoolDownStarted::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("endTime", "Any?"))), + ActionMeta("GarageUpgradeItemCoolDownFinished", GarageUpgradeItemCoolDownFinished::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("endTime", "Any?"))), + ActionMeta("RemoveFromSale", RemoveFromSale::class, listOf(ActionFieldMeta("removeItems", "Any?"))), + ActionMeta("GarageUpdateItemCount", GarageUpdateItemCount::class, listOf(ActionFieldMeta("item", "Any?"), ActionFieldMeta("count", "Any?"))), + ActionMeta("GarageRemoveItemFromDepot", GarageRemoveItemFromDepot::class, listOf(ActionFieldMeta("item", "Any?"))), + ActionMeta("GarageAddItemToDepot", GarageAddItemToDepot::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("count", "Any?"))), + ActionMeta("ItemPurchaseData", ItemPurchaseData::class, listOf(ActionFieldMeta("isAvailable", "Boolean"), ActionFieldMeta("item", "Any?"), ActionFieldMeta("amount", "Any?"), ActionFieldMeta("priceWithoutDiscount", "Any?"), ActionFieldMeta("priceWithDiscount", "Any?"), ActionFieldMeta("discountInPercent", "Any?"), ActionFieldMeta("discountEndTime", "Any?"), ActionFieldMeta("isSellingForCrystal", "Boolean"), ActionFieldMeta("isSellingForCoin", "Boolean"), ActionFieldMeta("isSellingForRuby", "Boolean"), ActionFieldMeta("isAvailableByCrystals", "Boolean"), ActionFieldMeta("isAvailableByCoins", "Boolean"), ActionFieldMeta("isAvailableByRubies", "Boolean"), ActionFieldMeta("isAvailableByRank", "Boolean"), ActionFieldMeta("minRank", "Any?"), ActionFieldMeta("isAvailableByPremium", "Boolean"))), + ActionMeta("OverdriveDescriptionData", OverdriveDescriptionData::class, listOf(ActionFieldMeta("name", "Any?"), ActionFieldMeta("icon", "Any?"), ActionFieldMeta("description", "Any?"))), + ActionMeta("GarageLoadDevicesIfNotLoaded", GarageLoadDevicesIfNotLoaded::class, listOf(ActionFieldMeta("item", "Any?"))), + ActionMeta("GarageRemoveDevice", GarageRemoveDevice::class, listOf(ActionFieldMeta("device", "Any?"), ActionFieldMeta("item", "Any?"))), + ActionMeta("GarageInsertDeviceClientAndServer", GarageInsertDeviceClientAndServer::class, listOf(ActionFieldMeta("device", "Any?"), ActionFieldMeta("item", "Any?"))), + ActionMeta("GarageBuyAndInsertDevice", GarageBuyAndInsertDevice::class, listOf(ActionFieldMeta("device", "Any?"), ActionFieldMeta("price", "Any?"), ActionFieldMeta("itemId", "Any?"))), + ActionMeta("GarageBuyDevice", GarageBuyDevice::class, listOf(ActionFieldMeta("device", "Any?"), ActionFieldMeta("item", "Any?"), ActionFieldMeta("currency", "Any?"), ActionFieldMeta("mount", "Boolean"))), + ActionMeta("GarageDeviceTrySetInfinityLifetime", GarageDeviceTrySetInfinityLifetime::class, listOf(ActionFieldMeta("deviceId", "Any?"))), + ActionMeta("GarageRemoveDiscountForDevice", GarageRemoveDiscountForDevice::class, listOf(ActionFieldMeta("item", "Any?"))), + ActionMeta("Devices", Devices::class, listOf(ActionFieldMeta("baseItemIdToDevices", "Any?"))), + ActionMeta("GarageDevice", GarageDevice::class, listOf(ActionFieldMeta("id", "Any?"), ActionFieldMeta("baseItemId", "Any?"), ActionFieldMeta("installed", "Boolean"), ActionFieldMeta("name", "Any?"), ActionFieldMeta("category", "Int"), ActionFieldMeta("viewCategory", "Int"), ActionFieldMeta("priceWithoutDiscount", "Int"), ActionFieldMeta("description", "Any?"), ActionFieldMeta("descriptionMedia", "Any?"), ActionFieldMeta("previewImage", "Any?"), ActionFieldMeta("isPremium", "Boolean"), ActionFieldMeta("position", "Int"), ActionFieldMeta("minRank", "Int"), ActionFieldMeta("maxRank", "Int"), ActionFieldMeta("discount", "Int"), ActionFieldMeta("timeDiscountEnd", "Any?"), ActionFieldMeta("timeDiscountToStart", "Any?"), ActionFieldMeta("infinityLifetimeItem", "Boolean"), ActionFieldMeta("lifeTimeInSec", "Int"), ActionFieldMeta("property", "String"), ActionFieldMeta("properties", "Any?"), ActionFieldMeta("isSellingForCoin", "Boolean"), ActionFieldMeta("isSellingForCrystal", "Boolean"), ActionFieldMeta("isSellingForRuby", "Boolean"), ActionFieldMeta("isSellingForADS", "Boolean"), ActionFieldMeta("isSellingForMoney", "Boolean"), ActionFieldMeta("rarity", "Any?"), ActionFieldMeta("visible", "Boolean"), ActionFieldMeta("secret", "Boolean"), ActionFieldMeta("buyable", "Boolean"))), + ActionMeta("DescriptionAlteration", DescriptionAlteration::class, listOf(ActionFieldMeta("description", "Any?"), ActionFieldMeta("property", "String"))), + ActionMeta("GarageDeviceObject", GarageDeviceObject::class, listOf(ActionFieldMeta("id", "Any?"), ActionFieldMeta("baseItemId", "Any?"), ActionFieldMeta("temporaryItemCC", "Any?"), ActionFieldMeta("description", "Any?"), ActionFieldMeta("item", "Any?"), ActionFieldMeta("isPremium", "Any?"), ActionFieldMeta("itemCategory", "Any?"), ActionFieldMeta("itemViewCategory", "Any?"), ActionFieldMeta("buyable", "Any?"), ActionFieldMeta("discount", "Any?"), ActionFieldMeta("timePeriod", "Any?"), ActionFieldMeta("deviceProperty", "Any?"), ActionFieldMeta("rarity", "Any?"), ActionFieldMeta("visible", "Any?"), ActionFieldMeta("descriptionMedia", "Any?"))), + ActionMeta("UpgradableItemParams", UpgradableItemParams::class, listOf(ActionFieldMeta("itemPropertyParams", "Any?"), ActionFieldMeta("properties", "Any?"), ActionFieldMeta("currentLevel", "Int"), ActionFieldMeta("upgradeParams", "Any?"), ActionFieldMeta("upgradeDiscount", "Int"), ActionFieldMeta("upgradeConfirmed", "Any?"))), + ActionMeta("ItemPropertyParams", ItemPropertyParams::class, listOf(ActionFieldMeta("sortIndex", "Int"), ActionFieldMeta("name", "Any?"), ActionFieldMeta("properties", "Any?"), ActionFieldMeta("aggregationMode", "Any?"), ActionFieldMeta("multiplier", "Any?"), ActionFieldMeta("additiveShift", "Any?"), ActionFieldMeta("isKernelProperty", "Boolean"), ActionFieldMeta("unitName", "Any?"))), + ActionMeta("GaragePreview", GaragePreview::class, listOf(ActionFieldMeta("isVisible", "Any?"), ActionFieldMeta("photoMode", "Any?"), ActionFieldMeta("needVisible", "Any?"), ActionFieldMeta("viewStyle", "Any?"), ActionFieldMeta("dynViewStyle", "Any?"), ActionFieldMeta("tankPreviewSettings", "Any?"), ActionFieldMeta("needShowDrone", "Any?"), ActionFieldMeta("params", "Any?"), ActionFieldMeta("hullData", "Any?"), ActionFieldMeta("weaponData", "Any?"), ActionFieldMeta("droneData", "Any?"), ActionFieldMeta("grenadeData", "Any?"), ActionFieldMeta("hasGrenades", "Any?"), ActionFieldMeta("hullEngineType", "Any?"), ActionFieldMeta("turretMechanism", "Any?"), ActionFieldMeta("paint", "Any?"), ActionFieldMeta("properties", "Any?"), ActionFieldMeta("captureScreenshotAction", "Any?"), ActionFieldMeta("captureVideoAction", "Any?"), ActionFieldMeta("item3dModelActionCache", "Any?"), ActionFieldMeta("requestedItems", "Any?"), ActionFieldMeta("expectedItemId", "Any?"))), + ActionMeta("ShowRequest", ShowRequest::class, listOf(ActionFieldMeta("viewStyle", "Any?"), ActionFieldMeta("tankPreviewSettings", "Any?"), ActionFieldMeta("needShowDrone", "Any?"), ActionFieldMeta("photoMode", "Boolean"), ActionFieldMeta("withDelay", "Boolean"))), + ActionMeta("UpdatePreviewSettings", UpdatePreviewSettings::class, listOf(ActionFieldMeta("tankPreviewSettings", "Any?"))), + ActionMeta("SetCaptureActions", SetCaptureActions::class, listOf(ActionFieldMeta("screenshotAction", "Any?"), ActionFieldMeta("videoAction", "Any?"))), + ActionMeta("InitGarageResources", InitGarageResources::class, listOf(ActionFieldMeta("params", "GaragePreviewModelCC"))), + ActionMeta("SetFromCacheOrRequest", SetFromCacheOrRequest::class, listOf(ActionFieldMeta("item", "Any?"), ActionFieldMeta("request", "Any?"))), + ActionMeta("SetExpectedItemId", SetExpectedItemId::class, listOf(ActionFieldMeta("category", "Any?"), ActionFieldMeta("itemId", "Any?"))), + ActionMeta("AddRequestedItem", AddRequestedItem::class, listOf(ActionFieldMeta("itemId", "Any?"))), + ActionMeta("SetDrone", SetDrone::class, listOf(ActionFieldMeta("itemId", "Long"), ActionFieldMeta("resource", "Long"), ActionFieldMeta("emissionColors", "EmissionColors"))), + ActionMeta("SetPaint", SetPaint::class, listOf(ActionFieldMeta("itemId", "Long"), ActionFieldMeta("paint", "Coloring"))), + ActionMeta("ResetItem3dModelActionCache", ResetItem3dModelActionCache::class, listOf(ActionFieldMeta("itemId", "Any?"))), + ActionMeta("SetMountedItemsProperties", SetMountedItemsProperties::class, listOf(ActionFieldMeta("properties", "List"))), + ActionMeta("IconsState", IconsState::class, listOf(ActionFieldMeta("icons", "Any?"))), + ActionMeta("SetIcons", SetIcons::class, listOf(ActionFieldMeta("icons", "List"))), + ActionMeta("LootBoxes", LootBoxes::class, listOf(ActionFieldMeta("rewardsForKeys", "Any?"), ActionFieldMeta("currentContainerType", "Any?"), ActionFieldMeta("keys", "Any?"), ActionFieldMeta("containerNames", "Any?"), ActionFieldMeta("containerDescriptions", "Any?"), ActionFieldMeta("rewards", "Any?"), ActionFieldMeta("shownRewards", "Any?"), ActionFieldMeta("gotoGarage", "Any?"), ActionFieldMeta("timeToGiveLootBox", "Any?"), ActionFieldMeta("periodOfGiveLootBoxInSec", "Any?"), ActionFieldMeta("openingFailed", "Any?"), ActionFieldMeta("adsAvailable", "Any?"), ActionFieldMeta("currentCategory", "Any?"), ActionFieldMeta("isOpening", "Any?"), ActionFieldMeta("isAccelerated", "Any?"), ActionFieldMeta("isShopVisited", "Any?"), ActionFieldMeta("isReopening", "Any?"), ActionFieldMeta("isBlockOpenButtons", "Any?"))), + ActionMeta("SetPossibleRewards", SetPossibleRewards::class, listOf(ActionFieldMeta("rewards", "Any?"))), + ActionMeta("SetCurrentContainer", SetCurrentContainer::class, listOf(ActionFieldMeta("type", "Boolean"))), + ActionMeta("SetKeys", SetKeys::class, listOf(ActionFieldMeta("keys", "Map"))), + ActionMeta("AddKeys", AddKeys::class, listOf(ActionFieldMeta("keyType", "Any?"), ActionFieldMeta("delta", "Any?"))), + ActionMeta("SetContainerData", SetContainerData::class, listOf(ActionFieldMeta("type", "String"), ActionFieldMeta("name", "String"), ActionFieldMeta("description", "String"))), + ActionMeta("SetGoToGarage", SetGoToGarage::class, listOf(ActionFieldMeta("gotoGarage", "Boolean"))), + ActionMeta("OpenContainer", OpenContainer::class, listOf(ActionFieldMeta("amount", "Any?"), ActionFieldMeta("type", "Any?"))), + ActionMeta("SelectCategory", SelectCategory::class, listOf(ActionFieldMeta("containerCategory", "Any?"))), + ActionMeta("ShownRewards", ShownRewards::class, listOf(ActionFieldMeta("rewards", "Any?"))), + ActionMeta("SetIsOpening", SetIsOpening::class, listOf(ActionFieldMeta("isOpening", "Boolean"))), + ActionMeta("SetIsAccelerated", SetIsAccelerated::class, listOf(ActionFieldMeta("isAccelerated", "Boolean"))), + ActionMeta("SetIsShopVisited", SetIsShopVisited::class, listOf(ActionFieldMeta("isShopVisited", "Boolean"))), + ActionMeta("MatchmakingState", MatchmakingState::class, listOf(ActionFieldMeta("matchmakingModeRanks", "Any?"), ActionFieldMeta("selectedMatchmakingMode", "Any?"), ActionFieldMeta("disabledModes", "Any?"), ActionFieldMeta("matchmakingAndLoadingBattleInProgress", "Any?"), ActionFieldMeta("startLoadingBattle", "Any?"), ActionFieldMeta("holidayEnabled", "Any?"), ActionFieldMeta("holidayTitle", "Any?"), ActionFieldMeta("holidayIcon", "Any?"), ActionFieldMeta("eventBigTile", "Any?"), ActionFieldMeta("holidayDescription", "Any?"), ActionFieldMeta("minRankForProBattle", "Any?"), ActionFieldMeta("avgWaitTimeInSeconds", "Any?"), ActionFieldMeta("mode", "Any?"), ActionFieldMeta("maxUsersInGroup", "Any?"), ActionFieldMeta("groupsInEventMode", "Any?"), ActionFieldMeta("eventEndDate", "Any?"), ActionFieldMeta("borderColorForEventButton", "Any?"), ActionFieldMeta("requestSent", "Any?"), ActionFieldMeta("rankIndexToMinGS", "Any?"))), + ActionMeta("Play", Play::class, listOf(ActionFieldMeta("mode", "Boolean"), ActionFieldMeta("crossPlayMode", "Any?"), ActionFieldMeta("source", "Any?"))), + ActionMeta("Registered", Registered::class, listOf(ActionFieldMeta("avgWaitTimeInSeconds", "Any?"), ActionFieldMeta("mode", "Any?"))), + ActionMeta("WasRegistered", WasRegistered::class, listOf(ActionFieldMeta("avgWaitTimeInSeconds", "Any?"), ActionFieldMeta("mode", "Any?"))), + ActionMeta("SelectMatchmakingMode", SelectMatchmakingMode::class, listOf(ActionFieldMeta("matchmakingMode", "Any?"))), + ActionMeta("SpectateMatchmakingMode", SpectateMatchmakingMode::class, listOf(ActionFieldMeta("matchmakingMode", "Any?"))), + ActionMeta("EnterToBattle", EnterToBattle::class, listOf(ActionFieldMeta("battleId", "Long"))), + ActionMeta("EnterToBattleApply", EnterToBattleApply::class, listOf(ActionFieldMeta("battleId", "Any?"))), + ActionMeta("SetRankIndexToMinGS", SetRankIndexToMinGS::class, listOf(ActionFieldMeta("rankIndexToMinGS", "Map"))), + ActionMeta("ShowGSWarnOrContinue", ShowGSWarnOrContinue::class, listOf(ActionFieldMeta("continueAction", "Any?"))), + ActionMeta("MatchmakingGroup", MatchmakingGroup::class, listOf(ActionFieldMeta("members", "Any?"), ActionFieldMeta("allowedFromFriends", "Any?"), ActionFieldMeta("pendingInvitationsUsers", "Any?"), ActionFieldMeta("selectedPlayersSendInvite", "Any?"))), + ActionMeta("SetAllowedFromFriends", SetAllowedFromFriends::class, listOf(ActionFieldMeta("allowedFromFriends", "Any?"))), + ActionMeta("UserRemoved", UserRemoved::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("AcceptInvite", AcceptInvite::class, listOf(ActionFieldMeta("localUserId", "Any?"))), + ActionMeta("RejectInvite", RejectInvite::class, listOf(ActionFieldMeta("localUserId", "Any?"))), + ActionMeta("Invite", Invite::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("UpdateMountItems", UpdateMountItems::class, listOf(ActionFieldMeta("mountItemsUserData", "Any?"))), + ActionMeta("UpdateUserReadiness", UpdateUserReadiness::class, listOf(ActionFieldMeta("userId", "Any?"), ActionFieldMeta("isReady", "Boolean"))), + ActionMeta("AddUserToSelected", AddUserToSelected::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("RemoveUserToSelected", RemoveUserToSelected::class, listOf(ActionFieldMeta("usersId", "Any?"))), + ActionMeta("SetSelectedUsers", SetSelectedUsers::class, listOf(ActionFieldMeta("userIds", "Any?"))), + ActionMeta("OnClickToUserItem", OnClickToUserItem::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("InvitedToGroup", InvitedToGroup::class, listOf(ActionFieldMeta("leaderId", "Any?"))), + ActionMeta("RejectedInviteToGroup", RejectedInviteToGroup::class, listOf(ActionFieldMeta("userId", "Any?"), ActionFieldMeta("reason", "Any?"))), + ActionMeta("AcceptedInviteToGroup", AcceptedInviteToGroup::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("InitMatchmakingGroup", InitMatchmakingGroup::class, listOf(ActionFieldMeta("members", "Any?"))), + ActionMeta("GoToWithLoader", GoToWithLoader::class, listOf(ActionFieldMeta("onLoaded", "Any?"), ActionFieldMeta("loadData", "Any?"), ActionFieldMeta("isLoadedFunction", "Any?"), ActionFieldMeta("isAutoHideLoader", "Any?"))), + ActionMeta("LobbyLoader", LobbyLoader::class, listOf(ActionFieldMeta("isShowLoader", "Any?"), ActionFieldMeta("activeLoadersCount", "Any?"))), + ActionMeta("AddModal", AddModal::class, listOf(ActionFieldMeta("screenId", "Boolean"))), + ActionMeta("RemoveModal", RemoveModal::class, listOf(ActionFieldMeta("screenId", "Any?"))), + ActionMeta("RemoveCurrentByName", RemoveCurrentByName::class, listOf(ActionFieldMeta("name", "Any?"))), + ActionMeta("ModalScreen", ModalScreen::class, listOf(ActionFieldMeta("current", "Any?"), ActionFieldMeta("modalQueue", "Any?"))), + ActionMeta("ChangeOwner", ChangeOwner::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("BuyChangeUid", BuyChangeUid::class, listOf(ActionFieldMeta("currentUid", "Any?"), ActionFieldMeta("newUid", "Any?"))), + ActionMeta("NotEnoughRubies", NotEnoughRubies::class, listOf(ActionFieldMeta("amount", "Any?"), ActionFieldMeta("rubiesForBuy", "Any?"))), + ActionMeta("RewardedVideosError", RewardedVideosError::class, listOf(ActionFieldMeta("message", "Any?"))), + ActionMeta("NotEnoughCoins", NotEnoughCoins::class, listOf(ActionFieldMeta("cost", "Any?"))), + ActionMeta("NotEnoughCrystals", NotEnoughCrystals::class, listOf(ActionFieldMeta("cost", "Any?"))), + ActionMeta("UpgradeItem", UpgradeItem::class, listOf(ActionFieldMeta("item", "Any?"), ActionFieldMeta("currentLevel", "Any?"), ActionFieldMeta("priceInCrystal", "Any?"), ActionFieldMeta("priceInRuby", "Any?"))), + ActionMeta("BuyItem", BuyItem::class, listOf(ActionFieldMeta("itemName", "Any?"), ActionFieldMeta("price", "Int"), ActionFieldMeta("amount", "Int"), ActionFieldMeta("isSellingForCoin", "Boolean"), ActionFieldMeta("isSellingForCrystal", "Boolean"), ActionFieldMeta("isSellingForRuby", "Boolean"), ActionFieldMeta("onBuyClick", "Boolean"), ActionFieldMeta("onEscClick", "Any?"), ActionFieldMeta("message", "Any?"), ActionFieldMeta("isSkipConfirm", "Boolean"))), + ActionMeta("OpenExternalLink", OpenExternalLink::class, listOf(ActionFieldMeta("url", "Any?"))), + ActionMeta("BattleSelectParkourWarning", BattleSelectParkourWarning::class, listOf(ActionFieldMeta("battleId", "Any?"), ActionFieldMeta("battleTeam", "Any?"))), + ActionMeta("BattleCreateProtected", BattleCreateProtected::class, listOf(ActionFieldMeta("onPassed", "Any?"))), + ActionMeta("GetRatingModal", GetRatingModal::class, listOf(ActionFieldMeta("useNativeMethod", "Any?"), ActionFieldMeta("storeUrl", "Any?"), ActionFieldMeta("ratingToRedirect", "Any?"))), + ActionMeta("RewardsModal", RewardsModal::class, listOf(ActionFieldMeta("goods", "Any?"))), + ActionMeta("NegativeBalanceAlert", NegativeBalanceAlert::class, listOf(ActionFieldMeta("currencyBalanceData", "Any?"))), + ActionMeta("ApplicationExit", ApplicationExit::class, listOf(ActionFieldMeta("onYesHandler", "Any?"))), + ActionMeta("BreakBattleSearch", BreakBattleSearch::class, listOf(ActionFieldMeta("onYesHandler", "Any?"))), + ActionMeta("CoinToRubyConverter", CoinToRubyConverter::class, listOf(ActionFieldMeta("rubiesForPurchase", "Any?"), ActionFieldMeta("useCoolDownButton", "Boolean"))), + ActionMeta("ResetSettings", ResetSettings::class, listOf(ActionFieldMeta("callback", "Any?"))), + ActionMeta("DescriptionModal", DescriptionModal::class, listOf(ActionFieldMeta("title", "String"), ActionFieldMeta("content", "Any?"))), + ActionMeta("Need2Fa", Need2Fa::class, listOf(ActionFieldMeta("title", "Any?"), ActionFieldMeta("text", "Any?"))), + ActionMeta("Alert", Alert::class, listOf(ActionFieldMeta("text", "Any?"))), + ActionMeta("ShowTutorial", ShowTutorial::class, listOf(ActionFieldMeta("content", "Any?"), ActionFieldMeta("forceShow", "Boolean"), ActionFieldMeta("onTutorialClose", "Any?"))), + ActionMeta("RepatriationBonus", RepatriationBonus::class, listOf(ActionFieldMeta("bonusItems", "Any?"))), + ActionMeta("RankProgressItems", RankProgressItems::class, listOf(ActionFieldMeta("rankData", "Any?"))), + ActionMeta("Reward", Reward::class, listOf(ActionFieldMeta("title", "Any?"), ActionFieldMeta("goods", "Any?"))), + ActionMeta("NeedCoinsForConversion", NeedCoinsForConversion::class, listOf(ActionFieldMeta("coins", "Any?"), ActionFieldMeta("needRubies", "Any?"))), + ActionMeta("QuestsDescriptionModal", QuestsDescriptionModal::class, listOf(ActionFieldMeta("quest", "Any?"), ActionFieldMeta("categoryId", "Any?"))), + ActionMeta("StandardAlert", StandardAlert::class, listOf(ActionFieldMeta("title", "Any?"), ActionFieldMeta("text", "Any?"), ActionFieldMeta("onClick", "Any?"), ActionFieldMeta("onClose", "Any?"), ActionFieldMeta("isShowOverBattle", "Boolean"))), + ActionMeta("GSWarning", GSWarning::class, listOf(ActionFieldMeta("onContinue", "Any?"))), + ActionMeta("ReferralEventEnterPromoCodeStatus", ReferralEventEnterPromoCodeStatus::class, listOf(ActionFieldMeta("referralEventEnterCodeStatus", "Any?"))), + ActionMeta("TemporaryCashExpiredInfo", TemporaryCashExpiredInfo::class, listOf(ActionFieldMeta("temporaryCashData", "Any?"))), + ActionMeta("Screen", Screen::class, listOf(ActionFieldMeta("current", "Any?"), ActionFieldMeta("loaderBackgroundImage", "Any?"), ActionFieldMeta("foreground", "Any?"), ActionFieldMeta("screenStack", "Any?"), ActionFieldMeta("enableBack", "Any?"), ActionFieldMeta("isResetBackStackOnNextGoTo", "Any?"), ActionFieldMeta("isDelayedGoto", "Any?"), ActionFieldMeta("pressedAnyButton", "Any?"), ActionFieldMeta("displayMainEntranceScreen", "Any?"), ActionFieldMeta("needReauthorization", "Any?"))), + ActionMeta("GoTo", GoTo::class, listOf(ActionFieldMeta("screen", "Any?"), ActionFieldMeta("history", "Boolean"))), + ActionMeta("DisplayMainEntranceScreen", DisplayMainEntranceScreen::class, listOf(ActionFieldMeta("isDisplayed", "Boolean"))), + ActionMeta("PressedAnyButton", PressedAnyButton::class, listOf(ActionFieldMeta("isPressed", "Boolean"))), + ActionMeta("DisplayReauthorizationMessage", DisplayReauthorizationMessage::class, listOf(ActionFieldMeta("isDisplay", "Boolean"))), + ActionMeta("ChangeEmailAndPassword", ChangeEmailAndPassword::class, listOf(ActionFieldMeta("reason", "Any?"))), + ActionMeta("LicenseAgreement", LicenseAgreement::class, listOf(ActionFieldMeta("isInternalPartners", "Boolean"), ActionFieldMeta("entranceAction", "Any?"))), + ActionMeta("ChangeUid", ChangeUid::class, listOf(ActionFieldMeta("allowRenaming", "Boolean"))), + ActionMeta("MigrationOut", MigrationOut::class, listOf(ActionFieldMeta("uid", "Any?"))), + ActionMeta("MigrationOutError", MigrationOutError::class, listOf(ActionFieldMeta("message", "Any?"))), + ActionMeta("MigrationInForm", MigrationInForm::class, listOf(ActionFieldMeta("oldUid", "Any?"), ActionFieldMeta("needNewUid", "Boolean"))), + ActionMeta("NeedEnterByLogin", NeedEnterByLogin::class, listOf(ActionFieldMeta("uid", "Any?"))), + ActionMeta("InviteToBattle", InviteToBattle::class, listOf(ActionFieldMeta("battleId", "Any?"))), + ActionMeta("QuestCategory", QuestCategory::class, listOf(ActionFieldMeta("categoryType", "Boolean"), ActionFieldMeta("id", "Any?"))), + ActionMeta("Announcement", Announcement::class, listOf(ActionFieldMeta("itemInfo", "Any?"), ActionFieldMeta("shopItem", "Any?"), ActionFieldMeta("discount", "Any?"))), + ActionMeta("ItemInfo", ItemInfo::class, listOf(ActionFieldMeta("category", "Boolean"))), + ActionMeta("NewsState", NewsState::class, listOf(ActionFieldMeta("isOpen", "Any?"), ActionFieldMeta("news", "Any?"), ActionFieldMeta("unreadNewsCounter", "Any?"), ActionFieldMeta("p", "Any?"))), + ActionMeta("SetNewsItemAction", SetNewsItemAction::class, listOf(ActionFieldMeta("news", "List"))), + ActionMeta("AddNewsItemAction", AddNewsItemAction::class, listOf(ActionFieldMeta("news", "Any?"))), + ActionMeta("RemoveNewsItemAction", RemoveNewsItemAction::class, listOf(ActionFieldMeta("newsId", "Any?"))), + ActionMeta("SetUnreadNewsCounter", SetUnreadNewsCounter::class, listOf(ActionFieldMeta("count", "Int"))), + ActionMeta("NotificationByCountry", NotificationByCountry::class, listOf(ActionFieldMeta("disableRegistrationMessage", "Any?"), ActionFieldMeta("disableShopMessage", "Any?"), ActionFieldMeta("homeScreenMessage", "Any?"), ActionFieldMeta("homeScreenDialogShown", "Any?"))), + ActionMeta("Notifications", Notifications::class, listOf(ActionFieldMeta("notifications", "Any?"), ActionFieldMeta("notificationSound", "Any?"))), + ActionMeta("InitNotificationSound", InitNotificationSound::class, listOf(ActionFieldMeta("sound", "Any?"))), + ActionMeta("AddNotification", AddNotification::class, listOf(ActionFieldMeta("notificationItem", "Any?"))), + ActionMeta("PartnerState", PartnerState::class, listOf(ActionFieldMeta("partnerId", "Any?"), ActionFieldMeta("loginParams", "Any?"), ActionFieldMeta("params", "Any?"), ActionFieldMeta("hasOwnPaymentSystem", "Any?"), ActionFieldMeta("hasSocialFunction", "Any?"), ActionFieldMeta("hasClientPaymentAction", "Any?"), ActionFieldMeta("paymentAction", "Any?"), ActionFieldMeta("inviteAction", "Any?"), ActionFieldMeta("canOpenExternalLinks", "Any?"), ActionFieldMeta("hasAccountBinding", "Any?"), ActionFieldMeta("failedRedirectUrl", "Any?"), ActionFieldMeta("loginForBindingStatus", "Any?"), ActionFieldMeta("isAccountAlreadyLinked", "Any?"), ActionFieldMeta("itemsEnabledForPartner", "Any?"), ActionFieldMeta("isPartnerReady", "Any?"))), + ActionMeta("SetPartnerId", SetPartnerId::class, listOf(ActionFieldMeta("partnerId", "String"), ActionFieldMeta("failedRedirectUrl", "Any?"))), + ActionMeta("FinishPartnerRegistration", FinishPartnerRegistration::class, listOf(ActionFieldMeta("uid", "Any?"))), + ActionMeta("BindAccount", BindAccount::class, listOf(ActionFieldMeta("login", "Any?"), ActionFieldMeta("password", "Any?"))), + ActionMeta("SetLoginStatusForBinding", SetLoginStatusForBinding::class, listOf(ActionFieldMeta("status", "Any?"))), + ActionMeta("SetSocialNetworkId", SetSocialNetworkId::class, listOf(ActionFieldMeta("uid", "Any?"), ActionFieldMeta("socialNetworkId", "Any?"))), + ActionMeta("SendSocialNetworkAssociations", SendSocialNetworkAssociations::class, listOf(ActionFieldMeta("socialNetworkAssociations", "Any?"))), + ActionMeta("InitSocialNetworkParameters", InitSocialNetworkParameters::class, listOf(ActionFieldMeta("hasOwnPaymentSystem", "Boolean"), ActionFieldMeta("hasSocialFunction", "Boolean"), ActionFieldMeta("hasClientPaymentAction", "Boolean"), ActionFieldMeta("failedRedirectUrl", "Any?"), ActionFieldMeta("canOpenExternalLinks", "Boolean"), ActionFieldMeta("hasAccountBinding", "Boolean"))), + ActionMeta("SetLoginParams", SetLoginParams::class, listOf(ActionFieldMeta("params", "Any?"))), + ActionMeta("SetPartnerReady", SetPartnerReady::class, listOf(ActionFieldMeta("isReady", "Boolean"))), + ActionMeta("InitPartnerInviteAction", InitPartnerInviteAction::class, listOf(ActionFieldMeta("action", "Any?"))), + ActionMeta("SetPartnerParameters", SetPartnerParameters::class, listOf(ActionFieldMeta("params", "Any?"))), + ActionMeta("PromoCode", PromoCode::class, listOf(ActionFieldMeta("validateStatus", "Any?"))), + ActionMeta("ActivatePromoCode", ActivatePromoCode::class, listOf(ActionFieldMeta("code", "Any?"))), + ActionMeta("SetCodeValidateStatus", SetCodeValidateStatus::class, listOf(ActionFieldMeta("promoCodeStatus", "Any?"))), + ActionMeta("QuestCategoriesState", QuestCategoriesState::class, listOf(ActionFieldMeta("categories", "Any?"), ActionFieldMeta("statistic", "Any?"), ActionFieldMeta("statisticLoadedTime", "Any?"))), + ActionMeta("SetQuestCategories", SetQuestCategories::class, listOf(ActionFieldMeta("categories", "List"))), + ActionMeta("RemoveQuestCategory", RemoveQuestCategory::class, listOf(ActionFieldMeta("category", "Any?"))), + ActionMeta("RequestQuestCategoriesStatistic", RequestQuestCategoriesStatistic::class, listOf(ActionFieldMeta("isHiddenUpdate", "Boolean"))), + ActionMeta("SetQuestCategoriesStatistic", SetQuestCategoriesStatistic::class, listOf(ActionFieldMeta("statistic", "List"))), + ActionMeta("Challenges", Challenges::class, listOf(ActionFieldMeta("stars", "Any?"), ActionFieldMeta("challenge", "Any?"), ActionFieldMeta("battlePassPackages", "Any?"), ActionFieldMeta("battlePasses", "Any?"))), + ActionMeta("Challenge", Challenge::class, listOf(ActionFieldMeta("version", "Any?"), ActionFieldMeta("endTime", "Any?"), ActionFieldMeta("tiers", "Any?"), ActionFieldMeta("battlePassFlavor", "Int"), ActionFieldMeta("mainPrizeImage", "Long"), ActionFieldMeta("background", "Long"), ActionFieldMeta("tierReward", "Any?"), ActionFieldMeta("takenFreeRewardIndex", "Int"), ActionFieldMeta("takenBattlePassRewardIndex", "Int"))), + ActionMeta("RequestChallengeInfo", RequestChallengeInfo::class, listOf(ActionFieldMeta("challengeVersion", "Any?"))), + ActionMeta("Load", Load::class, listOf(ActionFieldMeta("battlePassFlavor", "Any?"))), + ActionMeta("UpdateStars", UpdateStars::class, listOf(ActionFieldMeta("stars", "Map"))), + ActionMeta("TakeAllRewards", TakeAllRewards::class, listOf(ActionFieldMeta("flavor", "Any?"))), + ActionMeta("TakeReward", TakeReward::class, listOf(ActionFieldMeta("index", "Any?"), ActionFieldMeta("flavor", "Any?"), ActionFieldMeta("isFreeReward", "Boolean"))), + ActionMeta("SetTakenFreeRewardIndex", SetTakenFreeRewardIndex::class, listOf(ActionFieldMeta("flavor", "Any?"), ActionFieldMeta("index", "Any?"))), + ActionMeta("SetTakenBattlePassRewardIndex", SetTakenBattlePassRewardIndex::class, listOf(ActionFieldMeta("flavor", "Any?"), ActionFieldMeta("index", "Any?"))), + ActionMeta("SetBattlePass", SetBattlePass::class, listOf(ActionFieldMeta("battlePassFlavor", "Any?"))), + ActionMeta("SetBattlePassPackages", SetBattlePassPackages::class, listOf(ActionFieldMeta("battlePassPackages", "Map"))), + ActionMeta("SetChallenge", SetChallenge::class, listOf(ActionFieldMeta("challenge", "Challenge"))), + ActionMeta("RemoveChallenge", RemoveChallenge::class, listOf(ActionFieldMeta("challengeVersion", "Any?"))), + ActionMeta("MainQuests", MainQuests::class, listOf(ActionFieldMeta("isLoaded", "Any?"), ActionFieldMeta("quests", "Any?"), ActionFieldMeta("rewardedQuests", "Any?"), ActionFieldMeta("eventPassShopItemId", "Any?"), ActionFieldMeta("lastBattleUpdatedQuests", "Any?"))), + ActionMeta("QuestsLoaded", QuestsLoaded::class, listOf(ActionFieldMeta("quests", "List"))), + ActionMeta("SetQuests", SetQuests::class, listOf(ActionFieldMeta("quests", "Any?"))), + ActionMeta("UpdateQuests", UpdateQuests::class, listOf(ActionFieldMeta("quests", "List"))), + ActionMeta("GetReward", GetReward::class, listOf(ActionFieldMeta("quests", "Any?"))), + ActionMeta("AddRewardedQuest", AddRewardedQuest::class, listOf(ActionFieldMeta("questId", "Any?"))), + ActionMeta("SetEventPassShopItemId", SetEventPassShopItemId::class, listOf(ActionFieldMeta("shopItemId", "Long"))), + ActionMeta("SetBattleUpdatedQuests", SetBattleUpdatedQuests::class, listOf(ActionFieldMeta("updatedQuestsData", "Any?"))), + ActionMeta("ReferralEventState", ReferralEventState::class, listOf(ActionFieldMeta("referrer", "Any?"), ActionFieldMeta("referrerUid", "Any?"), ActionFieldMeta("referralsCount", "Any?"), ActionFieldMeta("referralsData", "Any?"), ActionFieldMeta("code", "Any?"), ActionFieldMeta("referrerPanelTitle", "Any?"), ActionFieldMeta("promoCodeDialogImage", "Any?"), ActionFieldMeta("promoCodeDialogBackGround", "Any?"), ActionFieldMeta("referrerCategoryId", "Any?"), ActionFieldMeta("referralCategoryId", "Any?"), ActionFieldMeta("referralQuestsSize", "Any?"), ActionFieldMeta("hideReferrerCategory", "Any?"), ActionFieldMeta("hideReferralCategory", "Any?"), ActionFieldMeta("hidedAnnounce", "Any?"))), + ActionMeta("SetReferralEventData", SetReferralEventData::class, listOf(ActionFieldMeta("eventData", "ReferralEventUserModelCC"))), + ActionMeta("SetPromoCode", SetPromoCode::class, listOf(ActionFieldMeta("code", "String"))), + ActionMeta("SetReferrals", SetReferrals::class, listOf(ActionFieldMeta("referralsCount", "Int"), ActionFieldMeta("referralsData", "Any?"))), + ActionMeta("SetReferrer", SetReferrer::class, listOf(ActionFieldMeta("referrerId", "Any?"), ActionFieldMeta("referrerUid", "Any?"))), + ActionMeta("RemoteUserData", RemoteUserData::class, listOf(ActionFieldMeta("userId", "Any?"), ActionFieldMeta("uid", "Any?"), ActionFieldMeta("rank", "Any?"), ActionFieldMeta("hasPremium", "Boolean"), ActionFieldMeta("clanTag", "Any?"), ActionFieldMeta("onlineStatus", "Any?"), ActionFieldMeta("battle", "Any?"))), + ActionMeta("RemoteUserDataStorage", RemoteUserDataStorage::class, listOf(ActionFieldMeta("userIdToData", "Any?"))), + ActionMeta("UpdateUids", UpdateUids::class, listOf(ActionFieldMeta("uids", "Any?"))), + ActionMeta("UpdateRanks", UpdateRanks::class, listOf(ActionFieldMeta("ranks", "Map"))), + ActionMeta("UpdatePremiumStatus", UpdatePremiumStatus::class, listOf(ActionFieldMeta("premiums", "Map"))), + ActionMeta("UpdateClanTags", UpdateClanTags::class, listOf(ActionFieldMeta("clans", "Any?"))), + ActionMeta("UpdateOnlineStatus", UpdateOnlineStatus::class, listOf(ActionFieldMeta("status", "Map"))), + ActionMeta("UserEnterBattle", UserEnterBattle::class, listOf(ActionFieldMeta("battles", "Map"))), + ActionMeta("UserLeaveBattle", UserLeaveBattle::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("UserLeaveGroup", UserLeaveGroup::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("SubscribeUpdateUserData", SubscribeUpdateUserData::class, listOf(ActionFieldMeta("userId", "Long"))), + ActionMeta("UnsubscribeUpdateUserData", UnsubscribeUpdateUserData::class, listOf(ActionFieldMeta("usersId", "List"))), + ActionMeta("AvailabilityState", AvailabilityState::class, listOf(ActionFieldMeta("available", "Boolean"), ActionFieldMeta("reason", "Any?"))), + ActionMeta("RewardedVideosState", RewardedVideosState::class, listOf(ActionFieldMeta("displayState", "Any?"))), + ActionMeta("GiveRewardForQuest", GiveRewardForQuest::class, listOf(ActionFieldMeta("questId", "Any?"))), + ActionMeta("GiveRewardForShopItem", GiveRewardForShopItem::class, listOf(ActionFieldMeta("shopItemId", "Any?"))), + ActionMeta("SetDisplayState", SetDisplayState::class, listOf(ActionFieldMeta("displayState", "Any?"))), + ActionMeta("RulesUpdatedState", RulesUpdatedState::class, listOf(ActionFieldMeta("text", "Any?"))), + ActionMeta("UpdateRules", UpdateRules::class, listOf(ActionFieldMeta("text", "Any?"))), + ActionMeta("HomeScreen", HomeScreen::class, listOf(ActionFieldMeta("shopDiscountNotification", "Any?"))), + ActionMeta("ItemNotificationsState", ItemNotificationsState::class, listOf(ActionFieldMeta("notifications", "Any?"))), + ActionMeta("ItemNotificationData", ItemNotificationData::class, listOf(ActionFieldMeta("section", "Any?"), ActionFieldMeta("itemId", "Long"), ActionFieldMeta("type", "Any?"), ActionFieldMeta("parentId", "Any?"), ActionFieldMeta("startTime", "Any?"), ActionFieldMeta("endTime", "Any?"))), + ActionMeta("AddItemNotifications", AddItemNotifications::class, listOf(ActionFieldMeta("data", "List"))), + ActionMeta("AddItemNotification", AddItemNotification::class, listOf(ActionFieldMeta("section", "Any?"), ActionFieldMeta("itemId", "Long"), ActionFieldMeta("type", "Any?"), ActionFieldMeta("parentId", "Any?"), ActionFieldMeta("startTime", "Any?"), ActionFieldMeta("endTime", "Any?"))), + ActionMeta("RemoveItemNotification", RemoveItemNotification::class, listOf(ActionFieldMeta("section", "String"), ActionFieldMeta("itemId", "Long"), ActionFieldMeta("type", "String"), ActionFieldMeta("parentId", "Long"), ActionFieldMeta("excludeType", "Any?"), ActionFieldMeta("skipPeriodCheck", "Boolean"))), + ActionMeta("DelayedRemoveItemNotification", DelayedRemoveItemNotification::class, listOf(ActionFieldMeta("section", "Any?"), ActionFieldMeta("itemId", "Any?"))), + ActionMeta("UpdateItemNotification", UpdateItemNotification::class, listOf(ActionFieldMeta("section", "Any?"), ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("type", "Any?"), ActionFieldMeta("parentId", "Any?"), ActionFieldMeta("excludeType", "Any?"), ActionFieldMeta("updateHandler", "Any?"))), + ActionMeta("ItemNotificationDataStore", ItemNotificationDataStore::class, listOf(ActionFieldMeta("data", "Any?"))), + ActionMeta("BattleSettings", BattleSettings::class, listOf(ActionFieldMeta("showAimHelperDot", "Any?"), ActionFieldMeta("showDamage", "Any?"), ActionFieldMeta("showTankPointers", "Any?"), ActionFieldMeta("showButtonLabels", "Any?"), ActionFieldMeta("autoSuicide", "Any?"), ActionFieldMeta("showStatusName", "Any?"), ActionFieldMeta("isCenteredLayout", "Any?"), ActionFieldMeta("battleUISize", "Any?"), ActionFieldMeta("aimhelperDotOpacity", "Any?"), ActionFieldMeta("aimhelperDotScale", "Any?"), ActionFieldMeta("autoSupply", "Any?"))), + ActionMeta("UpdateSettings", UpdateSettings::class, listOf(ActionFieldMeta("settings", "Any?"))), + ActionMeta("Mouse", Mouse::class, listOf(ActionFieldMeta("cameraSensitivity", "Any?"), ActionFieldMeta("enableAcceleration", "Any?"))), + ActionMeta("Gamepad", Gamepad::class, listOf(ActionFieldMeta("enabled", "Boolean"), ActionFieldMeta("leftStickDeadZone", "Int"), ActionFieldMeta("rightStickDeadZone", "Int"))), + ActionMeta("Touchscreen", Touchscreen::class, listOf(ActionFieldMeta("cameraSensitivity", "Any?"), ActionFieldMeta("rotateJoystick", "Any?"), ActionFieldMeta("movableJoystick", "Any?"), ActionFieldMeta("doubleTapFire", "Any?"), ActionFieldMeta("autoFire", "Any?"), ActionFieldMeta("showMovementIndicator", "Any?"), ActionFieldMeta("autoCenterTurret", "Any?"))), + ActionMeta("ControlSettings", ControlSettings::class, listOf(ActionFieldMeta("availableInputModes", "Any?"), ActionFieldMeta("inputMode", "Any?"), ActionFieldMeta("inversedBackwardMoving", "Any?"), ActionFieldMeta("invertShaftVerticalAxis", "Any?"), ActionFieldMeta("mouse", "Any?"), ActionFieldMeta("gamepad", "Any?"), ActionFieldMeta("touchscreen", "Any?"))), + ActionMeta("GameSettings", GameSettings::class, listOf(ActionFieldMeta("showDropZones", "Any?"), ActionFieldMeta("showYourDrone", "Any?"), ActionFieldMeta("showChat", "Any?"), ActionFieldMeta("showNotifications", "Any?"), ActionFieldMeta("showOtherDrone", "Any?"), ActionFieldMeta("mobilePadding", "Any?"))), + ActionMeta("GraphicsSettings", GraphicsSettings::class, listOf(ActionFieldMeta("qualityDetectByCardCompleted", "Any?"), ActionFieldMeta("extended", "Any?"), ActionFieldMeta("fpsLimit", "Any?"), ActionFieldMeta("showFPSAndPing", "Any?"), ActionFieldMeta("showSkybox", "Any?"), ActionFieldMeta("dynamicShadows", "Boolean"), ActionFieldMeta("dynamicLighting", "Boolean"), ActionFieldMeta("softParticles", "Boolean"), ActionFieldMeta("fog", "Boolean"), ActionFieldMeta("antialiasing", "Boolean"), ActionFieldMeta("vsync", "Any?"), ActionFieldMeta("decalsProfile", "Any?"), ActionFieldMeta("dustEnabled", "Boolean"), ActionFieldMeta("anisotropicFilteringLevel", "Int"), ActionFieldMeta("treesQuality", "Any?"), ActionFieldMeta("effectsQuality", "Any?"), ActionFieldMeta("resolutionScale", "Any?"))), + ActionMeta("HudElementSettings", HudElementSettings::class, listOf(ActionFieldMeta("position", "Any?"), ActionFieldMeta("size", "Any?"), ActionFieldMeta("opacity", "Any?"), ActionFieldMeta("isCircle", "Any?"), ActionFieldMeta("activationZoneMultiplier", "Int"))), + ActionMeta("SecuritySettingsState", SecuritySettingsState::class, listOf(ActionFieldMeta("isProfileBlocked", "Any?"))), + ActionMeta("SetProfileBlockStatus", SetProfileBlockStatus::class, listOf(ActionFieldMeta("isProfileBlocked", "Boolean"))), + ActionMeta("ProfileBlock", ProfileBlock::class, listOf(ActionFieldMeta("isBlock", "Any?"))), + ActionMeta("TouchscreenHudSettings", TouchscreenHudSettings::class, listOf(ActionFieldMeta("mapping", "Any?"))), + ActionMeta("Category", Category::class, listOf(ActionFieldMeta("id", "Any?"), ActionFieldMeta("orderIndex", "Any?"), ActionFieldMeta("name", "Any?"), ActionFieldMeta("description", "Any?"), ActionFieldMeta("type", "Any?"), ActionFieldMeta("preview", "Any?"), ActionFieldMeta("isSpecial", "Any?"), ActionFieldMeta("icon", "Any?"), ActionFieldMeta("categoryBackground", "Any?"), ActionFieldMeta("cardHoverBackground", "Long"), ActionFieldMeta("confirmPurchaseForCrystals", "Boolean"), ActionFieldMeta("canBeShownWhenUserIsInDebt", "Boolean"), ActionFieldMeta("showTimerOnCard", "Boolean"))), + ActionMeta("SelectCategoryId", SelectCategoryId::class, listOf(ActionFieldMeta("categoryId", "Long?"))), + ActionMeta("Categories", Categories::class, listOf(ActionFieldMeta("categories", "Any?"), ActionFieldMeta("categoryTypeToId", "Any?"), ActionFieldMeta("categoryIdToType", "Any?"), ActionFieldMeta("categoriesWithDiscount", "Any?"), ActionFieldMeta("categoriesWithBonus", "Any?"), ActionFieldMeta("selectedCategoryType", "Any?"), ActionFieldMeta("selectedCategoryId", "Any?"))), + ActionMeta("InitCategory", InitCategory::class, listOf(ActionFieldMeta("category", "Any?"))), + ActionMeta("SetupDiscountCategoryByItem", SetupDiscountCategoryByItem::class, listOf(ActionFieldMeta("categoryId", "Any?"))), + ActionMeta("EventGoodsState", EventGoodsState::class, listOf(ActionFieldMeta("eventGoods", "Any?"))), + ActionMeta("InitEventGoods", InitEventGoods::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("goods", "Any?"))), + ActionMeta("CreateOrder", CreateOrder::class, listOf(ActionFieldMeta("payModeId", "Any?"), ActionFieldMeta("shopItem", "Any?"), ActionFieldMeta("callback", "Any?"))), + ActionMeta("OrderApproved", OrderApproved::class, listOf(ActionFieldMeta("payModeId", "Any?"), ActionFieldMeta("orderId", "Any?"))), + ActionMeta("ProcessPurchaseForCrystal", ProcessPurchaseForCrystal::class, listOf(ActionFieldMeta("product", "Any?"), ActionFieldMeta("amount", "Int"), ActionFieldMeta("sourceCategory", "Any?"))), + ActionMeta("PurchaseByCrystal", PurchaseByCrystal::class, listOf(ActionFieldMeta("productId", "Any?"), ActionFieldMeta("amount", "Any?"), ActionFieldMeta("sourceCategory", "Any?"))), + ActionMeta("ProcessPurchaseForAds", ProcessPurchaseForAds::class, listOf(ActionFieldMeta("product", "Any?"), ActionFieldMeta("amount", "Any?"), ActionFieldMeta("sourceCategory", "Any?"))), + ActionMeta("ProcessPurchaseForCoin", ProcessPurchaseForCoin::class, listOf(ActionFieldMeta("product", "Any?"), ActionFieldMeta("amount", "Int"), ActionFieldMeta("sourceCategory", "Any?"))), + ActionMeta("ProcessPurchaseForRuby", ProcessPurchaseForRuby::class, listOf(ActionFieldMeta("product", "Any?"), ActionFieldMeta("amount", "Int"), ActionFieldMeta("sourceCategory", "Any?"))), + ActionMeta("PurchaseByCoin", PurchaseByCoin::class, listOf(ActionFieldMeta("productId", "Any?"), ActionFieldMeta("amount", "Any?"), ActionFieldMeta("sourceCategory", "Any?"))), + ActionMeta("PurchaseByRuby", PurchaseByRuby::class, listOf(ActionFieldMeta("productId", "Any?"), ActionFieldMeta("amount", "Any?"), ActionFieldMeta("sourceCategory", "Any?"))), + ActionMeta("ProcessProductPurchase", ProcessProductPurchase::class, listOf(ActionFieldMeta("product", "Any?"), ActionFieldMeta("amount", "Int"), ActionFieldMeta("sourceCategory", "Any?"))), + ActionMeta("ShopItem", ShopItem::class, listOf(ActionFieldMeta("id", "Any?"), ActionFieldMeta("gameObject", "Any?"), ActionFieldMeta("categoryId", "Any?"), ActionFieldMeta("orderIndex", "Any?"), ActionFieldMeta("price", "Any?"), ActionFieldMeta("originalPrice", "Double"), ActionFieldMeta("currencyName", "Any?"), ActionFieldMeta("currencyId", "Any?"), ActionFieldMeta("roundingPrecision", "Int"), ActionFieldMeta("previewImageURL", "Long"), ActionFieldMeta("isSellingForCoin", "Any?"), ActionFieldMeta("isSellingForCrystal", "Any?"), ActionFieldMeta("isSellingForRuby", "Any?"), ActionFieldMeta("isSellingForMoney", "Boolean"), ActionFieldMeta("isSellingForADS", "Any?"), ActionFieldMeta("needPaymentProviderItem", "Boolean"))), + ActionMeta("ShopCard", ShopCard::class, listOf(ActionFieldMeta("activeUntil", "Long"), ActionFieldMeta("goodInfo", "Any?"), ActionFieldMeta("name", "Any?"), ActionFieldMeta("sold", "Boolean"), ActionFieldMeta("pinned", "Boolean"), ActionFieldMeta("type", "Int"), ActionFieldMeta("view", "Any?"), ActionFieldMeta("discount", "Any?"), ActionFieldMeta("sortIndex", "Int"), ActionFieldMeta("shopCategoryId", "Any?"))), + ActionMeta("DiscountItem", DiscountItem::class, listOf(ActionFieldMeta("priceWithAllDiscount", "Int"), ActionFieldMeta("discountInPercent", "Int"), ActionFieldMeta("discountPaymentModeInPercent", "Int"))), + ActionMeta("PaymentProviderItem", PaymentProviderItem::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("price", "Any?"), ActionFieldMeta("currency", "Any?"), ActionFieldMeta("country", "Any?"), ActionFieldMeta("displayName", "Any?"), ActionFieldMeta("displayDescription", "Any?"), ActionFieldMeta("displayPrice", "Any?"))), + ActionMeta("ShopItems", ShopItems::class, listOf(ActionFieldMeta("items", "Any?"), ActionFieldMeta("discountItems", "Any?"), ActionFieldMeta("featureItems", "Any?"), ActionFieldMeta("specialKitPackage", "Any?"), ActionFieldMeta("crystalKitPackage", "Any?"), ActionFieldMeta("coinPackage", "Any?"), ActionFieldMeta("keysPackage", "Any?"), ActionFieldMeta("itemViewType", "Any?"), ActionFieldMeta("shopItemName", "Any?"), ActionFieldMeta("kitPackage", "Any?"), ActionFieldMeta("kitBanner", "Any?"), ActionFieldMeta("amountString", "Any?"), ActionFieldMeta("paymentModeAsShopItem", "Any?"), ActionFieldMeta("restrictionByPayMode", "Any?"), ActionFieldMeta("singleItemKit", "Any?"), ActionFieldMeta("lootBoxAndPaint", "Any?"), ActionFieldMeta("oneTimePurchaseItems", "Any?"), ActionFieldMeta("compensationItems", "Any?"), ActionFieldMeta("paymentProviderItems", "Any?"), ActionFieldMeta("additionalDescription", "Any?"), ActionFieldMeta("rewardedVideosBlocks", "Any?"), ActionFieldMeta("shopCards", "Any?"), ActionFieldMeta("groups", "Any?"))), + ActionMeta("FeatureItem", FeatureItem::class, listOf(ActionFieldMeta("locatedInFeaturingCategory", "Any?"), ActionFieldMeta("hiddenInOriginalCategory", "Any?"), ActionFieldMeta("position", "Any?"))), + ActionMeta("SpecialKitPackage", SpecialKitPackage::class, listOf(ActionFieldMeta("crystalsAmount", "Int"), ActionFieldMeta("premiumDurationInDays", "Int"), ActionFieldMeta("localizedDaysPremiumDuration", "String"), ActionFieldMeta("everySupplyAmount", "Int"), ActionFieldMeta("goldAmount", "Int"), ActionFieldMeta("withAdditionalItem", "Boolean"), ActionFieldMeta("itemsCount", "Int"), ActionFieldMeta("additionalText", "Any?"), ActionFieldMeta("isXT", "Boolean"))), + ActionMeta("CrystalKitPackage", CrystalKitPackage::class, listOf(ActionFieldMeta("crystals", "Any?"))), + ActionMeta("CoinPackage", CoinPackage::class, listOf(ActionFieldMeta("amount", "Int"), ActionFieldMeta("bonus", "Int"))), + ActionMeta("KeysPackage", KeysPackage::class, listOf(ActionFieldMeta("amount", "Any?"))), + ActionMeta("ShopItemName", ShopItemName::class, listOf(ActionFieldMeta("name", "Any?"), ActionFieldMeta("description", "String"))), + ActionMeta("KitPackage", KitPackage::class, listOf(ActionFieldMeta("showDetails", "Any?"), ActionFieldMeta("itemsInfo", "Any?"))), + ActionMeta("SingleItemKit", SingleItemKit::class, listOf(ActionFieldMeta("previewImageUrl", "Any?"))), + ActionMeta("LootBoxAndPain", LootBoxAndPain::class, listOf(ActionFieldMeta("crystalCount", "Any?"), ActionFieldMeta("lootboxCount", "Any?"), ActionFieldMeta("lootBoxPreview", "Any?"), ActionFieldMeta("paintPreview", "Any?"))), + ActionMeta("OneTimePurchaseItem", OneTimePurchaseItem::class, listOf(ActionFieldMeta("isTriedToBuy", "Any?"), ActionFieldMeta("quantityRestriction", "Any?"))), + ActionMeta("AdditionalDescription", AdditionalDescription::class, listOf(ActionFieldMeta("title", "Any?"), ActionFieldMeta("description", "Any?"), ActionFieldMeta("image", "Any?"))), + ActionMeta("SetupDiscountItem", SetupDiscountItem::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("discountItem", "Any?"))), + ActionMeta("InitCrystalKitPackage", InitCrystalKitPackage::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("crystalKitPackage", "Any?"))), + ActionMeta("InitItemViewType", InitItemViewType::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("itemViewType", "Any?"))), + ActionMeta("InitAdditionalDescription", InitAdditionalDescription::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("title", "String"), ActionFieldMeta("description", "String"), ActionFieldMeta("image", "Long"))), + ActionMeta("InitFeatureItem", InitFeatureItem::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("item", "Any?"))), + ActionMeta("InitSpecialKitPackage", InitSpecialKitPackage::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("specialKitPackage", "Any?"))), + ActionMeta("InitRestrictionByPayMode", InitRestrictionByPayMode::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("paymenModeId", "Any?"))), + ActionMeta("InitSingleItemKit", InitSingleItemKit::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("singleItemKit", "Any?"))), + ActionMeta("InitCompensation", InitCompensation::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("compensation", "Any?"))), + ActionMeta("InitKitPackage", InitKitPackage::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("kitPackage", "Any?"))), + ActionMeta("InitShopItemName", InitShopItemName::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("shopItemName", "Any?"))), + ActionMeta("InitOneTimePurchaseItem", InitOneTimePurchaseItem::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("oneTimePurchaseItem", "Any?"))), + ActionMeta("InitGroup", InitGroup::class, listOf(ActionFieldMeta("id", "Any?"), ActionFieldMeta("group", "Int"))), + ActionMeta("InitKitBundle", InitKitBundle::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("kitBanner", "Any?"))), + ActionMeta("InitShopItem", InitShopItem::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("shopItem", "Any?"))), + ActionMeta("InitDiscountItem", InitDiscountItem::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("discountItem", "Any?"))), + ActionMeta("InitLootBoxAndPaint", InitLootBoxAndPaint::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("lootBoxAndPain", "Any?"))), + ActionMeta("InitRewardedVideosBlocks", InitRewardedVideosBlocks::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("blocks", "Any?"))), + ActionMeta("InitCoinPackage", InitCoinPackage::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("coinPackage", "Any?"))), + ActionMeta("InitKeysPackage", InitKeysPackage::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("keysPackage", "Any?"))), + ActionMeta("ShopCardExpired", ShopCardExpired::class, listOf(ActionFieldMeta("itemId", "Any?"))), + ActionMeta("DeleteOneTimePurchaseItem", DeleteOneTimePurchaseItem::class, listOf(ActionFieldMeta("shopItemId", "Any?"))), + ActionMeta("InitShopCard", InitShopCard::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("shopCard", "Any?"), ActionFieldMeta("goods", "Any?"), ActionFieldMeta("shopItemCategoryId", "Any?"))), + ActionMeta("InitShopCardView", InitShopCardView::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("shopCardView", "Any?"))), + ActionMeta("InitShopCardDiscount", InitShopCardDiscount::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("shopCardDiscount", "Any?"))), + ActionMeta("ShopCardRemoved", ShopCardRemoved::class, listOf(ActionFieldMeta("itemId", "Any?"))), + ActionMeta("ShopCardSold", ShopCardSold::class, listOf(ActionFieldMeta("itemId", "Any?"))), + ActionMeta("InitAmountString", InitAmountString::class, listOf(ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("amountString", "Any?"))), + ActionMeta("InitPaymentProviderItems", InitPaymentProviderItems::class, listOf(ActionFieldMeta("items", "Any?"))), + ActionMeta("TryToBuyOneTimePurchase", TryToBuyOneTimePurchase::class, listOf(ActionFieldMeta("shopItemId", "Any?"))), + ActionMeta("SetInitShopItemId", SetInitShopItemId::class, listOf(ActionFieldMeta("shopItemId", "Long?"))), + ActionMeta("SetPurchaseCompleted", SetPurchaseCompleted::class, listOf(ActionFieldMeta("shopItem", "Any?"))), + ActionMeta("SavePreviousScreen", SavePreviousScreen::class, listOf(ActionFieldMeta("screen", "Any?"))), + ActionMeta("SaveTargetVisitedCategory", SaveTargetVisitedCategory::class, listOf(ActionFieldMeta("targetCategory", "Any?"))), + ActionMeta("SaveTargetProductId", SaveTargetProductId::class, listOf(ActionFieldMeta("targetProductId", "Any?"))), + ActionMeta("OverviewProductPackageAndBuy", OverviewProductPackageAndBuy::class, listOf(ActionFieldMeta("shopItem", "Int"))), + ActionMeta("SelectMoneyPayModeAndBuy", SelectMoneyPayModeAndBuy::class, listOf(ActionFieldMeta("shopItem", "Any?"))), + ActionMeta("OpenShopByCategory", OpenShopByCategory::class, listOf(ActionFieldMeta("shopCategory", "Any?"), ActionFieldMeta("prevScreenId", "Any?"), ActionFieldMeta("targetCategory", "Any?"))), + ActionMeta("OpenShopByCategoryId", OpenShopByCategoryId::class, listOf(ActionFieldMeta("shopCategoryId", "Long"), ActionFieldMeta("prevScreenId", "Any?"), ActionFieldMeta("targetProductId", "Long"))), + ActionMeta("OpenShopByItemId", OpenShopByItemId::class, listOf(ActionFieldMeta("shopItemId", "Long"), ActionFieldMeta("prevScreenId", "Any?"), ActionFieldMeta("targetProductId", "Long"))), + ActionMeta("PayMode", PayMode::class, listOf(ActionFieldMeta("id", "Any?"), ActionFieldMeta("name", "Any?"), ActionFieldMeta("description", "Any?"), ActionFieldMeta("order", "Int"), ActionFieldMeta("image", "Long"), ActionFieldMeta("customManualDescription", "String"))), + ActionMeta("SelectItem", SelectItem::class, listOf(ActionFieldMeta("selectedItemId", "Any?"), ActionFieldMeta("forRealMoney", "Any?"))), + ActionMeta("CurrentPayMode", CurrentPayMode::class, listOf(ActionFieldMeta("payModeId", "Any?"))), + ActionMeta("BankPaymentInit", BankPaymentInit::class, listOf(ActionFieldMeta("payModeId", "Any?"), ActionFieldMeta("shopItem", "Any?"))), + ActionMeta("GotoSelectMode", GotoSelectMode::class, listOf(ActionFieldMeta("shopItemId", "Any?"))), + ActionMeta("LoadShop", LoadShop::class, listOf(ActionFieldMeta("shopItemId", "Any?"))), + ActionMeta("MobilePaymentStateChanged", MobilePaymentStateChanged::class, listOf(ActionFieldMeta("mobilePaymentState", "Any?"))), + ActionMeta("MobilePaymentInitPayment", MobilePaymentInitPayment::class, listOf(ActionFieldMeta("payModeId", "Any?"), ActionFieldMeta("phoneNumber", "Any?"), ActionFieldMeta("shopItemId", "Any?"))), + ActionMeta("MobilePaymentCheckNumber", MobilePaymentCheckNumber::class, listOf(ActionFieldMeta("payModeId", "Any?"), ActionFieldMeta("phoneNumber", "Any?"))), + ActionMeta("BraintreeLoadingInterrupt", BraintreeLoadingInterrupt::class, listOf(ActionFieldMeta("interrupt", "Boolean"))), + ActionMeta("BraintreePurchase", BraintreePurchase::class, listOf(ActionFieldMeta("payModeId", "Any?"), ActionFieldMeta("nonce", "Any?"), ActionFieldMeta("authorizationId", "Any?"), ActionFieldMeta("deviceData", "Any?"), ActionFieldMeta("shopItemId", "Any?"))), + ActionMeta("BraintreeError", BraintreeError::class, listOf(ActionFieldMeta("payModeId", "Any?"))), + ActionMeta("StripePaymentInit", StripePaymentInit::class, listOf(ActionFieldMeta("payModeId", "Any?"), ActionFieldMeta("shopItemId", "Any?"))), + ActionMeta("SetStripeIntentParams", SetStripeIntentParams::class, listOf(ActionFieldMeta("clientSecret", "Any?"), ActionFieldMeta("publishKey", "Any?"))), + ActionMeta("SteamProcessPurchase", SteamProcessPurchase::class, listOf(ActionFieldMeta("shopItemId", "Any?"), ActionFieldMeta("onFinalizePayment", "Any?"))), + ActionMeta("InitPaymentViewType", InitPaymentViewType::class, listOf(ActionFieldMeta("payModeId", "Any?"), ActionFieldMeta("paymentViewType", "Any?"))), + ActionMeta("PaymentUrlReceived", PaymentUrlReceived::class, listOf(ActionFieldMeta("url", "Any?"))), + ActionMeta("InitPayModeAction", InitPayModeAction::class, listOf(ActionFieldMeta("payMode", "Any?"))), + ActionMeta("SetBraintreeToken", SetBraintreeToken::class, listOf(ActionFieldMeta("token", "Any?"))), + ActionMeta("ValidatePayment", ValidatePayment::class, listOf(ActionFieldMeta("payModeId", "Any?"), ActionFieldMeta("transaction", "Any?"))), + ActionMeta("GooglePlayValidatePayment", GooglePlayValidatePayment::class, listOf(ActionFieldMeta("payModeId", "Any?"), ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("token", "String"), ActionFieldMeta("currency", "String"), ActionFieldMeta("price", "Int"))), + ActionMeta("GooglePlayValidateBridgePayment", GooglePlayValidateBridgePayment::class, listOf(ActionFieldMeta("payModeId", "Any?"), ActionFieldMeta("itemId", "Any?"), ActionFieldMeta("token", "Any?"))), + ActionMeta("GooglePlayValidateHistory", GooglePlayValidateHistory::class, listOf(ActionFieldMeta("payModeId", "Any?"), ActionFieldMeta("purchaseData", "Any?"))), + ActionMeta("SetCoinPaymentProviderUrl", SetCoinPaymentProviderUrl::class, listOf(ActionFieldMeta("url", "String"))), + ActionMeta("ToggleShopActivity", ToggleShopActivity::class, listOf(ActionFieldMeta("enabled", "Boolean"))), + ActionMeta("ValidatePaymentInternal", ValidatePaymentInternal::class, listOf(ActionFieldMeta("transaction", "Any?"))), + ActionMeta("Shop", Shop::class, listOf(ActionFieldMeta("shopCategories", "Any?"), ActionFieldMeta("shopItems", "Any?"), ActionFieldMeta("initShopItemId", "Any?"), ActionFieldMeta("selectedItemId", "Any?"), ActionFieldMeta("isLoaded", "Boolean"), ActionFieldMeta("itemForPurchase", "Any?"), ActionFieldMeta("enabled", "Any?"), ActionFieldMeta("coinPaymentProviderUrl", "Any?"), ActionFieldMeta("payModes", "Any?"), ActionFieldMeta("selectedPayModeId", "Any?"), ActionFieldMeta("paymentViewType", "Any?"), ActionFieldMeta("paymentUrl", "Any?"), ActionFieldMeta("receivePaymentUrlFailed", "Boolean"), ActionFieldMeta("mobileCountryCode", "Any?"), ActionFieldMeta("mobilePhoneLength", "Any?"), ActionFieldMeta("mobilePaymentState", "Any?"), ActionFieldMeta("paymentProviderState", "Any?"), ActionFieldMeta("asiassoftAmountInAtc", "Any?"), ActionFieldMeta("asiassoftEnoughMoney", "Any?"), ActionFieldMeta("braintreeToken", "Any?"), ActionFieldMeta("stripeClientSecret", "Any?"), ActionFieldMeta("stripePublishKey", "Any?"), ActionFieldMeta("isBlockedBackButton", "Boolean"), ActionFieldMeta("braintreeLoadingInterrupt", "Any?"), ActionFieldMeta("goToHomeAfterBuy", "Boolean"), ActionFieldMeta("previousScreen", "Any?"), ActionFieldMeta("targetCategory", "Any?"), ActionFieldMeta("targetProductId", "Any?"), ActionFieldMeta("lastPurchasedItem", "Any?"), ActionFieldMeta("ordersInProcessing", "Any?"))), + ActionMeta("SupportUrlState", SupportUrlState::class, listOf(ActionFieldMeta("url", "Any?"))), + ActionMeta("SetUrl", SetUrl::class, listOf(ActionFieldMeta("url", "Any?"))), + ActionMeta("SystemScreenState", SystemScreenState::class, listOf(ActionFieldMeta("message", "Any?"), ActionFieldMeta("restart", "Any?"), ActionFieldMeta("fatalError", "Any?"))), + ActionMeta("ShowSystemMessage", ShowSystemMessage::class, listOf(ActionFieldMeta("message", "Any?"))), + ActionMeta("ShowKickAlertWithTime", ShowKickAlertWithTime::class, listOf(ActionFieldMeta("blockReason", "Any?"), ActionFieldMeta("minutes", "Any?"), ActionFieldMeta("hours", "Any?"), ActionFieldMeta("days", "Any?"))), + ActionMeta("SetFatalError", SetFatalError::class, listOf(ActionFieldMeta("fatalError", "Any?"))), + ActionMeta("DoShowMessage", DoShowMessage::class, listOf(ActionFieldMeta("message", "Any?"), ActionFieldMeta("restart", "Boolean"))), + ActionMeta("TwitchState", TwitchState::class, listOf(ActionFieldMeta("isTwitchEnabled", "Any?"), ActionFieldMeta("twitchAccount", "Any?"), ActionFieldMeta("daysForNextLinking", "Any?"))), + ActionMeta("SetTwitchEnabled", SetTwitchEnabled::class, listOf(ActionFieldMeta("twitchEnabled", "Boolean"))), + ActionMeta("SetAccount", SetAccount::class, listOf(ActionFieldMeta("account", "String?"))), + ActionMeta("SetDaysForNextLinking", SetDaysForNextLinking::class, listOf(ActionFieldMeta("days", "Int"))), + ActionMeta("TwoStepVerificationState", TwoStepVerificationState::class, listOf(ActionFieldMeta("isUse2FA", "Any?"), ActionFieldMeta("isActivated2FA", "Any?"), ActionFieldMeta("qrCodeDataURI", "Any?"), ActionFieldMeta("sharedSecret", "Any?"), ActionFieldMeta("verificationStatus", "Any?"), ActionFieldMeta("enable2FaRequest", "Any?"))), + ActionMeta("SetUse2FA", SetUse2FA::class, listOf(ActionFieldMeta("isUse2FA", "Boolean"))), + ActionMeta("ActivationStatus2FA", ActivationStatus2FA::class, listOf(ActionFieldMeta("isActivated", "Boolean"))), + ActionMeta("SetSecretAndQRCode", SetSecretAndQRCode::class, listOf(ActionFieldMeta("sharedSecret", "Any?"), ActionFieldMeta("qrCodeDataURI", "Any?"))), + ActionMeta("AuthorizationByCode", AuthorizationByCode::class, listOf(ActionFieldMeta("code", "Any?"))), + ActionMeta("Disable2FA", Disable2FA::class, listOf(ActionFieldMeta("code", "Any?"))), + ActionMeta("VerificationStatus", VerificationStatus::class, listOf(ActionFieldMeta("isValidationSuccess", "Any?"))), + ActionMeta("Enable2FaRequest", Enable2FaRequest::class, listOf(ActionFieldMeta("enable", "Boolean"))), + ActionMeta("Validate", Validate::class, listOf(ActionFieldMeta("uid", "Any?"))), + ActionMeta("ValidateForPaidRename", ValidateForPaidRename::class, listOf(ActionFieldMeta("uid", "Any?"))), + ActionMeta("SetValidationStatus", SetValidationStatus::class, listOf(ActionFieldMeta("status", "Any?"))), + ActionMeta("UserLabelData", UserLabelData::class, listOf(ActionFieldMeta("userId", "Any?"), ActionFieldMeta("uid", "String"), ActionFieldMeta("rank", "Int"), ActionFieldMeta("hasPremium", "Boolean"), ActionFieldMeta("clanTag", "Any?"), ActionFieldMeta("teamRelation", "Any?"))), + ActionMeta("TemporaryCashSlot", TemporaryCashSlot::class, listOf(ActionFieldMeta("amount", "Any?"), ActionFieldMeta("daysToExpire", "Any?"))), + ActionMeta("User", User::class, listOf(ActionFieldMeta("isUserPropertiesLoaded", "Boolean"), ActionFieldMeta("id", "Any?"), ActionFieldMeta("clan", "Any?"), ActionFieldMeta("crystals", "Any?"), ActionFieldMeta("coins", "Any?"), ActionFieldMeta("spentCoins", "Int"), ActionFieldMeta("rubies", "Any?"), ActionFieldMeta("spentRubies", "Int"), ActionFieldMeta("hasTemporaryCash", "Any?"), ActionFieldMeta("rank", "Any?"), ActionFieldMeta("rankBounds", "Any?"), ActionFieldMeta("score", "Any?"), ActionFieldMeta("gearScore", "Any?"), ActionFieldMeta("weaponGS", "Any?"), ActionFieldMeta("hullGS", "Any?"), ActionFieldMeta("droneGS", "Any?"), ActionFieldMeta("bazookaGS", "Any?"), ActionFieldMeta("resistanceGS", "Any?"), ActionFieldMeta("rating", "Any?"), ActionFieldMeta("uid", "Any?"), ActionFieldMeta("clanTag", "Any?"), ActionFieldMeta("premiumExpirationTime", "Any?"), ActionFieldMeta("disabledWithoutPremiumLocations", "Any?"), ActionFieldMeta("hasPremium", "Any?"), ActionFieldMeta("hasSpectatorPermissions", "Any?"), ActionFieldMeta("rankNames", "Any?"), ActionFieldMeta("normalizedRank", "Any?"), ActionFieldMeta("profileUrl", "Any?"), ActionFieldMeta("eventPassEndTime", "Any?"), ActionFieldMeta("lobbyTutorialEnabled", "Boolean"), ActionFieldMeta("inDebt", "Boolean"), ActionFieldMeta("batteryLevel", "Any?"))), + ActionMeta("UpdateCrystals", UpdateCrystals::class, listOf(ActionFieldMeta("crystal", "Int"))), + ActionMeta("SpendCrystals", SpendCrystals::class, listOf(ActionFieldMeta("crystal", "Any?"))), + ActionMeta("AddCoins", AddCoins::class, listOf(ActionFieldMeta("coins", "Any?"))), + ActionMeta("SpendCoins", SpendCoins::class, listOf(ActionFieldMeta("coins", "Any?"))), + ActionMeta("SetCoins", SetCoins::class, listOf(ActionFieldMeta("coins", "Int"))), + ActionMeta("AddRubies", AddRubies::class, listOf(ActionFieldMeta("rubies", "Any?"))), + ActionMeta("SpendRubies", SpendRubies::class, listOf(ActionFieldMeta("rubies", "Any?"))), + ActionMeta("SetRubies", SetRubies::class, listOf(ActionFieldMeta("rubies", "Int"))), + ActionMeta("SetHasTemporaryCash", SetHasTemporaryCash::class, listOf(ActionFieldMeta("hasTemporaryCash", "Any?"))), + ActionMeta("UpdateGearScore", UpdateGearScore::class, listOf(ActionFieldMeta("gearScore", "Int"), ActionFieldMeta("weaponGS", "Int"), ActionFieldMeta("hullGS", "Int"), ActionFieldMeta("droneGS", "Int"), ActionFieldMeta("bazookaGS", "Int"), ActionFieldMeta("resistanceGS", "Int"))), + ActionMeta("UpdateUserRating", UpdateUserRating::class, listOf(ActionFieldMeta("userRating", "Any?"))), + ActionMeta("UpdateUid", UpdateUid::class, listOf(ActionFieldMeta("uid", "Any?"))), + ActionMeta("UpdateClanTag", UpdateClanTag::class, listOf(ActionFieldMeta("clanTag", "String"))), + ActionMeta("UpdateRank", UpdateRank::class, listOf(ActionFieldMeta("rank", "Any?"), ActionFieldMeta("score", "Any?"), ActionFieldMeta("bounds", "Any?"))), + ActionMeta("SetRankNames", SetRankNames::class, listOf(ActionFieldMeta("rankNames", "List"))), + ActionMeta("SetUserId", SetUserId::class, listOf(ActionFieldMeta("userId", "Long"))), + ActionMeta("SetUserPropertiesAction", SetUserPropertiesAction::class, listOf(ActionFieldMeta("user", "UserPropertiesCC"))), + ActionMeta("UpdatePremium", UpdatePremium::class, listOf(ActionFieldMeta("hasPremium", "Boolean"))), + ActionMeta("UpdateEventPass", UpdateEventPass::class, listOf(ActionFieldMeta("eventPassEndTime", "Int"))), + ActionMeta("SetPremiumExpirationTime", SetPremiumExpirationTime::class, listOf(ActionFieldMeta("expirationTime", "Any?"))), + ActionMeta("SetPremiumRemainingSeconds", SetPremiumRemainingSeconds::class, listOf(ActionFieldMeta("seconds", "Int"))), + ActionMeta("SetDisabledWithoutPremiumLocations", SetDisabledWithoutPremiumLocations::class, listOf(ActionFieldMeta("locations", "Any?"))), + ActionMeta("SetClanInfo", SetClanInfo::class, listOf(ActionFieldMeta("clan", "Any?"))), + ActionMeta("SetAppAccountToken", SetAppAccountToken::class, listOf(ActionFieldMeta("appAccountToken", "Any?"))), + ActionMeta("SetBatteryLevel", SetBatteryLevel::class, listOf(ActionFieldMeta("level", "Any?"))), + ActionMeta("UserRenameState", UserRenameState::class, listOf(ActionFieldMeta("isFreeRenameAvailable", "Any?"), ActionFieldMeta("userRenameShopItemId", "Any?"), ActionFieldMeta("uidInputState", "Any?"), ActionFieldMeta("renameSuccessful", "Any?"), ActionFieldMeta("rubiesForRename", "Any?"), ActionFieldMeta("isResponseDelivered", "Any?"), ActionFieldMeta("isResponseActual", "Any?"), ActionFieldMeta("changeUidHash", "Any?"), ActionFieldMeta("email", "Any?"), ActionFieldMeta("showLinkErrorWarning", "Any?"))), + ActionMeta("ChangeUidInputState", ChangeUidInputState::class, listOf(ActionFieldMeta("uidInputState", "Any?"))), + ActionMeta("Rename", Rename::class, listOf(ActionFieldMeta("uid", "Any?"))), + ActionMeta("SetRubiesForRename", SetRubiesForRename::class, listOf(ActionFieldMeta("rubiesForRename", "Int"))), + ActionMeta("ResponseDelivered", ResponseDelivered::class, listOf(ActionFieldMeta("isDelivered", "Boolean"))), + ActionMeta("ResponseActual", ResponseActual::class, listOf(ActionFieldMeta("isResponseActual", "Boolean"))), + ActionMeta("SetChangeUidParams", SetChangeUidParams::class, listOf(ActionFieldMeta("changeUidHash", "Any?"), ActionFieldMeta("email", "Any?"))), + ActionMeta("ChangeUidAndPassword", ChangeUidAndPassword::class, listOf(ActionFieldMeta("email", "Any?"), ActionFieldMeta("changeUidHash", "Any?"), ActionFieldMeta("newUid", "Any?"), ActionFieldMeta("password", "Any?"))), + ActionMeta("CreateBattleCanvas", CreateBattleCanvas::class, listOf(ActionFieldMeta("canvas", "Any?"))), + ActionMeta("BattleCreateState", BattleCreateState::class, listOf(ActionFieldMeta("config", "Any?"), ActionFieldMeta("name", "Any?"), ActionFieldMeta("selectedMinRank", "Int"), ActionFieldMeta("selectedMaxRank", "Int"), ActionFieldMeta("availableMinRank", "Int"), ActionFieldMeta("availableMaxRank", "Int"), ActionFieldMeta("battleMode", "Any?"), ActionFieldMeta("maxPeopleInTeam", "Any?"), ActionFieldMeta("timeLimitInMinutes", "Any?"), ActionFieldMeta("scoreLimit", "Any?"), ActionFieldMeta("format", "Any?"), ActionFieldMeta("map", "Any?"), ActionFieldMeta("selectedOptions", "Any?"), ActionFieldMeta("creating", "Any?"), ActionFieldMeta("mapTheme", "Any?"), ActionFieldMeta("search", "Any?"), ActionFieldMeta("isExpandThemesPanel", "Any?"), ActionFieldMeta("currentPage", "Any?"))), + ActionMeta("BattleOpt", BattleOpt::class, listOf(ActionFieldMeta("format", "Any?"), ActionFieldMeta("mode", "Any?"), ActionFieldMeta("map", "Any?"), ActionFieldMeta("name", "Any?"), ActionFieldMeta("maxPeople", "Any?"), ActionFieldMeta("timeLimit", "Any?"), ActionFieldMeta("scoreLimit", "Any?"), ActionFieldMeta("maxRank", "Any?"), ActionFieldMeta("minRank", "Any?"), ActionFieldMeta("selectedOptions", "Any?"))), + ActionMeta("SetRestrictions", SetRestrictions::class, listOf(ActionFieldMeta("restrictions", "Any?"))), + ActionMeta("CreateBattle", CreateBattle::class, listOf(ActionFieldMeta("options", "Any?"))), + ActionMeta("BattleChatUserMessage", BattleChatUserMessage::class, listOf(ActionFieldMeta("id", "Any?"), ActionFieldMeta("userId", "Any?"), ActionFieldMeta("message", "Any?"), ActionFieldMeta("team", "Any?"))), + ActionMeta("BattleChatTeamMessage", BattleChatTeamMessage::class, listOf(ActionFieldMeta("id", "Any?"), ActionFieldMeta("userId", "Any?"), ActionFieldMeta("message", "Any?"), ActionFieldMeta("team", "Any?"))), + ActionMeta("BattleChatSpectatorMessage", BattleChatSpectatorMessage::class, listOf(ActionFieldMeta("id", "Any?"), ActionFieldMeta("message", "Any?"))), + ActionMeta("BattleChatSystemMessage", BattleChatSystemMessage::class, listOf(ActionFieldMeta("message", "Any?"))), + ActionMeta("BattleChatState", BattleChatState::class, listOf(ActionFieldMeta("commonBattleChatEnabled", "Any?"), ActionFieldMeta("teamBattleChatEnabled", "Any?"), ActionFieldMeta("loaded", "Any?"), ActionFieldMeta("messages", "Any?"), ActionFieldMeta("isInputActive", "Any?"), ActionFieldMeta("isHistoryOpen", "Any?"))), + ActionMeta("VoteForUser", VoteForUser::class, listOf(ActionFieldMeta("userId", "Any?"), ActionFieldMeta("userUid", "Any?"))), + ActionMeta("AddMessage", AddMessage::class, listOf(ActionFieldMeta("message", "Any?"))), + ActionMeta("ChatLoaded", ChatLoaded::class, listOf(ActionFieldMeta("commonBattleChatEnabled", "Boolean"), ActionFieldMeta("teamBattleChatEnabled", "Boolean"))), + ActionMeta("SendSpectatorTeamMessage", SendSpectatorTeamMessage::class, listOf(ActionFieldMeta("message", "Any?"), ActionFieldMeta("team", "Any?"))), + ActionMeta("BattleInviteState", BattleInviteState::class, listOf(ActionFieldMeta("isEnabled", "Any?"), ActionFieldMeta("invitedUsers", "Any?"), ActionFieldMeta("selectedForInvite", "Any?"))), + ActionMeta("EnableSetBattleInviteNotifications", EnableSetBattleInviteNotifications::class, listOf(ActionFieldMeta("isEnabled", "Boolean"))), + ActionMeta("SendInviteUsers", SendInviteUsers::class, listOf(ActionFieldMeta("battleId", "Any?"))), + ActionMeta("RemoveUserFromInvited", RemoveUserFromInvited::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("SelectUserToInvite", SelectUserToInvite::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("OnClickToInvited", OnClickToInvited::class, listOf(ActionFieldMeta("userId", "Any?"))), + ActionMeta("Notify", Notify::class, listOf(ActionFieldMeta("userId", "Any?"), ActionFieldMeta("data", "Any?"))), + ActionMeta("InvitationResponse", InvitationResponse::class, listOf(ActionFieldMeta("userId", "Any?"), ActionFieldMeta("response", "Any?"))), + ActionMeta("BattleSearchState", BattleSearchState::class, listOf(ActionFieldMeta("filter", "Any?"), ActionFieldMeta("selectedFormat", "Any?"), ActionFieldMeta("search", "Any?"), ActionFieldMeta("suspiciousBattlesOnly", "Any?"), ActionFieldMeta("selectedBattleId", "Any?"))), + ActionMeta("SetSuspiciousFilter", SetSuspiciousFilter::class, listOf(ActionFieldMeta("suspiciousBattlesOnly", "Boolean"))), + ActionMeta("SetFilter", SetFilter::class, listOf(ActionFieldMeta("filter", "Boolean"))), + ActionMeta("SetSearch", SetSearch::class, listOf(ActionFieldMeta("search", "Any?"))), + ActionMeta("SelectBattle", SelectBattle::class, listOf(ActionFieldMeta("battleId", "Long"))), + ActionMeta("SelectBattleFormat", SelectBattleFormat::class, listOf(ActionFieldMeta("format", "BattleFormat"))), + ActionMeta("ProBattleState", ProBattleState::class, listOf(ActionFieldMeta("lastFightBattleId", "Any?"), ActionFieldMeta("lastFightBattleTeam", "Any?"), ActionFieldMeta("battlePasswords", "Any?"))), + ActionMeta("Fight", Fight::class, listOf(ActionFieldMeta("battleId", "Any?"), ActionFieldMeta("battleTeam", "Any?"))), + ActionMeta("Spectate", Spectate::class, listOf(ActionFieldMeta("battleId", "Any?"))), + ActionMeta("CheckPassword", CheckPassword::class, listOf(ActionFieldMeta("battleId", "Any?"), ActionFieldMeta("password", "Any?"))), + ActionMeta("GoToBattleInfo", GoToBattleInfo::class, listOf(ActionFieldMeta("battleId", "Any?"))), + ActionMeta("ActivateBattle", ActivateBattle::class, listOf(ActionFieldMeta("battleId", "Any?"))), + ActionMeta("GoToBattleInfoByBattleId", GoToBattleInfoByBattleId::class, listOf(ActionFieldMeta("battleId", "Any?"))), + ActionMeta("ContextMenuData", ContextMenuData::class, listOf(ActionFieldMeta("user", "Any?"), ActionFieldMeta("messageId", "Long"), ActionFieldMeta("isPrivateMessage", "Boolean"), ActionFieldMeta("positionX", "Any?"), ActionFieldMeta("positionY", "Any?"))), + ActionMeta("ClanChatState", ClanChatState::class, listOf(ActionFieldMeta("open", "Any?"), ActionFieldMeta("messages", "Any?"), ActionFieldMeta("config", "Any?"))), + ActionMeta("AddMessagesHistory", AddMessagesHistory::class, listOf(ActionFieldMeta("messages", "Any?"))), + ActionMeta("DoAddMessages", DoAddMessages::class, listOf(ActionFieldMeta("messages", "Any?"))), + ActionMeta("ContractState", ContractState::class, listOf(ActionFieldMeta("activeContractId", "Any?"), ActionFieldMeta("contracts", "Any?"), ActionFieldMeta("lastBattleProgress", "Any?"))), + ActionMeta("SetActiveContract", SetActiveContract::class, listOf(ActionFieldMeta("contractId", "Any?"))), + ActionMeta("SetContract", SetContract::class, listOf(ActionFieldMeta("contract", "Any?"))), + ActionMeta("UpdateProgress", UpdateProgress::class, listOf(ActionFieldMeta("contactId", "Any?"), ActionFieldMeta("progress", "Any?"))), + ActionMeta("SetBattleProgress", SetBattleProgress::class, listOf(ActionFieldMeta("progress", "Any?"))), + ActionMeta("EarlyCompletion", EarlyCompletion::class, listOf(ActionFieldMeta("contactId", "Any?"), ActionFieldMeta("price", "Any?"))), + ActionMeta("SetAgeWarnShow", SetAgeWarnShow::class, listOf(ActionFieldMeta("isShow", "Boolean"))), + ActionMeta("EntranceScreenOpen", EntranceScreenOpen::class, listOf(ActionFieldMeta("entranceScreen", "String"))), + ActionMeta("EntranceButtonClick", EntranceButtonClick::class, listOf(ActionFieldMeta("button", "String"))), + ActionMeta("ChinaSDKTokenLogin", ChinaSDKTokenLogin::class, listOf(ActionFieldMeta("token", "Any?"))), + ActionMeta("ClassicEarlyAccessLogin", ClassicEarlyAccessLogin::class, listOf(ActionFieldMeta("token", "Any?"))), + ActionMeta("ValidateMigrationHash", ValidateMigrationHash::class, listOf(ActionFieldMeta("migrationHash", "Any?"))), + ActionMeta("BattleReEnterProtectContinueEnter", BattleReEnterProtectContinueEnter::class, listOf(ActionFieldMeta("releaseBattleSlot", "Boolean"))), + ActionMeta("SetInviteStatus", SetInviteStatus::class, listOf(ActionFieldMeta("inviteStatus", "Any?"), ActionFieldMeta("existUid", "Any?"))), + ActionMeta("MigrationState", MigrationState::class, listOf(ActionFieldMeta("requestLogin", "Any?"), ActionFieldMeta("login", "Any?"), ActionFieldMeta("forceLogin", "Any?"), ActionFieldMeta("password", "Any?"), ActionFieldMeta("loginStatus", "Any?"), ActionFieldMeta("registerStatus", "Any?"), ActionFieldMeta("advisedUids", "Any?"))), + ActionMeta("MigrationCompleteWithUidAction", MigrationCompleteWithUidAction::class, listOf(ActionFieldMeta("uid", "Any?"), ActionFieldMeta("password", "Any?"))), + ActionMeta("MigrationCompleteAction", MigrationCompleteAction::class, listOf(ActionFieldMeta("password", "Any?"))), + ActionMeta("RegisterState", RegisterState::class, listOf(ActionFieldMeta("isDisabled", "Any?"), ActionFieldMeta("login", "Any?"), ActionFieldMeta("forceLogin", "Any?"), ActionFieldMeta("password", "Any?"), ActionFieldMeta("uidValidationStatus", "Any?"), ActionFieldMeta("registerStatus", "Any?"), ActionFieldMeta("advisedUids", "Any?"), ActionFieldMeta("socialNetworkAvailability", "Any?"), ActionFieldMeta("socialNetworkClientIds", "Any?"), ActionFieldMeta("socialNetworkOAuthData", "Any?"), ActionFieldMeta("minPasswordLength", "Any?"), ActionFieldMeta("maxPasswordLength", "Any?"), ActionFieldMeta("passwordNeedLower", "Any?"), ActionFieldMeta("passwordNeedUpper", "Any?"), ActionFieldMeta("passwordNeedDigit", "Any?"), ActionFieldMeta("openedPassword", "Any?"))), + ActionMeta("StartOAuthData", StartOAuthData::class, listOf(ActionFieldMeta("authMethod", "Any?"), ActionFieldMeta("url", "Any?"))), + ActionMeta("SetPasswordRestrictions", SetPasswordRestrictions::class, listOf(ActionFieldMeta("minPasswordLength", "Int"), ActionFieldMeta("maxPasswordLength", "Int"), ActionFieldMeta("passwordNeedLower", "Boolean"), ActionFieldMeta("passwordNeedUpper", "Boolean"), ActionFieldMeta("passwordNeedDigit", "Boolean"))), + ActionMeta("EnteredUidIsBusy", EnteredUidIsBusy::class, listOf(ActionFieldMeta("advisedUids", "Any?"))), + ActionMeta("SetChinaUserRealName", SetChinaUserRealName::class, listOf(ActionFieldMeta("realName", "String"))), + ActionMeta("SetChinaUserId", SetChinaUserId::class, listOf(ActionFieldMeta("chinaUserId", "String"))), + ActionMeta("SetUid", SetUid::class, listOf(ActionFieldMeta("uid", "Any?"))), + ActionMeta("ForceSetUid", ForceSetUid::class, listOf(ActionFieldMeta("uid", "Any?"))), + ActionMeta("AppleSignIn", AppleSignIn::class, listOf(ActionFieldMeta("code", "Any?"))), + ActionMeta("SocialNetworkAvailability", SocialNetworkAvailability::class, listOf(ActionFieldMeta("socialNetworkAvailability", "Map"))), + ActionMeta("SocialNetworkClientIds", SocialNetworkClientIds::class, listOf(ActionFieldMeta("socialNetworkClientIds", "Any?"))), + ActionMeta("RequestOAuthUriWithRedirect", RequestOAuthUriWithRedirect::class, listOf(ActionFieldMeta("socialNetworkId", "Any?"), ActionFieldMeta("frontendRedirectUri", "Any?"), ActionFieldMeta("instantLogin", "Boolean"))), + ActionMeta("RequestOAuthUriWithNewWindow", RequestOAuthUriWithNewWindow::class, listOf(ActionFieldMeta("socialNetworkId", "Any?"))), + ActionMeta("ReceiveOAuthUri", ReceiveOAuthUri::class, listOf(ActionFieldMeta("startOAuthData", "Any?"))), + ActionMeta("ExternalLoginByOAuthState", ExternalLoginByOAuthState::class, listOf(ActionFieldMeta("state", "Any?"))), + ActionMeta("SetOpenedPassword", SetOpenedPassword::class, listOf(ActionFieldMeta("openedPassword", "Boolean"))), + ActionMeta("TankBuilderState", TankBuilderState::class, listOf(ActionFieldMeta("hulls", "Any?"), ActionFieldMeta("weapons", "Any?"), ActionFieldMeta("paints", "Any?"), ActionFieldMeta("paintInfo", "Any?"), ActionFieldMeta("partInfo", "Any?"), ActionFieldMeta("kode", "Any?"))), + ActionMeta("LogAction", LogAction::class, listOf(ActionFieldMeta("action", "Any?"), ActionFieldMeta("itemId", "Any?"))), + ActionMeta("SetKode", SetKode::class, listOf(ActionFieldMeta("kode", "Any?"))), + ActionMeta("SetParts", SetParts::class, listOf(ActionFieldMeta("parts", "Any?"), ActionFieldMeta("paints", "Any?"))), + ActionMeta("SetPartsInfo", SetPartsInfo::class, listOf(ActionFieldMeta("partsInfo", "Any?"), ActionFieldMeta("paintsInfo", "Any?"))), + ActionMeta("LoadItem", LoadItem::class, listOf(ActionFieldMeta("itemId", "Any?"))), + ActionMeta("RequestItem", RequestItem::class, listOf(ActionFieldMeta("itemId", "Any?"))), + ActionMeta("Apply", Apply::class, listOf(ActionFieldMeta("hullId", "Any?"), ActionFieldMeta("weaponId", "Any?"), ActionFieldMeta("paintId", "Any?"))), + ActionMeta("SetRating", SetRating::class, listOf(ActionFieldMeta("rating", "Int"))), + ActionMeta("Quests", Quests::class, listOf(ActionFieldMeta("currentSection", "Any?"), ActionFieldMeta("currentCategory", "Any?"), ActionFieldMeta("isNotCompletedQuests", "Any?"))), + ActionMeta("QuestsChangeCategory", QuestsChangeCategory::class, listOf(ActionFieldMeta("previousScreen", "Any?"), ActionFieldMeta("previousQuests", "String"), ActionFieldMeta("currentQuests", "String"))), + ActionMeta("SetCurrentCategory", SetCurrentCategory::class, listOf(ActionFieldMeta("currentCategory", "Any?"))), + ActionMeta("GoToCategory", GoToCategory::class, listOf(ActionFieldMeta("idQuestCategory", "Long"), ActionFieldMeta("history", "Boolean"))), + ActionMeta("SetRewardForDialog", SetRewardForDialog::class, listOf(ActionFieldMeta("battlePassFlavor", "Any?"), ActionFieldMeta("stars", "Any?"))), + ActionMeta("AvailabilityByRankState", AvailabilityByRankState::class, listOf(ActionFieldMeta("data", "Any?"))), + ActionMeta("ShowOrLoadAvailableItems", ShowOrLoadAvailableItems::class, listOf(ActionFieldMeta("rank", "Any?"))), + ActionMeta("SetAndShowLoadedData", SetAndShowLoadedData::class, listOf(ActionFieldMeta("rank", "Int"), ActionFieldMeta("rankData", "Any?"))), + ActionMeta("LoadAvailableByRank", LoadAvailableByRank::class, listOf(ActionFieldMeta("rank", "Any?"))), + ActionMeta("SetLoadedData", SetLoadedData::class, listOf(ActionFieldMeta("loadedData", "Any?"))), + ActionMeta("AccountSettings", AccountSettings::class, listOf(ActionFieldMeta("isCurrentPasswordMandatory", "Any?"), ActionFieldMeta("currentPassword", "Any?"), ActionFieldMeta("newPassword", "Any?"), ActionFieldMeta("repeatNewPassword", "Any?"), ActionFieldMeta("newPasswordStatus", "Any?"), ActionFieldMeta("countryCode", "Any?"), ActionFieldMeta("countryName", "Any?"), ActionFieldMeta("email", "Any?"), ActionFieldMeta("emailConfirmed", "Any?"), ActionFieldMeta("locationCheckEnabled", "Any?"), ActionFieldMeta("isUnlockButtonForRenameUid", "Any?"), ActionFieldMeta("isClearInputUid", "Any?"), ActionFieldMeta("removalTimer", "Any?"))), + ActionMeta("ClearInputUid", ClearInputUid::class, listOf(ActionFieldMeta("isClearInputUid", "Boolean"))), + ActionMeta("SetAccountRemovalDays", SetAccountRemovalDays::class, listOf(ActionFieldMeta("removalTimer", "Long"))), + ActionMeta("SetNewPasswordAndValidate", SetNewPasswordAndValidate::class, listOf(ActionFieldMeta("password", "Any?"))), + ActionMeta("SetRepeatPasswordAndValidate", SetRepeatPasswordAndValidate::class, listOf(ActionFieldMeta("password", "Any?"))), + ActionMeta("SoundSettings", SoundSettings::class, listOf(ActionFieldMeta("masterVolume", "Any?"), ActionFieldMeta("uiVolume", "Any?"), ActionFieldMeta("musicVolume", "Any?"), ActionFieldMeta("ambientVolume", "Any?"), ActionFieldMeta("sfxVolume", "Any?"), ActionFieldMeta("hitmarkPlayerVolume", "Any?"), ActionFieldMeta("hitmarkEnemyVolume", "Any?"), ActionFieldMeta("mute", "Boolean"), ActionFieldMeta("muteInBackground", "Any?"), ActionFieldMeta("isEntranceSoundOn", "Any?"))), + ActionMeta("SetEntranceSoundEnabled", SetEntranceSoundEnabled::class, listOf(ActionFieldMeta("settings", "Any?"))), + ActionMeta("UpdateEntranceSoundEnabled", UpdateEntranceSoundEnabled::class, listOf(ActionFieldMeta("updateSettingsHandler", "Any?"))), + ActionMeta("DroppableGoldState", DroppableGoldState::class, listOf(ActionFieldMeta("showDroppableGoldAuthor", "Any?"))), + ActionMeta("KeyboardSettings", KeyboardSettings::class, listOf(ActionFieldMeta("mapping", "Any?"))), + ActionMeta("ChangeAction", ChangeAction::class, listOf(ActionFieldMeta("action", "Any?"), ActionFieldMeta("index", "Int"), ActionFieldMeta("keyState", "Any?"))), + ActionMeta("RemoveAction", RemoveAction::class, listOf(ActionFieldMeta("action", "Any?"), ActionFieldMeta("index", "Int"))), + ActionMeta("ResetAction", ResetAction::class, listOf(ActionFieldMeta("action", "Any?"))), + ActionMeta("Settings", Settings::class, listOf(ActionFieldMeta("currentCategory", "Any?"), ActionFieldMeta("disableAccountSettings", "Any?"))), + ActionMeta("ProcessPurchase", ProcessPurchase::class, listOf(ActionFieldMeta("shopItemId", "Any?"))), + ActionMeta("ConfirmPayment", ConfirmPayment::class, listOf(ActionFieldMeta("shopItemId", "Any?"))), + ActionMeta("InitProductIdMap", InitProductIdMap::class, listOf(ActionFieldMeta("id2providerId", "Any?"))), + ActionMeta("SuppliesTutorialState", SuppliesTutorialState::class, listOf(ActionFieldMeta("loadedElement", "Any?"), ActionFieldMeta("activatedInCurrentBattle", "Any?"))), + ActionMeta("ActivatedInCurrentBattle", ActivatedInCurrentBattle::class, listOf(ActionFieldMeta("effectActivated", "Boolean"))), + ActionMeta("SetLoadedElement", SetLoadedElement::class, listOf(ActionFieldMeta("loadedElement", "Any?"))), + ActionMeta("TipsState", TipsState::class, listOf(ActionFieldMeta("tips", "Any?"))), + ActionMeta("UpdateTips", UpdateTips::class, listOf(ActionFieldMeta("tips", "Any?"))), + ActionMeta("UpdateTipsFromServer", UpdateTipsFromServer::class, listOf(ActionFieldMeta("tipsData", "Any?"), ActionFieldMeta("hash", "Any?"))), + ActionMeta("TipsContent", TipsContent::class, listOf(ActionFieldMeta("minRank", "Int"), ActionFieldMeta("maxRank", "Int"), ActionFieldMeta("tip", "Any?"))), + ActionMeta("TipsDataStore", TipsDataStore::class, listOf(ActionFieldMeta("data", "Any?"), ActionFieldMeta("lang", "Any?"))), + ActionMeta("ContextTutorialState", ContextTutorialState::class, listOf(ActionFieldMeta("currentElement", "Any?"), ActionFieldMeta("loadedElements", "Any?"), ActionFieldMeta("unViewedElements", "Any?"), ActionFieldMeta("missionToElement", "Any?"))), + ActionMeta("LoadCurrentElement", LoadCurrentElement::class, listOf(ActionFieldMeta("element", "Any?"))), + ActionMeta("SetUnViewedElements", SetUnViewedElements::class, listOf(ActionFieldMeta("unViewedElements", "List"))), + ActionMeta("SetLoadedElements", SetLoadedElements::class, listOf(ActionFieldMeta("loadedElements", "Any?"))), + ActionMeta("MarkElementAsViewed", MarkElementAsViewed::class, listOf(ActionFieldMeta("element", "Any?"))), + ActionMeta("SetMissionToElement", SetMissionToElement::class, listOf(ActionFieldMeta("missionToElement", "Map"))), + ActionMeta("ShowTutorialForContext", ShowTutorialForContext::class, listOf(ActionFieldMeta("element", "Any?"))), + ActionMeta("ShowTutorialForShopCategory", ShowTutorialForShopCategory::class, listOf(ActionFieldMeta("name", "Any?"), ActionFieldMeta("description", "Any?"))), + ActionMeta("LoadOrShowTutorial", LoadOrShowTutorial::class, listOf(ActionFieldMeta("element", "Any?"), ActionFieldMeta("callback", "Any?"))), + ActionMeta("AddLoadedElement", AddLoadedElement::class, listOf(ActionFieldMeta("element", "Any?"), ActionFieldMeta("content", "Any?"))), + ActionMeta("UserReportsState", UserReportsState::class, listOf(ActionFieldMeta("isEnabled", "Any?"), ActionFieldMeta("helpdeskTicketsEnabled", "Any?"), ActionFieldMeta("availableReports", "Any?"), ActionFieldMeta("availableGameReports", "Any?"), ActionFieldMeta("reports", "Any?"))), + ActionMeta("InitUserReports", InitUserReports::class, listOf(ActionFieldMeta("isEnabled", "Boolean"), ActionFieldMeta("helpdeskTicketsEnabled", "Boolean"), ActionFieldMeta("availableReports", "Int"), ActionFieldMeta("availableGameReports", "Int"))), + ActionMeta("SetAvailableReports", SetAvailableReports::class, listOf(ActionFieldMeta("availableReports", "Any?"))), + ActionMeta("SetAvailableGameReports", SetAvailableGameReports::class, listOf(ActionFieldMeta("availableGameReports", "Any?"))), + ActionMeta("ReportProBattleName", ReportProBattleName::class, listOf(ActionFieldMeta("battleId", "Any?"))), + ActionMeta("ReportLobbyChatMessage", ReportLobbyChatMessage::class, listOf(ActionFieldMeta("messageId", "Any?"))), + ActionMeta("ReportBattleChatMessage", ReportBattleChatMessage::class, listOf(ActionFieldMeta("messageId", "Any?"))), + ActionMeta("SentReportsStore", SentReportsStore::class, listOf(ActionFieldMeta("data", "Any?"))), + ActionMeta("SentReportData", SentReportData::class, listOf(ActionFieldMeta("type", "Any?"), ActionFieldMeta("id", "Any?"), ActionFieldMeta("time", "Any?"))), + ActionMeta("InitState", InitState::class, listOf(ActionFieldMeta("type", "Any?"), ActionFieldMeta("action", "Any?"))), + ) + + val ByName: Map = All.associateBy { it.Name } + + /** 运行时 dispatch 打点里真实出现过的动作名(真值证据)。 */ + val TracedNames: Set = setOf("AddBattle", "AddIncomingClan", "AddItemNotifications", "AddMap", "AddMessage", "AddMessages", "AddNewIncoming", "AddNewIncomingClan", "AddOverdriveDescription", "AddRelatedBazooka", "AddRelatedResistanceModule", "AddUser", "AddUsers", "AddUsersToAccepted", "AddUsersToIncoming", "AddUsersToNewAccepted", "AddUsersToNewIncoming", "ChatLoaded", "Configure", "EnableSetBattleInviteNotifications", "EnterToBattle", "GarageDevicesLoadedAction", "GarageUpdateDepotItem", "GarageUpgradeItemConfirm", "GoTo", "Init", "InitGarageResources", "InitNotificationSound", "InitProBattleRewardLimit", "InitState", "InitSuspiciousState", "InitUserReports", "LimitReached", "Loaded", "NewAcceptedUserNotification", "NewClanInviteNotification", "NewIncomingUserNotification", "OnChangeEquipment", "OnKilled", "OnSuicide", "OnUserJoinTheBattle", "OnUserLeaveTheBattle", "PauseActivated", "QuestsChangeCategory", "QuestsLoaded", "RemoveBattle", "RemoveItemNotification", "RemoveTankInfo", "RemoveUser", "RoundFinish", "RoundStarted", "SelectBattle", "SelectBattleFormat", "SetAccount", "SetActiveContract", "SetAttachedCreatorTag", "SetBattleMode", "SetBattlePassPackages", "SetBattleUpdatedQuests", "SetChallenge", "SetClanEditPrice", "SetCoinPaymentProviderUrl", "SetCoins", "SetContainerData", "SetContract", "SetCreatorTags", "SetDaysForNextLinking", "SetDisabledWithoutPremiumLocations", "SetDrone", "SetEventPassShopItemId", "SetFlagOrBallOwner", "SetGarageSkinsAction", "SetGearScore", "SetIcons", "SetIdleKickPeriod", "SetInviteNeed", "SetKeys", "SetLimits", "SetLocalWeaponResistanceProperty", "SetLocations", "SetMinRankForCreate", "SetMissionToElement", "SetMountedItemsProperties", "SetNewsItemAction", "SetPaint", "SetPasswordRestrictions", "SetPremiumRemainingSeconds", "SetProfileBlockStatus", "SetPromoCode", "SetQuestCategories", "SetQuestCategoriesStatistic", "SetRankIndexToMinGS", "SetRankNames", "SetRankRange", "SetReArmor", "SetReArmorTemporaryDisabled", "SetReferralEventData", "SetReferrals", "SetRestrictionMount", "SetRubies", "SetRubiesForRename", "SetSpectator", "SetTankInfo", "SetTankResistance", "SetTwitchEnabled", "SetUnViewedElements", "SetUse2FA", "SetUserId", "SetUserPropertiesAction", "SocialNetworkAvailability", "SocialNetworkClientIds", "SubscribeUpdateUserData", "SwapTeam", "ToggleShopActivity", "UnsubscribeUpdateUserData", "UpdateClanLicense", "UpdateCrystals", "UpdateEventPass", "UpdateFund", "UpdateGearScore", "UpdateHasClan", "UpdateOnlineStatus", "UpdatePremiumStatus", "UpdateQuests", "UpdateRanks", "UpdateScore", "UpdateStars", "UpdateTeamScore", "UpdateTimeToJoinRestriction", "UpdateTypingSpeedAntifloodParams", "UpdateUids", "UpdateUserScore", "UpdateUserScoreKillsAndDeaths", "UpdateUsersScoreKillsAndDeaths", "UserEnterBattle") + + /** 打点里出现但目录里没有的名字(正常应为空)。 */ + fun MissingTraced(): List = TracedNames.filter { !ByName.containsKey(it) }.sorted() +} diff --git a/TankiOffline/app/src/jsMain/kotlin/App/StateCheck.kt b/TankiOffline/app/src/jsMain/kotlin/App/StateCheck.kt index 561a21b..1a5a781 100644 --- a/TankiOffline/app/src/jsMain/kotlin/App/StateCheck.kt +++ b/TankiOffline/app/src/jsMain/kotlin/App/StateCheck.kt @@ -15,6 +15,7 @@ import State.Middleware import State.ReduxGateway import State.ReduxStore import State.StoreListener +import App.State.ActionCatalog private data class AddFrags(val fragsCount: Int) : Action private data class SetScreen(val screen: String) : Action @@ -111,6 +112,18 @@ object StateCheck { Check("网关:派发经过调度器", Scheduled == 1 && Store.State.Frags == 2) } + // ⑥ 动作目录(由 module_10032 的 816 个数据类生成) + run { + val All = ActionCatalog.All + Check("动作目录:非空", All.isNotEmpty()) + Check("动作目录:名字唯一", All.map { it.Name }.toSet().size == All.size) + Check("动作目录:每个条目都能拿到 Kotlin 类", All.all { it.Type.simpleName != null }) + Check("动作目录:运行时 dispatch 过的动作名全部在册", ActionCatalog.MissingTraced().isEmpty()) + Check("动作目录:ByName 与 All 对齐", ActionCatalog.ByName.size == All.size) + println(" 目录 ${All.size} 条;打点动作名 ${ActionCatalog.TracedNames.size} 个;" + + "缺口 ${ActionCatalog.MissingTraced().size} 个") + } + val Failed = Results.filter { !it.second } println("TankiOffline 状态层自检:${Results.size} 项") for ((Name, Ok) in Results) println((if (Ok) " ✓ " else " ✗ ") + Name) diff --git a/TankiOffline/state/src/jsMain/kotlin/State/Redux.kt b/TankiOffline/state/src/jsMain/kotlin/State/Redux.kt index 65ef1ff..f7f00f0 100644 --- a/TankiOffline/state/src/jsMain/kotlin/State/Redux.kt +++ b/TankiOffline/state/src/jsMain/kotlin/State/Redux.kt @@ -19,6 +19,13 @@ import kotlin.reflect.KClass /** 动作基类:与原包一致,动作是不可变数据类(Kotlin data class)。 */ interface Action +/** + * 原 module_10849 的 `ct`:`InitState(type, action)`。 + * 证据:`(p(ct).toString = ... "InitState(type=" + d(this.zap_1) + ", action=" + d(this.aaq_1) + ")")`。 + * 启动时用它把初始状态灌进 Store。 + */ +data class InitState(val type: Any?, val action: Any?) : Action + /** Store 订阅者:状态变化后回调(对应原 `vt.maq_1` 里那些对象的 `kaq`)。 */ fun interface StoreListener { fun OnStoreChanged()