// This file is @generated by prost-build.
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerData {
    #[prost(message, optional, tag = "1")]
    pub basic: ::core::option::Option<BasicData>,
    #[prost(message, optional, tag = "2")]
    pub avatar: ::core::option::Option<AvatarData>,
    #[prost(message, optional, tag = "3")]
    pub item: ::core::option::Option<ItemData>,
    #[prost(message, optional, tag = "4")]
    pub quest: ::core::option::Option<QuestData>,
    #[prost(message, optional, tag = "5")]
    pub archive: ::core::option::Option<ArchiveData>,
    #[prost(message, optional, tag = "6")]
    pub hollow: ::core::option::Option<HollowData>,
    #[prost(message, optional, tag = "7")]
    pub abyss: ::core::option::Option<AbyssData>,
    #[prost(message, optional, tag = "8")]
    pub buddy: ::core::option::Option<BuddyData>,
    #[prost(message, optional, tag = "9")]
    pub misc: ::core::option::Option<MiscData>,
    #[prost(message, optional, tag = "10")]
    pub main_city: ::core::option::Option<MainCityData>,
    #[prost(message, optional, tag = "11")]
    pub scene: ::core::option::Option<SceneData>,
    #[prost(message, optional, tag = "12")]
    pub gacha: ::core::option::Option<GachaData>,
    #[prost(message, optional, tag = "13")]
    pub map: ::core::option::Option<MapData>,
    #[prost(message, optional, tag = "14")]
    pub big_scene: ::core::option::Option<BigSceneData>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BasicData {
    #[prost(string, tag = "1")]
    pub nick_name: ::prost::alloc::string::String,
    #[prost(int64, tag = "2")]
    pub create_time: i64,
    #[prost(uint32, tag = "3")]
    pub name_change_times: u32,
    #[prost(uint32, tag = "4")]
    pub level: u32,
    #[prost(uint32, tag = "5")]
    pub exp: u32,
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "7")]
    pub control_avatar_id: u32,
    #[prost(uint32, tag = "8")]
    pub control_guise_avatar_id: u32,
    #[prost(uint32, tag = "9")]
    pub portrait_id: u32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarData {
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<AvatarItemInfo>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarItemInfo {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub exp: u32,
    #[prost(uint32, tag = "4")]
    pub rank: u32,
    #[prost(int64, tag = "5")]
    pub first_get_time: i64,
    #[prost(uint32, tag = "6")]
    pub unlocked_talent_num: u32,
    #[prost(uint32, tag = "7")]
    pub cur_weapon_uid: u32,
    #[prost(uint32, tag = "8")]
    pub passive_skill_level: u32,
    #[prost(map = "uint32, uint32", tag = "9")]
    pub skill_level_map: ::std::collections::HashMap<u32, u32>,
    #[prost(map = "uint32, uint32", tag = "10")]
    pub dressed_equip_map: ::std::collections::HashMap<u32, u32>,
    #[prost(bool, repeated, tag = "11")]
    pub talent_switch_list: ::prost::alloc::vec::Vec<bool>,
    #[prost(uint32, repeated, tag = "12")]
    pub taken_rank_up_reward_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub avatar_skin_id: u32,
    #[prost(int32, tag = "14")]
    pub show_weapon_type: i32,
    #[prost(bool, tag = "15")]
    pub is_favorite: bool,
    #[prost(uint32, tag = "16")]
    pub awake_id: u32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ItemData {
    #[prost(message, repeated, tag = "1")]
    pub item_list: ::prost::alloc::vec::Vec<GenericItemInfo>,
    #[prost(message, repeated, tag = "2")]
    pub weapon_list: ::prost::alloc::vec::Vec<WeaponItemInfo>,
    #[prost(message, repeated, tag = "3")]
    pub equip_list: ::prost::alloc::vec::Vec<EquipItemInfo>,
    #[prost(map = "uint32, message", tag = "4")]
    pub auto_recovery_item_map: ::std::collections::HashMap<u32, AutoRecoveryItemInfo>,
    #[prost(uint32, tag = "5")]
    pub item_uid_counter: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub gained_once_reward_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GenericItemInfo {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(int32, tag = "2")]
    pub count: i32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WeaponItemInfo {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(uint32, tag = "4")]
    pub exp: u32,
    #[prost(uint32, tag = "5")]
    pub star: u32,
    #[prost(uint32, tag = "6")]
    pub refine_level: u32,
    #[prost(bool, tag = "7")]
    pub lock: bool,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EquipPropertyInfo {
    #[prost(uint32, tag = "1")]
    pub property_type: u32,
    #[prost(uint32, tag = "2")]
    pub value: u32,
    #[prost(uint32, tag = "3")]
    pub add_value: u32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EquipItemInfo {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(uint32, tag = "4")]
    pub exp: u32,
    #[prost(uint32, tag = "5")]
    pub star: u32,
    #[prost(bool, tag = "6")]
    pub lock: bool,
    #[prost(message, repeated, tag = "7")]
    pub properties: ::prost::alloc::vec::Vec<EquipPropertyInfo>,
    #[prost(message, repeated, tag = "8")]
    pub sub_properties: ::prost::alloc::vec::Vec<EquipPropertyInfo>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AutoRecoveryItemInfo {
    #[prost(uint32, tag = "1")]
    pub buy_times: u32,
    #[prost(int64, tag = "2")]
    pub last_recovery_timestamp: i64,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuestData {
    #[prost(message, repeated, tag = "1")]
    pub quest_collection_list: ::prost::alloc::vec::Vec<QuestCollectionInfo>,
    #[prost(message, optional, tag = "2")]
    pub battle_data: ::core::option::Option<BattleData>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BossBattleData {
    #[prost(uint32, repeated, tag = "1")]
    pub unlocked_levels: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub selected_level: u32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DoubleEliteProgress {
    #[prost(uint32, tag = "1")]
    pub quest_id: u32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoubleEliteData {
    #[prost(uint32, repeated, tag = "1")]
    pub unlocked_levels: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "2")]
    pub progress_list: ::prost::alloc::vec::Vec<DoubleEliteProgress>,
    #[prost(uint32, tag = "3")]
    pub selected_difficulty: u32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActivityBattleData {
    #[prost(message, optional, tag = "1")]
    pub boss_battle: ::core::option::Option<BossBattleData>,
    #[prost(message, optional, tag = "2")]
    pub double_elite: ::core::option::Option<DoubleEliteData>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleData {
    #[prost(message, optional, tag = "1")]
    pub activity: ::core::option::Option<ActivityBattleData>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MainCityQuestInfo {
    #[prost(uint32, repeated, tag = "1")]
    pub track_npc_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpecialQuestInfo {
    #[prost(uint32, tag = "1")]
    pub prev_quest_id: u32,
    #[prost(uint32, tag = "2")]
    pub cur_quest_id: u32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuestInfo {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(int32, tag = "2")]
    pub state: i32,
    #[prost(int64, tag = "3")]
    pub unlock_time: i64,
    #[prost(int64, tag = "4")]
    pub in_progress_time: i64,
    #[prost(uint32, tag = "5")]
    pub progress: u32,
    #[prost(map = "uint32, uint32", tag = "6")]
    pub finish_condition_progress: ::std::collections::HashMap<u32, u32>,
    #[prost(message, optional, tag = "7")]
    pub main_city_quest_info: ::core::option::Option<MainCityQuestInfo>,
    #[prost(message, optional, tag = "8")]
    pub special_quest_info: ::core::option::Option<SpecialQuestInfo>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrackQuestInfo {
    #[prost(uint32, tag = "1")]
    pub cur_main_quest_id: u32,
    #[prost(uint32, tag = "2")]
    pub cur_track_quest_id: u32,
    #[prost(uint32, tag = "3")]
    pub cur_track_special_quest_id: u32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuestCollectionInfo {
    #[prost(uint32, tag = "1")]
    pub quest_type: u32,
    #[prost(message, repeated, tag = "2")]
    pub quest_list: ::prost::alloc::vec::Vec<QuestInfo>,
    #[prost(uint32, repeated, tag = "3")]
    pub finish_quest_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "4")]
    pub track_quest: ::core::option::Option<TrackQuestInfo>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ArchiveData {
    #[prost(uint32, repeated, tag = "1")]
    pub hollow_archive_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "2")]
    pub videotape_list: ::prost::alloc::vec::Vec<VideotapeInfo>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct VideotapeInfo {
    #[prost(uint32, tag = "1")]
    pub archive_file_id: u32,
    #[prost(bool, tag = "2")]
    pub finished: bool,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HollowData {
    #[prost(uint32, repeated, tag = "1")]
    pub hollow_group_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub hollow_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "3")]
    pub unlock_hollow_group_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "4")]
    pub unlock_hollow_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "5")]
    pub hollow_list: ::prost::alloc::vec::Vec<HollowInfo>,
    #[prost(uint32, repeated, tag = "6")]
    pub executed_hollow_event_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HollowInfo {
    #[prost(uint32, tag = "1")]
    pub hollow_quest_id: u32,
    #[prost(bool, tag = "2")]
    pub finished: bool,
    #[prost(uint32, tag = "3")]
    pub acquired_hollow_challenge_reward: u32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AbyssData {}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuddyData {
    #[prost(message, repeated, tag = "1")]
    pub buddy_list: ::prost::alloc::vec::Vec<BuddyItemInfo>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuddyItemInfo {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub exp: u32,
    #[prost(uint32, tag = "4")]
    pub rank: u32,
    #[prost(uint32, tag = "5")]
    pub star: u32,
    #[prost(int64, tag = "6")]
    pub first_get_time: i64,
    #[prost(map = "uint32, uint32", tag = "7")]
    pub skill_level_map: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, repeated, tag = "8")]
    pub taken_rank_up_reward_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MiscData {
    #[prost(message, optional, tag = "1")]
    pub switch: ::core::option::Option<SwitchData>,
    #[prost(message, optional, tag = "2")]
    pub unlock: ::core::option::Option<UnlockData>,
    #[prost(message, optional, tag = "3")]
    pub newbie: ::core::option::Option<NewbieData>,
    #[prost(message, optional, tag = "4")]
    pub news_stand: ::core::option::Option<NewsStandData>,
    #[prost(message, optional, tag = "5")]
    pub post_girl: ::core::option::Option<PostGirlData>,
    #[prost(message, optional, tag = "6")]
    pub teleport: ::core::option::Option<TeleportUnlockData>,
    #[prost(message, optional, tag = "7")]
    pub business_card: ::core::option::Option<BusinessCardData>,
    #[prost(message, optional, tag = "8")]
    pub player_accessory: ::core::option::Option<PlayerAccessoryData>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerSkinInfo {
    #[prost(uint32, tag = "1")]
    pub player_skin_id: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub equipped_accessory_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerAccessoryInfo {
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "2")]
    pub avatar_skin_id: u32,
    #[prost(message, repeated, tag = "3")]
    pub player_skin_list: ::prost::alloc::vec::Vec<PlayerSkinInfo>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerAccessoryData {
    #[prost(message, repeated, tag = "1")]
    pub player_accessory_list: ::prost::alloc::vec::Vec<PlayerAccessoryInfo>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BusinessCardData {
    #[prost(uint32, repeated, tag = "1")]
    pub unlocked_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub selected_id: u32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InputSettingInfo {
    #[prost(map = "uint32, int32", tag = "1")]
    pub input_type_map: ::std::collections::HashMap<u32, i32>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchData {
    #[prost(uint32, repeated, tag = "1")]
    pub open_system_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(map = "uint32, uint32", tag = "2")]
    pub setting_switch_map: ::std::collections::HashMap<u32, u32>,
    #[prost(map = "uint32, bool", tag = "3")]
    pub system_switch_state_map: ::std::collections::HashMap<u32, bool>,
    #[prost(map = "uint32, message", tag = "4")]
    pub input_setting_map: ::std::collections::HashMap<u32, InputSettingInfo>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuickAccessItem {
    #[prost(uint32, tag = "1")]
    pub quick_access_id: u32,
    #[prost(uint32, tag = "2")]
    pub quick_access_index: u32,
    #[prost(int32, tag = "3")]
    pub quick_access_type: i32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockData {
    #[prost(int32, repeated, tag = "1")]
    pub unlocked_id_list: ::prost::alloc::vec::Vec<i32>,
    #[prost(message, repeated, tag = "2")]
    pub quick_access_list: ::prost::alloc::vec::Vec<QuickAccessItem>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NewbieData {
    #[prost(int32, repeated, tag = "1")]
    pub finished_group_id_list: ::prost::alloc::vec::Vec<i32>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NewsStandData {
    #[prost(int32, tag = "1")]
    pub cur_style: i32,
    #[prost(uint32, repeated, tag = "2")]
    pub normal_news_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "3")]
    pub head_lines_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "4")]
    pub advertisement_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "5")]
    pub news_read_state: bool,
    #[prost(bool, tag = "6")]
    pub can_sign: bool,
    #[prost(uint32, tag = "7")]
    pub current_sign_id: u32,
    #[prost(uint32, tag = "8")]
    pub sign_count: u32,
    #[prost(int64, tag = "9")]
    pub sign_refresh_time: i64,
    #[prost(int64, tag = "10")]
    pub last_sign_time: i64,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PostGirlItem {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(int64, tag = "2")]
    pub unlock_time: i64,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PostGirlData {
    #[prost(message, repeated, tag = "1")]
    pub post_girl_item_list: ::prost::alloc::vec::Vec<PostGirlItem>,
    #[prost(uint32, repeated, tag = "2")]
    pub selected_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "3")]
    pub post_girl_random_toggle: bool,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TeleportUnlockData {
    #[prost(int32, repeated, tag = "1")]
    pub unlocked_id_list: ::prost::alloc::vec::Vec<i32>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MainCityData {
    #[prost(uint32, tag = "3")]
    pub bgm_id: u32,
    #[prost(uint32, tag = "4")]
    pub day_of_week: u32,
    #[prost(uint32, tag = "5")]
    pub time_of_day: u32,
    #[prost(enumeration = "super::common::TimePeriodType", tag = "6")]
    pub time_period: i32,
    #[prost(oneof = "main_city_data::Pos", tags = "1, 2")]
    pub pos: ::core::option::Option<main_city_data::Pos>,
}
/// Nested message and enum types in `MainCityData`.
pub mod main_city_data {
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Pos {
        #[prost(message, tag = "1")]
        Position(super::super::common::Transform),
        #[prost(string, tag = "2")]
        TransformId(::prost::alloc::string::String),
    }
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneData {
    #[prost(uint64, tag = "1")]
    pub cur_scene_uid: u64,
    #[prost(uint64, tag = "2")]
    pub default_scene_uid: u64,
    #[prost(map = "uint64, message", tag = "3")]
    pub scenes: ::std::collections::HashMap<u64, SceneInfo>,
    #[prost(map = "uint64, message", tag = "4")]
    pub dungeons: ::std::collections::HashMap<u64, DungeonInfo>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneInfo {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub play_type: u32,
    #[prost(uint64, tag = "3")]
    pub dungeon_uid: u64,
    #[prost(uint64, tag = "4")]
    pub back_scene_uid: u64,
    #[prost(bool, tag = "5")]
    pub to_be_destroyed: bool,
    #[prost(oneof = "scene_info::Info", tags = "1001, 1002, 1003, 1007")]
    pub info: ::core::option::Option<scene_info::Info>,
}
/// Nested message and enum types in `SceneInfo`.
pub mod scene_info {
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Info {
        #[prost(message, tag = "1001")]
        Hall(super::HallSceneInfo),
        #[prost(message, tag = "1002")]
        Hollow(super::HollowSceneInfo),
        #[prost(message, tag = "1003")]
        Fight(super::FightSceneInfo),
        #[prost(message, tag = "1007")]
        LongFight(super::LongFightSceneInfo),
    }
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HallSceneInfo {
    #[prost(uint32, tag = "1")]
    pub cur_section_id: u32,
    #[prost(message, repeated, tag = "2")]
    pub sections: ::prost::alloc::vec::Vec<HallSectionInfo>,
    #[prost(map = "int32, int32", tag = "3")]
    pub main_city_objects_state: ::std::collections::HashMap<i32, i32>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnitInteract {
    #[prost(int32, tag = "1")]
    pub tag_id: i32,
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
    #[prost(double, tag = "3")]
    pub scale_x: f64,
    #[prost(double, tag = "4")]
    pub scale_y: f64,
    #[prost(double, tag = "5")]
    pub scale_z: f64,
    #[prost(double, tag = "6")]
    pub scale_w: f64,
    #[prost(double, tag = "7")]
    pub scale_r: f64,
    #[prost(map = "uint32, string", tag = "8")]
    pub participators: ::std::collections::HashMap<u32, ::prost::alloc::string::String>,
    #[prost(int32, repeated, tag = "9")]
    pub interact_target_list: ::prost::alloc::vec::Vec<i32>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HallSceneUnit {
    #[prost(uint32, tag = "1")]
    pub npc_tag_id: u32,
    #[prost(bool, tag = "2")]
    pub is_interactable: bool,
    #[prost(map = "uint32, message", tag = "3")]
    pub interacts: ::std::collections::HashMap<u32, UnitInteract>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AttachedGraphInfo {
    #[prost(uint32, tag = "1")]
    pub reference_id: u32,
    #[prost(enumeration = "GraphReferenceType", tag = "2")]
    pub reference_type: i32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventStateInfo {
    #[prost(uint64, tag = "1")]
    pub event_uid: u64,
    #[prost(uint32, tag = "2")]
    pub event_state: u32,
    #[prost(int32, tag = "3")]
    pub cur_action_idx: i32,
    #[prost(uint32, tag = "4")]
    pub graph_reference_id: u32,
    #[prost(enumeration = "GraphReferenceType", tag = "5")]
    pub graph_reference_type: i32,
    #[prost(string, tag = "6")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "7")]
    pub tag: u32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HallSectionInfo {
    #[prost(uint32, tag = "1")]
    pub section_id: u32,
    #[prost(message, repeated, tag = "2")]
    pub scene_unit_list: ::prost::alloc::vec::Vec<HallSceneUnit>,
    #[prost(message, repeated, tag = "3")]
    pub attached_graph_list: ::prost::alloc::vec::Vec<AttachedGraphInfo>,
    #[prost(message, repeated, tag = "4")]
    pub event_state_list: ::prost::alloc::vec::Vec<EventStateInfo>,
    #[prost(uint64, repeated, tag = "5")]
    pub already_executed_event_uid_list: ::prost::alloc::vec::Vec<u64>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HollowSceneInfo {}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightSceneInfo {
    #[prost(string, tag = "1")]
    pub time_period: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub weather: ::prost::alloc::string::String,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LongFightSceneInfo {
    #[prost(string, tag = "1")]
    pub time_period: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub weather: ::prost::alloc::string::String,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DungeonInfo {
    #[prost(uint32, tag = "1")]
    pub quest_id: u32,
    #[prost(uint32, tag = "2")]
    pub quest_type: u32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GachaStatisticsInfo {
    #[prost(uint32, tag = "1")]
    pub gacha_id: u32,
    #[prost(uint32, tag = "2")]
    pub remain_up_item_times: u32,
    #[prost(uint32, tag = "3")]
    pub remain_optional_up_item_times: u32,
    #[prost(uint32, tag = "4")]
    pub newbie_remain_up_item_times: u32,
    #[prost(bool, tag = "5")]
    pub up_item_state: bool,
    #[prost(bool, tag = "6")]
    pub optional_up_item_state: bool,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GachaData {
    #[prost(message, repeated, tag = "1")]
    pub gacha_statistics_list: ::prost::alloc::vec::Vec<GachaStatisticsInfo>,
    #[prost(uint32, tag = "2")]
    pub gacha_random: u32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MapAreaGroupInfo {
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
    #[prost(bool, tag = "2")]
    pub is_unlocked: bool,
    #[prost(uint32, tag = "3")]
    pub area_progress: u32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MapAreaStreetInfo {
    #[prost(uint32, tag = "1")]
    pub area_id: u32,
    #[prost(bool, tag = "2")]
    pub is_unlocked: bool,
    #[prost(uint32, tag = "3")]
    pub area_progress: u32,
    #[prost(bool, tag = "4")]
    pub location_pop_showed: bool,
    #[prost(bool, tag = "5")]
    pub new_area_showed: bool,
    #[prost(bool, tag = "6")]
    pub new_area_portals_showed: bool,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MapData {
    #[prost(message, repeated, tag = "1")]
    pub area_group_list: ::prost::alloc::vec::Vec<MapAreaGroupInfo>,
    #[prost(message, repeated, tag = "2")]
    pub area_street_list: ::prost::alloc::vec::Vec<MapAreaStreetInfo>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BigSceneAvatarData {
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "2")]
    pub cur_hp: u32,
    #[prost(message, optional, tag = "3")]
    pub avatar_unit: ::core::option::Option<super::common::AvatarUnitInfo>,
    #[prost(uint32, tag = "4")]
    pub team_slot_index: u32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BigSceneTeamData {
    #[prost(message, repeated, tag = "1")]
    pub scene_avatar_list: ::prost::alloc::vec::Vec<BigSceneAvatarData>,
    #[prost(message, repeated, tag = "2")]
    pub cur_scene_avatar_list: ::prost::alloc::vec::Vec<BigSceneAvatarData>,
    #[prost(uint32, tag = "3")]
    pub cur_avatar_id: u32,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BigSceneData {
    #[prost(message, optional, tag = "1")]
    pub scene_team_data: ::core::option::Option<BigSceneTeamData>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GraphReferenceType {
    None = 0,
    MainCitySection = 1,
    Interact = 2,
    Quest = 3,
    HollowEvent = 4,
}
impl GraphReferenceType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::None => "GRAPH_REFERENCE_TYPE_NONE",
            Self::MainCitySection => "GRAPH_REFERENCE_TYPE_MAIN_CITY_SECTION",
            Self::Interact => "GRAPH_REFERENCE_TYPE_INTERACT",
            Self::Quest => "GRAPH_REFERENCE_TYPE_QUEST",
            Self::HollowEvent => "GRAPH_REFERENCE_TYPE_HOLLOW_EVENT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GRAPH_REFERENCE_TYPE_NONE" => Some(Self::None),
            "GRAPH_REFERENCE_TYPE_MAIN_CITY_SECTION" => Some(Self::MainCitySection),
            "GRAPH_REFERENCE_TYPE_INTERACT" => Some(Self::Interact),
            "GRAPH_REFERENCE_TYPE_QUEST" => Some(Self::Quest),
            "GRAPH_REFERENCE_TYPE_HOLLOW_EVENT" => Some(Self::HollowEvent),
            _ => None,
        }
    }
}
#[derive(::proto_derive::NetCmd)]
#[cmd_id(10001)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerGetDataReq {
    #[prost(uint32, tag = "1")]
    pub player_uid: u32,
}
#[derive(::proto_derive::NetCmd)]
#[cmd_id(10002)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerGetDataRsp {
    #[prost(int32, tag = "1")]
    pub retcode: i32,
    #[prost(message, optional, tag = "2")]
    pub player_data: ::core::option::Option<PlayerData>,
}
#[derive(::proto_derive::NetCmd)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NetCommand {
    #[prost(uint32, tag = "1")]
    pub cmd_id: u32,
    #[prost(bytes = "vec", tag = "2")]
    pub body: ::prost::alloc::vec::Vec<u8>,
}
#[derive(::proto_derive::NetCmd)]
#[cmd_id(10003)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExecuteClientCommandReq {
    #[prost(message, optional, tag = "1")]
    pub command: ::core::option::Option<NetCommand>,
}
#[derive(::proto_derive::NetCmd)]
#[cmd_id(10004)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExecuteClientCommandRsp {
    #[prost(int32, tag = "1")]
    pub retcode: i32,
    #[prost(message, repeated, tag = "2")]
    pub notify_list: ::prost::alloc::vec::Vec<NetCommand>,
    #[prost(message, optional, tag = "3")]
    pub response: ::core::option::Option<NetCommand>,
}
#[derive(::proto_derive::NetCmd)]
#[cmd_id(10005)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerDataChangedNotify {
    #[prost(uint32, tag = "1")]
    pub player_uid: u32,
    #[prost(message, optional, tag = "2")]
    pub player_data: ::core::option::Option<PlayerData>,
}
#[derive(::proto_derive::NetCmd)]
#[cmd_id(10006)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StopPlayerLogicReq {
    #[prost(uint32, tag = "1")]
    pub player_uid: u32,
}
#[derive(::proto_derive::NetCmd)]
#[cmd_id(10007)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StopPlayerLogicRsp {
    #[prost(int32, tag = "1")]
    pub retcode: i32,
}
#[derive(::proto_derive::NetCmd)]
#[cmd_id(10008)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GmTalkByMuipReq {
    #[prost(string, tag = "1")]
    pub msg: ::prost::alloc::string::String,
}
#[derive(::proto_derive::NetCmd)]
#[cmd_id(10009)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GmTalkByMuipRsp {
    #[prost(int32, tag = "1")]
    pub retcode: i32,
    #[prost(string, tag = "2")]
    pub retmsg: ::prost::alloc::string::String,
}
#[derive(::proto_derive::NetCmd)]
#[cmd_id(10010)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientPerformNotify {
    #[prost(message, repeated, tag = "1")]
    pub notify_list: ::prost::alloc::vec::Vec<NetCommand>,
}