Teleport Map & Switching Dynamic Wallpaper Support, Gacha optimization #2
14 changed files with 2472 additions and 98 deletions
29
assets/FileCfg/QuickAccessTemplateTb.json
Normal file
29
assets/FileCfg/QuickAccessTemplateTb.json
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"QuickAccessIndex": 1,
|
||||||
|
"QuickFuncID": 1005,
|
||||||
|
"RequiredUnlockIDs": [
|
||||||
|
1005
|
||||||
|
],
|
||||||
|
"EFPBDDJIJBO": 1040140154,
|
||||||
|
"BOKMLGNMJPB": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"QuickAccessIndex": 2,
|
||||||
|
"QuickFuncID": 1022,
|
||||||
|
"RequiredUnlockIDs": [
|
||||||
|
1022
|
||||||
|
],
|
||||||
|
"EFPBDDJIJBO": 1040140049,
|
||||||
|
"BOKMLGNMJPB": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"QuickAccessIndex": 3,
|
||||||
|
"QuickFuncID": 1009,
|
||||||
|
"RequiredUnlockIDs": [
|
||||||
|
1009
|
||||||
|
],
|
||||||
|
"EFPBDDJIJBO": 1050060115,
|
||||||
|
"BOKMLGNMJPB": null
|
||||||
|
}
|
||||||
|
]
|
112
assets/FileCfg/QuickFuncTemplateTb.json
Normal file
112
assets/FileCfg/QuickFuncTemplateTb.json
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"BtnID": 1001,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1002,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1003,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1004,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1005,
|
||||||
|
"BOMNEKHOGIH": "UI/Sprite/A1DynamicLoad/MainCityMenus/Packer/BtnInterKnot.png",
|
||||||
|
"PECPFBBOGKO": "UI/Sprite/A1DynamicLoad/MainCityMenus/Packer/BtnInterKnot.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1006,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1007,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1008,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1009,
|
||||||
|
"BOMNEKHOGIH": "UI/Sprite/A1DynamicLoad/MainCityMenus/Packer/BtnGuide.png",
|
||||||
|
"PECPFBBOGKO": "UI/Sprite/A1DynamicLoad/MainCityMenus/Packer/BtnGuide.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1010,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1011,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1013,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1014,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1015,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1016,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1017,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1018,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1019,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1020,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1021,
|
||||||
|
"BOMNEKHOGIH": "UI/Sprite/A1DynamicLoad/MainCityMenus/Packer/BtnCamera.png",
|
||||||
|
"PECPFBBOGKO": "UI/Sprite/A1DynamicLoad/MainCityMenus/Packer/BtnCamera.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1022,
|
||||||
|
"BOMNEKHOGIH": "UI/Sprite/A1DynamicLoad/MainCityMenus/Packer/BtnMessage.png",
|
||||||
|
"PECPFBBOGKO": "UI/Sprite/A1DynamicLoad/MainCityMenus/Packer/BtnMessage.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"BtnID": 1023,
|
||||||
|
"BOMNEKHOGIH": "",
|
||||||
|
"PECPFBBOGKO": ""
|
||||||
|
}
|
||||||
|
]
|
2008
assets/FileCfg/TeleportConfigTemplateTb.json
Normal file
2008
assets/FileCfg/TeleportConfigTemplateTb.json
Normal file
File diff suppressed because it is too large
Load diff
|
@ -94,4 +94,7 @@ template_tables! {
|
||||||
SubAreaDataTemplate;
|
SubAreaDataTemplate;
|
||||||
VariableDataTemplate;
|
VariableDataTemplate;
|
||||||
OnceRewardTemplate;
|
OnceRewardTemplate;
|
||||||
|
QuickAccessTemplate;
|
||||||
|
QuickFuncTemplate;
|
||||||
|
TeleportConfigTemplate;
|
||||||
}
|
}
|
||||||
|
|
11
nap_data/src/tables/quick_access_template.rs
Normal file
11
nap_data/src/tables/quick_access_template.rs
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
use serde::Deserialize;
|
||||||
|
|
||||||
|
template_id!(QuickAccess u32 quick_func_id);
|
||||||
|
|
||||||
|
#[derive(Deserialize, Debug)]
|
||||||
|
#[serde(rename_all = "PascalCase")]
|
||||||
|
pub struct QuickAccessTemplate {
|
||||||
|
pub quick_access_index: u32,
|
||||||
|
#[serde(rename = "QuickFuncID")]
|
||||||
|
pub quick_func_id: QuickAccessID,
|
||||||
|
}
|
10
nap_data/src/tables/quick_func_template.rs
Normal file
10
nap_data/src/tables/quick_func_template.rs
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
use serde::Deserialize;
|
||||||
|
|
||||||
|
template_id!(QuickFunc u32 btn_id);
|
||||||
|
|
||||||
|
#[derive(Deserialize, Debug)]
|
||||||
|
#[serde(rename_all = "PascalCase")]
|
||||||
|
pub struct QuickFuncTemplate {
|
||||||
|
#[serde(rename = "BtnID")]
|
||||||
|
pub btn_id: QuickFuncID,
|
||||||
|
}
|
11
nap_data/src/tables/teleport_config_template.rs
Normal file
11
nap_data/src/tables/teleport_config_template.rs
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
use serde::Deserialize;
|
||||||
|
|
||||||
|
template_id!(TeleportConfig i32 teleport_id);
|
||||||
|
|
||||||
|
#[derive(Deserialize, Debug)]
|
||||||
|
#[serde(rename_all = "PascalCase")]
|
||||||
|
pub struct TeleportConfigTemplate {
|
||||||
|
#[serde(rename = "TeleportID")]
|
||||||
|
pub teleport_id: TeleportConfigID,
|
||||||
|
pub client_visible: u32,
|
||||||
|
}
|
|
@ -2,7 +2,7 @@ use crate::logic::{EOperator, ESystem};
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
use data::tables;
|
use data::tables::{self, QuickAccessID};
|
||||||
|
|
||||||
pub async fn on_get_tips_info(
|
pub async fn on_get_tips_info(
|
||||||
_session: &NetSession,
|
_session: &NetSession,
|
||||||
|
@ -21,23 +21,34 @@ pub async fn on_get_client_systems_info(
|
||||||
player: &mut Player,
|
player: &mut Player,
|
||||||
_req: GetClientSystemsInfoCsReq,
|
_req: GetClientSystemsInfoCsReq,
|
||||||
) -> NetResult<GetClientSystemsInfoScRsp> {
|
) -> NetResult<GetClientSystemsInfoScRsp> {
|
||||||
Ok(GetClientSystemsInfoScRsp {
|
let mut post_girl_data = PostGirlData {
|
||||||
retcode: Retcode::RetSucc.into(),
|
|
||||||
info: Some(ClientSystemsInfo {
|
|
||||||
post_girl_data: Some(PostGirlData {
|
|
||||||
selected_post_girl_id_list: tables::post_girl_config_template_tb::iter()
|
|
||||||
.map(|template| template.id.value())
|
|
||||||
.collect(),
|
|
||||||
post_girl_list: tables::post_girl_config_template_tb::iter()
|
post_girl_list: tables::post_girl_config_template_tb::iter()
|
||||||
.map(|template| PostGirlItem {
|
.map(|template| PostGirlItem {
|
||||||
template_id: template.id.value(),
|
template_id: template.id.value(),
|
||||||
unlock_time: 1000,
|
unlock_time: 1720052644,
|
||||||
})
|
})
|
||||||
.collect(),
|
.collect(),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}),
|
};
|
||||||
|
if let Some(post_girl_id) = player.basic_data_model.selected_post_girl_id {
|
||||||
|
post_girl_data
|
||||||
|
.selected_post_girl_id_list
|
||||||
|
.push(post_girl_id.value());
|
||||||
|
}
|
||||||
|
|
||||||
|
Ok(GetClientSystemsInfoScRsp {
|
||||||
|
retcode: Retcode::RetSucc.into(),
|
||||||
|
info: Some(ClientSystemsInfo {
|
||||||
|
post_girl_data: Some(post_girl_data),
|
||||||
unlock_data: Some(player.lock_model.to_client()),
|
unlock_data: Some(player.lock_model.to_client()),
|
||||||
hbhfjgbahgf: Some(Aboegnnepmi::default()),
|
calling_card_data: Some(CallingCardData::default()),
|
||||||
|
teleport_data: Some(TeleportData {
|
||||||
|
unlock_id_list: tables::teleport_config_template_tb::iter()
|
||||||
|
.filter(|template| template.client_visible > 0)
|
||||||
|
.map(|template| template.teleport_id.value())
|
||||||
|
.collect(),
|
||||||
|
..Default::default()
|
||||||
|
}),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
|
@ -183,3 +194,70 @@ pub async fn on_interact_with_scene_object(
|
||||||
retcode: Retcode::RetSucc.into(),
|
retcode: Retcode::RetSucc.into(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub async fn on_mod_quick_menu(
|
||||||
|
_session: &NetSession,
|
||||||
|
_player: &mut Player,
|
||||||
|
_req: ModQuickMenuCsReq,
|
||||||
|
) -> NetResult<ModQuickMenuScRsp> {
|
||||||
|
let mut quick_access_data_list: Vec<QuickAccessData> = vec![];
|
||||||
|
for data in _req.quick_access_data_list.iter() {
|
||||||
|
quick_access_data_list.push(
|
||||||
|
_player
|
||||||
|
.lock_model
|
||||||
|
.mod_quick_access(data.quick_access_index, QuickAccessID::new(data.btn_id)),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
_session
|
||||||
|
.notify(PlayerSyncScNotify {
|
||||||
|
client_systems_sync: Some(ClientSystemsSync {
|
||||||
|
quick_access_data_list,
|
||||||
|
..Default::default()
|
||||||
|
}),
|
||||||
|
..Default::default()
|
||||||
|
})
|
||||||
|
.await?;
|
||||||
|
|
||||||
|
Ok(ModQuickMenuScRsp {
|
||||||
|
retcode: Retcode::RetSucc.into(),
|
||||||
|
..Default::default()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
pub async fn on_change_post_girl(
|
||||||
|
_session: &NetSession,
|
||||||
|
_player: &mut Player,
|
||||||
|
_req: ChangePostGirlCsReq,
|
||||||
|
) -> NetResult<ChangePostGirlScRsp> {
|
||||||
|
if _req.new_selected_post_girl_id_list.len() != 1 {
|
||||||
|
return Ok(ChangePostGirlScRsp {
|
||||||
|
retcode: Retcode::RetFail.into(),
|
||||||
|
..Default::default()
|
||||||
|
});
|
||||||
|
};
|
||||||
|
match tables::PostGirlConfigID::new(*_req.new_selected_post_girl_id_list.get(0).unwrap()) {
|
||||||
|
Some(post_girl_id) => {
|
||||||
|
_player.basic_data_model.selected_post_girl_id = Some(post_girl_id);
|
||||||
|
_session
|
||||||
|
.notify(PlayerSyncScNotify {
|
||||||
|
client_systems_sync: Some(ClientSystemsSync {
|
||||||
|
post_girl_data: Some(PostGirlSync {
|
||||||
|
selected_post_girl_id_list: vec![post_girl_id.value()],
|
||||||
|
..Default::default()
|
||||||
|
}),
|
||||||
|
..Default::default()
|
||||||
|
}),
|
||||||
|
..Default::default()
|
||||||
|
})
|
||||||
|
.await?;
|
||||||
|
Ok(ChangePostGirlScRsp {
|
||||||
|
retcode: Retcode::RetSucc.into(),
|
||||||
|
..Default::default()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
None => Ok(ChangePostGirlScRsp {
|
||||||
|
retcode: Retcode::RetFail.into(),
|
||||||
|
..Default::default()
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -126,6 +126,9 @@ req_handlers! {
|
||||||
gacha::DoGacha;
|
gacha::DoGacha;
|
||||||
gacha::ChooseGachaUp;
|
gacha::ChooseGachaUp;
|
||||||
gacha::GachaFreeAgent;
|
gacha::GachaFreeAgent;
|
||||||
|
player::ModNickname;
|
||||||
|
client_systems::ModQuickMenu;
|
||||||
|
client_systems::ChangePostGirl;
|
||||||
}
|
}
|
||||||
|
|
||||||
notify_handlers! {
|
notify_handlers! {
|
||||||
|
|
|
@ -58,6 +58,25 @@ pub async fn on_get_player_transaction(
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub async fn on_mod_nickname(
|
||||||
|
session: &NetSession,
|
||||||
|
_player: &mut Player,
|
||||||
|
_req: ModNicknameCsReq,
|
||||||
|
) -> NetResult<ModNicknameScRsp> {
|
||||||
|
_player.basic_data_model.nick_name = Some(_req.nick_name.to_string());
|
||||||
|
session
|
||||||
|
.notify(PlayerSyncScNotify {
|
||||||
|
basic_info: Some(_player.basic_data_model.player_basic_info()),
|
||||||
|
..Default::default()
|
||||||
|
})
|
||||||
|
.await?;
|
||||||
|
|
||||||
|
Ok(ModNicknameScRsp {
|
||||||
|
retcode: Retcode::RetSucc.into(),
|
||||||
|
..Default::default()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
pub async fn on_keep_alive(
|
pub async fn on_keep_alive(
|
||||||
_session: &NetSession,
|
_session: &NetSession,
|
||||||
_player: &mut Player,
|
_player: &mut Player,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use data::tables::{AvatarBaseID, ProcedureConfigID};
|
use data::tables::{AvatarBaseID, PostGirlConfigID, ProcedureConfigID};
|
||||||
use proto::{BasicDataModelBin, PlayerBasicInfo};
|
use proto::{BasicDataModelBin, PlayerBasicInfo};
|
||||||
|
|
||||||
pub struct BasicDataModel {
|
pub struct BasicDataModel {
|
||||||
|
@ -8,6 +8,7 @@ pub struct BasicDataModel {
|
||||||
pub nick_name: Option<String>,
|
pub nick_name: Option<String>,
|
||||||
pub frontend_avatar_id: Option<AvatarBaseID>,
|
pub frontend_avatar_id: Option<AvatarBaseID>,
|
||||||
pub beginner_procedure_id: Option<ProcedureConfigID>,
|
pub beginner_procedure_id: Option<ProcedureConfigID>,
|
||||||
|
pub selected_post_girl_id: Option<PostGirlConfigID>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for BasicDataModel {
|
impl Default for BasicDataModel {
|
||||||
|
@ -19,6 +20,7 @@ impl Default for BasicDataModel {
|
||||||
nick_name: None,
|
nick_name: None,
|
||||||
frontend_avatar_id: None,
|
frontend_avatar_id: None,
|
||||||
beginner_procedure_id: Some(ProcedureConfigID::new_unchecked(1)),
|
beginner_procedure_id: Some(ProcedureConfigID::new_unchecked(1)),
|
||||||
|
..Default::default()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37,6 +39,10 @@ impl BasicDataModel {
|
||||||
avatar_id,
|
avatar_id,
|
||||||
frontend_avatar_id: avatar_id,
|
frontend_avatar_id: avatar_id,
|
||||||
kbjleelonfe: self.profile_icon,
|
kbjleelonfe: self.profile_icon,
|
||||||
|
has_nickname: match &self.nick_name {
|
||||||
|
Some(_name) => 1,
|
||||||
|
None => 0,
|
||||||
|
},
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -54,6 +60,7 @@ impl BasicDataModel {
|
||||||
1.. => ProcedureConfigID::new(bin.beginner_procedure_id as u32),
|
1.. => ProcedureConfigID::new(bin.beginner_procedure_id as u32),
|
||||||
_ => None,
|
_ => None,
|
||||||
},
|
},
|
||||||
|
selected_post_girl_id: PostGirlConfigID::new(bin.selected_post_girl_id),
|
||||||
nick_name: match bin.nick_name.is_empty() {
|
nick_name: match bin.nick_name.is_empty() {
|
||||||
true => None,
|
true => None,
|
||||||
false => Some(bin.nick_name),
|
false => Some(bin.nick_name),
|
||||||
|
@ -75,6 +82,10 @@ impl BasicDataModel {
|
||||||
.beginner_procedure_id
|
.beginner_procedure_id
|
||||||
.map(|i| i.value() as i32)
|
.map(|i| i.value() as i32)
|
||||||
.unwrap_or(-1),
|
.unwrap_or(-1),
|
||||||
|
selected_post_girl_id: match self.selected_post_girl_id {
|
||||||
|
Some(post_girl_id) => post_girl_id.value(),
|
||||||
|
None => 0
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
use std::collections::BTreeSet;
|
use std::collections::{BTreeSet, HashMap};
|
||||||
|
|
||||||
use data::tables::UnlockConfigID;
|
use data::tables::{quick_access_template_tb, QuickAccessID, UnlockConfigID};
|
||||||
use proto::{LockModelBin, UnlockData};
|
use proto::{LockModelBin, QuickAccessData, QuickAccessType, UnlockData};
|
||||||
|
|
||||||
#[derive(Default)]
|
#[derive(Default)]
|
||||||
pub struct LockModel {
|
pub struct LockModel {
|
||||||
unlock_list: BTreeSet<UnlockConfigID>,
|
unlock_list: BTreeSet<UnlockConfigID>,
|
||||||
|
quick_access_list: HashMap<u32, QuickAccessID>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl LockModel {
|
impl LockModel {
|
||||||
|
@ -16,6 +17,11 @@ impl LockModel {
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(UnlockConfigID::new_unchecked)
|
.map(UnlockConfigID::new_unchecked)
|
||||||
.collect(),
|
.collect(),
|
||||||
|
quick_access_list: bin
|
||||||
|
.quick_access_list
|
||||||
|
.into_iter()
|
||||||
|
.map(|(k, v)| (k, QuickAccessID::new_unchecked(v)))
|
||||||
|
.collect(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,10 +33,36 @@ impl LockModel {
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|i| i.value())
|
.map(|i| i.value())
|
||||||
.collect(),
|
.collect(),
|
||||||
|
quick_access_list: self
|
||||||
|
.quick_access_list
|
||||||
|
.clone()
|
||||||
|
.into_iter()
|
||||||
|
.map(|(k, v)| (k, v.value()))
|
||||||
|
.collect(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn to_client(&self) -> UnlockData {
|
pub fn to_client(&self) -> UnlockData {
|
||||||
|
let mut quick_access_data_list: Vec<QuickAccessData> = vec![];
|
||||||
|
for quick_access in quick_access_template_tb::iter() {
|
||||||
|
quick_access_data_list.push(QuickAccessData {
|
||||||
|
r#type: QuickAccessType::Direct.into(),
|
||||||
|
quick_access_index: quick_access.quick_access_index,
|
||||||
|
btn_id: quick_access.quick_func_id.value(),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
for quick_access_index in 1..7 {
|
||||||
|
let mut btn_id = 0;
|
||||||
|
if let Some(id) = self.quick_access_list.get(&quick_access_index) {
|
||||||
|
btn_id = id.value();
|
||||||
|
}
|
||||||
|
quick_access_data_list.push(QuickAccessData {
|
||||||
|
r#type: QuickAccessType::QuickMenu.into(),
|
||||||
|
quick_access_index,
|
||||||
|
btn_id,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
UnlockData {
|
UnlockData {
|
||||||
unlock_id_list: self
|
unlock_id_list: self
|
||||||
.unlock_list
|
.unlock_list
|
||||||
|
@ -38,6 +70,7 @@ impl LockModel {
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|i| i.value())
|
.map(|i| i.value())
|
||||||
.collect(),
|
.collect(),
|
||||||
|
quick_access_data_list,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -49,4 +82,28 @@ impl LockModel {
|
||||||
pub fn is_unlock(&self, id: UnlockConfigID) -> bool {
|
pub fn is_unlock(&self, id: UnlockConfigID) -> bool {
|
||||||
self.unlock_list.contains(&id)
|
self.unlock_list.contains(&id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn mod_quick_access(&mut self, index: u32, id: Option<QuickAccessID>) -> QuickAccessData {
|
||||||
|
let btn_id = match id {
|
||||||
|
Some(quick_access_id) => {
|
||||||
|
if self.quick_access_list.contains_key(&index) {
|
||||||
|
*self.quick_access_list.get_mut(&index).unwrap() = quick_access_id;
|
||||||
|
} else {
|
||||||
|
self.quick_access_list.insert(index, quick_access_id);
|
||||||
|
}
|
||||||
|
quick_access_id.value()
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
if self.quick_access_list.contains_key(&index) {
|
||||||
|
self.quick_access_list.remove(&index);
|
||||||
|
}
|
||||||
|
0
|
||||||
|
}
|
||||||
|
};
|
||||||
|
QuickAccessData {
|
||||||
|
r#type: QuickAccessType::QuickMenu.into(),
|
||||||
|
quick_access_index: index,
|
||||||
|
btn_id,
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1267,7 +1267,7 @@ pub struct Lekadbbedgd {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Ijkfhelddih {
|
pub struct NewbieGroupData {
|
||||||
#[prost(int32, repeated, tag = "5")]
|
#[prost(int32, repeated, tag = "5")]
|
||||||
pub unlock_id_list: ::prost::alloc::vec::Vec<i32>,
|
pub unlock_id_list: ::prost::alloc::vec::Vec<i32>,
|
||||||
}
|
}
|
||||||
|
@ -2250,13 +2250,13 @@ pub struct PlayerSyncScNotify {
|
||||||
#[prost(message, optional, tag = "2")]
|
#[prost(message, optional, tag = "2")]
|
||||||
pub kophiimbjek: ::core::option::Option<Feecjgonjfm>,
|
pub kophiimbjek: ::core::option::Option<Feecjgonjfm>,
|
||||||
#[prost(message, optional, tag = "3")]
|
#[prost(message, optional, tag = "3")]
|
||||||
pub gbfdodbmboh: ::core::option::Option<Efadpnfaelh>,
|
pub client_systems_sync: ::core::option::Option<ClientSystemsSync>,
|
||||||
#[prost(message, optional, tag = "4")]
|
#[prost(message, optional, tag = "4")]
|
||||||
pub ejechecjicb: ::core::option::Option<Iapdkahajkn>,
|
pub ejechecjicb: ::core::option::Option<Iapdkahajkn>,
|
||||||
#[prost(message, optional, tag = "5")]
|
#[prost(message, optional, tag = "5")]
|
||||||
pub fphameaeean: ::core::option::Option<Mbokdhgpobc>,
|
pub fphameaeean: ::core::option::Option<Mbokdhgpobc>,
|
||||||
#[prost(message, optional, tag = "6")]
|
#[prost(message, optional, tag = "6")]
|
||||||
pub ogcaaminman: ::core::option::Option<Ecpbnceekbi>,
|
pub quest_data_sync: ::core::option::Option<QuestDataSync>,
|
||||||
#[prost(message, optional, tag = "7")]
|
#[prost(message, optional, tag = "7")]
|
||||||
pub aklfkgodkde: ::core::option::Option<Dbjpegchcch>,
|
pub aklfkgodkde: ::core::option::Option<Dbjpegchcch>,
|
||||||
#[prost(message, optional, tag = "8")]
|
#[prost(message, optional, tag = "8")]
|
||||||
|
@ -2278,7 +2278,7 @@ pub struct PlayerSyncScNotify {
|
||||||
#[prost(bool, tag = "46")]
|
#[prost(bool, tag = "46")]
|
||||||
pub pibodcappln: bool,
|
pub pibodcappln: bool,
|
||||||
#[prost(message, optional, tag = "82")]
|
#[prost(message, optional, tag = "82")]
|
||||||
pub coagpnjkncf: ::core::option::Option<Bmhfpdagadk>,
|
pub collect_map_sync: ::core::option::Option<CollectMapSync>,
|
||||||
#[prost(message, optional, tag = "162")]
|
#[prost(message, optional, tag = "162")]
|
||||||
pub hffkhegeifp: ::core::option::Option<Lachoecdhnc>,
|
pub hffkhegeifp: ::core::option::Option<Lachoecdhnc>,
|
||||||
#[prost(message, optional, tag = "260")]
|
#[prost(message, optional, tag = "260")]
|
||||||
|
@ -2296,7 +2296,7 @@ pub struct PlayerSyncScNotify {
|
||||||
#[prost(message, optional, tag = "915")]
|
#[prost(message, optional, tag = "915")]
|
||||||
pub dcdddgnhdjj: ::core::option::Option<Dpiceolgbfi>,
|
pub dcdddgnhdjj: ::core::option::Option<Dpiceolgbfi>,
|
||||||
#[prost(message, optional, tag = "1085")]
|
#[prost(message, optional, tag = "1085")]
|
||||||
pub hlcjedhdlfo: ::core::option::Option<Ipimhifmfni>,
|
pub work_bench_sync: ::core::option::Option<WorkBenchSync>,
|
||||||
#[prost(message, optional, tag = "1142")]
|
#[prost(message, optional, tag = "1142")]
|
||||||
pub ahpalhhnkdc: ::core::option::Option<Bnaicfpiiag>,
|
pub ahpalhhnkdc: ::core::option::Option<Bnaicfpiiag>,
|
||||||
#[prost(message, optional, tag = "1440")]
|
#[prost(message, optional, tag = "1440")]
|
||||||
|
@ -2306,7 +2306,7 @@ pub struct PlayerSyncScNotify {
|
||||||
#[prost(message, optional, tag = "1705")]
|
#[prost(message, optional, tag = "1705")]
|
||||||
pub oijhohooded: ::core::option::Option<Edlekkbcaia>,
|
pub oijhohooded: ::core::option::Option<Edlekkbcaia>,
|
||||||
#[prost(message, optional, tag = "1728")]
|
#[prost(message, optional, tag = "1728")]
|
||||||
pub pofhalhdikf: ::core::option::Option<Oaoecalella>,
|
pub vhs_store_sync: ::core::option::Option<VhsStoreSync>,
|
||||||
}
|
}
|
||||||
#[derive(proto_gen::CmdID)]
|
#[derive(proto_gen::CmdID)]
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
|
@ -3025,7 +3025,7 @@ pub struct PlayerBasicInfo {
|
||||||
pub ififobofjhd: bool,
|
pub ififobofjhd: bool,
|
||||||
#[xor(12709)]
|
#[xor(12709)]
|
||||||
#[prost(uint32, tag = "8")]
|
#[prost(uint32, tag = "8")]
|
||||||
pub pmjdniklpgc: u32,
|
pub has_nickname: u32,
|
||||||
#[xor(8317)]
|
#[xor(8317)]
|
||||||
#[prost(uint32, tag = "2")]
|
#[prost(uint32, tag = "2")]
|
||||||
pub level: u32,
|
pub level: u32,
|
||||||
|
@ -3210,7 +3210,7 @@ pub struct UnlockData {
|
||||||
#[prost(int32, repeated, tag = "1")]
|
#[prost(int32, repeated, tag = "1")]
|
||||||
pub unlock_id_list: ::prost::alloc::vec::Vec<i32>,
|
pub unlock_id_list: ::prost::alloc::vec::Vec<i32>,
|
||||||
#[prost(message, repeated, tag = "3")]
|
#[prost(message, repeated, tag = "3")]
|
||||||
pub ppfekhgdpbo: ::prost::alloc::vec::Vec<Jmkeekhhheb>,
|
pub quick_access_data_list: ::prost::alloc::vec::Vec<QuickAccessData>,
|
||||||
#[prost(int32, repeated, tag = "6")]
|
#[prost(int32, repeated, tag = "6")]
|
||||||
pub kefeekedhii: ::prost::alloc::vec::Vec<i32>,
|
pub kefeekedhii: ::prost::alloc::vec::Vec<i32>,
|
||||||
}
|
}
|
||||||
|
@ -3910,17 +3910,17 @@ pub struct Hmchpbjljen {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Ooofknbkhel {
|
pub struct TarotCardData {
|
||||||
#[prost(int32, repeated, tag = "2")]
|
#[prost(int32, repeated, tag = "2")]
|
||||||
pub fpmfdgjhchm: ::prost::alloc::vec::Vec<i32>,
|
pub fpmfdgjhchm: ::prost::alloc::vec::Vec<i32>,
|
||||||
#[prost(int32, repeated, tag = "5")]
|
#[prost(int32, repeated, tag = "5")]
|
||||||
pub llnmdibojio: ::prost::alloc::vec::Vec<i32>,
|
pub not_viewed_list: ::prost::alloc::vec::Vec<i32>,
|
||||||
#[prost(int32, repeated, tag = "9")]
|
#[prost(int32, repeated, tag = "9")]
|
||||||
pub ihnjbpcpfkf: ::prost::alloc::vec::Vec<i32>,
|
pub ihnjbpcpfkf: ::prost::alloc::vec::Vec<i32>,
|
||||||
#[prost(message, repeated, tag = "11")]
|
#[prost(message, repeated, tag = "11")]
|
||||||
pub ofdfjpflbie: ::prost::alloc::vec::Vec<Ifndfopgcph>,
|
pub ofdfjpflbie: ::prost::alloc::vec::Vec<Ifndfopgcph>,
|
||||||
#[prost(int32, repeated, tag = "13")]
|
#[prost(int32, repeated, tag = "13")]
|
||||||
pub nkggmfpghgi: ::prost::alloc::vec::Vec<i32>,
|
pub obtained_list: ::prost::alloc::vec::Vec<i32>,
|
||||||
}
|
}
|
||||||
#[derive(proto_gen::CmdID)]
|
#[derive(proto_gen::CmdID)]
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
|
@ -5396,7 +5396,7 @@ pub struct Icgeifjjpma {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Aboegnnepmi {
|
pub struct CallingCardData {
|
||||||
#[prost(uint32, repeated, tag = "11")]
|
#[prost(uint32, repeated, tag = "11")]
|
||||||
pub ocfaaakaomg: ::prost::alloc::vec::Vec<u32>,
|
pub ocfaaakaomg: ::prost::alloc::vec::Vec<u32>,
|
||||||
#[prost(uint32, repeated, tag = "8")]
|
#[prost(uint32, repeated, tag = "8")]
|
||||||
|
@ -5983,7 +5983,7 @@ pub struct Dgfbapkibje {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Jfkllcaiafj {
|
pub struct InterKnotSync {
|
||||||
#[prost(uint32, repeated, tag = "2")]
|
#[prost(uint32, repeated, tag = "2")]
|
||||||
pub gbcaeaicghd: ::prost::alloc::vec::Vec<u32>,
|
pub gbcaeaicghd: ::prost::alloc::vec::Vec<u32>,
|
||||||
#[prost(uint32, repeated, tag = "3")]
|
#[prost(uint32, repeated, tag = "3")]
|
||||||
|
@ -8738,7 +8738,7 @@ pub struct Ojdhiaepnad {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Mjhicllmahe {
|
pub struct CheckItemSync {
|
||||||
#[prost(uint32, repeated, tag = "1")]
|
#[prost(uint32, repeated, tag = "1")]
|
||||||
pub aighoeokkab: ::prost::alloc::vec::Vec<u32>,
|
pub aighoeokkab: ::prost::alloc::vec::Vec<u32>,
|
||||||
}
|
}
|
||||||
|
@ -9359,11 +9359,11 @@ pub struct Ijkgfnpobob {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Glinfkmgjoj {
|
pub struct CurseData {
|
||||||
#[prost(int32, repeated, tag = "5")]
|
#[prost(int32, repeated, tag = "5")]
|
||||||
pub llnmdibojio: ::prost::alloc::vec::Vec<i32>,
|
pub not_viewed_list: ::prost::alloc::vec::Vec<i32>,
|
||||||
#[prost(int32, repeated, tag = "8")]
|
#[prost(int32, repeated, tag = "8")]
|
||||||
pub nkggmfpghgi: ::prost::alloc::vec::Vec<i32>,
|
pub obtained_list: ::prost::alloc::vec::Vec<i32>,
|
||||||
}
|
}
|
||||||
#[derive(proto_gen::CmdID)]
|
#[derive(proto_gen::CmdID)]
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
|
@ -10437,7 +10437,7 @@ pub struct Abnehcbnadl {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Baodmddgagi {
|
pub struct CallingCardSync {
|
||||||
#[prost(uint32, repeated, tag = "5")]
|
#[prost(uint32, repeated, tag = "5")]
|
||||||
pub ocfaaakaomg: ::prost::alloc::vec::Vec<u32>,
|
pub ocfaaakaomg: ::prost::alloc::vec::Vec<u32>,
|
||||||
#[prost(uint32, repeated, tag = "3")]
|
#[prost(uint32, repeated, tag = "3")]
|
||||||
|
@ -10701,9 +10701,9 @@ pub struct Abjkiejnbak {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Oacoekjapel {
|
pub struct ChangePostGirlCsReq {
|
||||||
#[prost(uint32, repeated, tag = "4")]
|
#[prost(uint32, repeated, tag = "4")]
|
||||||
pub fndfaabfafb: ::prost::alloc::vec::Vec<u32>,
|
pub new_selected_post_girl_id_list: ::prost::alloc::vec::Vec<u32>,
|
||||||
}
|
}
|
||||||
#[derive(proto_gen::CmdID)]
|
#[derive(proto_gen::CmdID)]
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
|
@ -11109,7 +11109,7 @@ pub struct Geemkgcbcng {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Oaoecalella {
|
pub struct VhsStoreSync {
|
||||||
#[prost(message, optional, tag = "11")]
|
#[prost(message, optional, tag = "11")]
|
||||||
pub cfaiklmcfkb: ::core::option::Option<Aimmcpelead>,
|
pub cfaiklmcfkb: ::core::option::Option<Aimmcpelead>,
|
||||||
#[prost(bool, tag = "13")]
|
#[prost(bool, tag = "13")]
|
||||||
|
@ -11366,7 +11366,7 @@ pub struct Acpgildhoed {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Idbdhebkcgg {
|
pub struct ModQuickMenuScRsp {
|
||||||
#[xor(13685)]
|
#[xor(13685)]
|
||||||
#[prost(int32, tag = "1")]
|
#[prost(int32, tag = "1")]
|
||||||
pub retcode: i32,
|
pub retcode: i32,
|
||||||
|
@ -12173,9 +12173,9 @@ pub struct Mbfcgalihdj {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Dpnalcomaii {
|
pub struct ModQuickMenuCsReq {
|
||||||
#[prost(message, repeated, tag = "13")]
|
#[prost(message, repeated, tag = "13")]
|
||||||
pub ppfekhgdpbo: ::prost::alloc::vec::Vec<Jmkeekhhheb>,
|
pub quick_access_data_list: ::prost::alloc::vec::Vec<QuickAccessData>,
|
||||||
}
|
}
|
||||||
#[derive(proto_gen::CmdID)]
|
#[derive(proto_gen::CmdID)]
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
|
@ -12649,7 +12649,7 @@ pub struct Akkbhjhoiao {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Fikgjigadki {
|
pub struct ModNicknameCsReq {
|
||||||
#[xor(13081)]
|
#[xor(13081)]
|
||||||
#[prost(uint32, tag = "12")]
|
#[prost(uint32, tag = "12")]
|
||||||
pub avatar_id: u32,
|
pub avatar_id: u32,
|
||||||
|
@ -12839,7 +12839,7 @@ pub struct Okkjjhonnik {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Hgdnnkfjcmc {
|
pub struct MusicPlayerSync {
|
||||||
#[xor(12784)]
|
#[xor(12784)]
|
||||||
#[prost(uint32, tag = "11")]
|
#[prost(uint32, tag = "11")]
|
||||||
pub mhgnhkmhlgj: u32,
|
pub mhgnhkmhlgj: u32,
|
||||||
|
@ -13605,7 +13605,7 @@ pub struct Bhomgogkadj {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Dmhpnnmggnm {
|
pub struct TrashbinHermitSync {
|
||||||
#[prost(message, repeated, tag = "15")]
|
#[prost(message, repeated, tag = "15")]
|
||||||
pub klbehoieibi: ::prost::alloc::vec::Vec<Ddplihlfngg>,
|
pub klbehoieibi: ::prost::alloc::vec::Vec<Ddplihlfngg>,
|
||||||
}
|
}
|
||||||
|
@ -16157,41 +16157,59 @@ pub struct Fihgfkkpnae {
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct ClientSystemsInfo {
|
pub struct ClientSystemsInfo {
|
||||||
#[prost(message, optional, tag = "1")]
|
#[prost(message, optional, tag = "1")]
|
||||||
pub ilplibfdina: ::core::option::Option<Ipijdhhpbci>,
|
pub teleport_data: ::core::option::Option<TeleportData>,
|
||||||
#[prost(message, optional, tag = "2")]
|
#[prost(message, optional, tag = "2")]
|
||||||
pub aklfkgodkde: ::core::option::Option<Iggbdkbgphj>,
|
pub aklfkgodkde: ::core::option::Option<Iggbdkbgphj>,
|
||||||
#[prost(message, optional, tag = "3")]
|
#[prost(message, optional, tag = "3")]
|
||||||
pub ipfhhabegii: ::core::option::Option<Lcnicjccpde>,
|
pub ipfhhabegii: ::core::option::Option<Lcnicjccpde>,
|
||||||
#[prost(message, optional, tag = "4")]
|
#[prost(message, optional, tag = "4")]
|
||||||
pub post_girl_data: ::core::option::Option<PostGirlData>,
|
pub post_girl_data: ::core::option::Option<PostGirlData>,
|
||||||
|
/// 音乐播放器,主要是收录列表。里面有个 enum 是不是循环模式的意思?
|
||||||
|
///
|
||||||
#[prost(message, optional, tag = "6")]
|
#[prost(message, optional, tag = "6")]
|
||||||
pub djhjojekegc: ::core::option::Option<Knohmlebcbm>,
|
pub music_player_data: ::core::option::Option<MusicPlayerData>,
|
||||||
|
/// 这个应该是解锁鸣徽之类的了。需要进一步研究
|
||||||
|
///
|
||||||
#[prost(message, optional, tag = "7")]
|
#[prost(message, optional, tag = "7")]
|
||||||
pub mhehfjdgkbd: ::core::option::Option<Ooofknbkhel>,
|
pub tarot_card_data: ::core::option::Option<TarotCardData>,
|
||||||
|
/// 这个大概跟剧情有关,下面有个表是已经玩过的过场 ID. 这个过场特指漫画式和几个人放屏幕上的对话式,要是给一个共性就是都可以跳过的
|
||||||
|
///
|
||||||
#[prost(message, optional, tag = "8")]
|
#[prost(message, optional, tag = "8")]
|
||||||
pub mopogebpbeo: ::core::option::Option<Oaljbkehldb>,
|
pub mopogebpbeo: ::core::option::Option<Oaljbkehldb>,
|
||||||
#[prost(message, optional, tag = "9")]
|
#[prost(message, optional, tag = "9")]
|
||||||
pub njidcmpcojg: ::core::option::Option<Ijkfhelddih>,
|
pub newbie_group_data: ::core::option::Option<NewbieGroupData>,
|
||||||
#[prost(message, optional, tag = "10")]
|
#[prost(message, optional, tag = "10")]
|
||||||
pub unlock_data: ::core::option::Option<UnlockData>,
|
pub unlock_data: ::core::option::Option<UnlockData>,
|
||||||
#[prost(message, optional, tag = "11")]
|
#[prost(message, optional, tag = "11")]
|
||||||
pub geoagplahii: ::core::option::Option<NewsStandData>,
|
pub geoagplahii: ::core::option::Option<NewsStandData>,
|
||||||
#[prost(message, optional, tag = "12")]
|
#[prost(message, optional, tag = "12")]
|
||||||
pub trashbin_hermit_data: ::core::option::Option<TrashbinHermitData>,
|
pub trashbin_hermit_data: ::core::option::Option<TrashbinHermitData>,
|
||||||
|
/// 猜测是收藏列表
|
||||||
|
///
|
||||||
#[prost(message, optional, tag = "13")]
|
#[prost(message, optional, tag = "13")]
|
||||||
pub obfepjfnlgi: ::core::option::Option<Jcdicmoemef>,
|
pub collect_data: ::core::option::Option<CollectData>,
|
||||||
|
/// 侵蚀症状..? 大概是曾获得过的意思
|
||||||
|
///
|
||||||
#[prost(message, optional, tag = "14")]
|
#[prost(message, optional, tag = "14")]
|
||||||
pub mkhjcnbgedm: ::core::option::Option<Glinfkmgjoj>,
|
pub curse_data: ::core::option::Option<CurseData>,
|
||||||
|
/// 绳网数据。大概有浏览过的帖子和发表了的回复之类
|
||||||
|
///
|
||||||
#[prost(message, optional, tag = "15")]
|
#[prost(message, optional, tag = "15")]
|
||||||
pub olgibdhglkg: ::core::option::Option<Gfkfedpdede>,
|
pub inter_knot_data: ::core::option::Option<InterKnotData>,
|
||||||
|
/// 成就数据
|
||||||
|
///
|
||||||
#[prost(message, optional, tag = "41")]
|
#[prost(message, optional, tag = "41")]
|
||||||
pub nhmefdfdmfi: ::core::option::Option<Abkjgdcbglg>,
|
pub achievement_data: ::core::option::Option<AchievementData>,
|
||||||
#[prost(message, repeated, tag = "200")]
|
#[prost(message, repeated, tag = "200")]
|
||||||
pub gpfoecchico: ::prost::alloc::vec::Vec<Hmchpbjljen>,
|
pub gpfoecchico: ::prost::alloc::vec::Vec<Hmchpbjljen>,
|
||||||
|
/// 这个大概是喵吉长官的完成数据。不打算管
|
||||||
|
///
|
||||||
#[prost(message, optional, tag = "621")]
|
#[prost(message, optional, tag = "621")]
|
||||||
pub aigkcfkaadf: ::core::option::Option<Efokkbbamai>,
|
pub check_item_data: ::core::option::Option<CheckItemData>,
|
||||||
|
/// 好像是名片数据
|
||||||
|
///
|
||||||
#[prost(message, optional, tag = "800")]
|
#[prost(message, optional, tag = "800")]
|
||||||
pub hbhfjgbahgf: ::core::option::Option<Aboegnnepmi>,
|
pub calling_card_data: ::core::option::Option<CallingCardData>,
|
||||||
#[prost(map = "uint32, int32", tag = "864")]
|
#[prost(map = "uint32, int32", tag = "864")]
|
||||||
pub oomkaabgbmb: ::std::collections::HashMap<u32, i32>,
|
pub oomkaabgbmb: ::std::collections::HashMap<u32, i32>,
|
||||||
#[prost(message, optional, tag = "1228")]
|
#[prost(message, optional, tag = "1228")]
|
||||||
|
@ -18201,7 +18219,7 @@ pub struct GetMonthCardDayRewardCsReq {}
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Ipijdhhpbci {
|
pub struct TeleportData {
|
||||||
#[prost(int32, repeated, tag = "2")]
|
#[prost(int32, repeated, tag = "2")]
|
||||||
pub jmjmkpakijj: ::prost::alloc::vec::Vec<i32>,
|
pub jmjmkpakijj: ::prost::alloc::vec::Vec<i32>,
|
||||||
#[prost(int32, repeated, tag = "15")]
|
#[prost(int32, repeated, tag = "15")]
|
||||||
|
@ -20150,41 +20168,41 @@ pub struct Ocdbdmkhcjl {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Efadpnfaelh {
|
pub struct ClientSystemsSync {
|
||||||
#[prost(uint32, repeated, tag = "1")]
|
#[prost(uint32, repeated, tag = "1")]
|
||||||
pub hgfaaejijhk: ::prost::alloc::vec::Vec<u32>,
|
pub teleport_id_sync: ::prost::alloc::vec::Vec<u32>,
|
||||||
#[prost(message, optional, tag = "2")]
|
#[prost(message, optional, tag = "2")]
|
||||||
pub ofmndhbgdof: ::core::option::Option<Mgicaigalme>,
|
pub ofmndhbgdof: ::core::option::Option<Mgicaigalme>,
|
||||||
#[prost(message, optional, tag = "3")]
|
#[prost(message, optional, tag = "3")]
|
||||||
pub olgibdhglkg: ::core::option::Option<Jfkllcaiafj>,
|
pub inter_knot_data: ::core::option::Option<InterKnotSync>,
|
||||||
#[prost(message, optional, tag = "4")]
|
#[prost(message, optional, tag = "4")]
|
||||||
pub djhjojekegc: ::core::option::Option<Hgdnnkfjcmc>,
|
pub music_player_data: ::core::option::Option<MusicPlayerSync>,
|
||||||
#[prost(uint32, repeated, tag = "5")]
|
#[prost(uint32, repeated, tag = "5")]
|
||||||
pub eccpblmlgjd: ::prost::alloc::vec::Vec<u32>,
|
pub eccpblmlgjd: ::prost::alloc::vec::Vec<u32>,
|
||||||
#[prost(int32, repeated, tag = "6")]
|
#[prost(int32, repeated, tag = "6")]
|
||||||
pub nefkjpdkgkg: ::prost::alloc::vec::Vec<i32>,
|
pub newbie_group_sync: ::prost::alloc::vec::Vec<i32>,
|
||||||
#[prost(uint32, repeated, tag = "7")]
|
#[prost(uint32, repeated, tag = "7")]
|
||||||
pub phnclmchljo: ::prost::alloc::vec::Vec<u32>,
|
pub phnclmchljo: ::prost::alloc::vec::Vec<u32>,
|
||||||
#[prost(message, optional, tag = "8")]
|
#[prost(message, optional, tag = "8")]
|
||||||
pub nhmefdfdmfi: ::core::option::Option<Jdbfjibpilf>,
|
pub achievement_data: ::core::option::Option<AchievementSync>,
|
||||||
#[prost(int32, repeated, tag = "9")]
|
#[prost(int32, repeated, tag = "9")]
|
||||||
pub eghlpajmnmj: ::prost::alloc::vec::Vec<i32>,
|
pub unlock_id_sync: ::prost::alloc::vec::Vec<i32>,
|
||||||
#[prost(message, repeated, tag = "11")]
|
#[prost(message, repeated, tag = "11")]
|
||||||
pub ppfekhgdpbo: ::prost::alloc::vec::Vec<Jmkeekhhheb>,
|
pub quick_access_data_list: ::prost::alloc::vec::Vec<QuickAccessData>,
|
||||||
#[prost(uint32, repeated, tag = "12")]
|
#[prost(uint32, repeated, tag = "12")]
|
||||||
pub mbpddlclekm: ::prost::alloc::vec::Vec<u32>,
|
pub teleport_area_id_sync: ::prost::alloc::vec::Vec<u32>,
|
||||||
#[prost(uint32, repeated, tag = "13")]
|
#[prost(uint32, repeated, tag = "13")]
|
||||||
pub ooiblmdebdf: ::prost::alloc::vec::Vec<u32>,
|
pub ooiblmdebdf: ::prost::alloc::vec::Vec<u32>,
|
||||||
#[prost(message, optional, tag = "14")]
|
#[prost(message, optional, tag = "14")]
|
||||||
pub trashbin_hermit_data: ::core::option::Option<Dmhpnnmggnm>,
|
pub trashbin_hermit_data: ::core::option::Option<TrashbinHermitSync>,
|
||||||
#[prost(message, optional, tag = "15")]
|
#[prost(message, optional, tag = "15")]
|
||||||
pub geoagplahii: ::core::option::Option<Noggnmadkfj>,
|
pub geoagplahii: ::core::option::Option<Noggnmadkfj>,
|
||||||
#[prost(message, optional, tag = "201")]
|
#[prost(message, optional, tag = "201")]
|
||||||
pub post_girl_data: ::core::option::Option<Jakchjjkccg>,
|
pub post_girl_data: ::core::option::Option<PostGirlSync>,
|
||||||
#[prost(message, optional, tag = "281")]
|
#[prost(message, optional, tag = "281")]
|
||||||
pub aigkcfkaadf: ::core::option::Option<Mjhicllmahe>,
|
pub check_item_data: ::core::option::Option<CheckItemSync>,
|
||||||
#[prost(message, optional, tag = "576")]
|
#[prost(message, optional, tag = "576")]
|
||||||
pub hbhfjgbahgf: ::core::option::Option<Baodmddgagi>,
|
pub calling_card_data: ::core::option::Option<CallingCardSync>,
|
||||||
#[prost(message, repeated, tag = "719")]
|
#[prost(message, repeated, tag = "719")]
|
||||||
pub gpfoecchico: ::prost::alloc::vec::Vec<Hmchpbjljen>,
|
pub gpfoecchico: ::prost::alloc::vec::Vec<Hmchpbjljen>,
|
||||||
#[prost(message, optional, tag = "947")]
|
#[prost(message, optional, tag = "947")]
|
||||||
|
@ -20554,7 +20572,7 @@ pub struct Poceahbflhh {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Gfkfedpdede {
|
pub struct InterKnotData {
|
||||||
#[prost(uint32, repeated, tag = "2")]
|
#[prost(uint32, repeated, tag = "2")]
|
||||||
pub gbcaeaicghd: ::prost::alloc::vec::Vec<u32>,
|
pub gbcaeaicghd: ::prost::alloc::vec::Vec<u32>,
|
||||||
#[prost(message, repeated, tag = "6")]
|
#[prost(message, repeated, tag = "6")]
|
||||||
|
@ -21557,11 +21575,11 @@ pub struct Jlmgodmceei {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Jcdicmoemef {
|
pub struct CollectData {
|
||||||
#[prost(int32, repeated, tag = "5")]
|
#[prost(int32, repeated, tag = "5")]
|
||||||
pub nkggmfpghgi: ::prost::alloc::vec::Vec<i32>,
|
pub obtained_list: ::prost::alloc::vec::Vec<i32>,
|
||||||
#[prost(int32, repeated, tag = "10")]
|
#[prost(int32, repeated, tag = "10")]
|
||||||
pub llnmdibojio: ::prost::alloc::vec::Vec<i32>,
|
pub not_viewed_list: ::prost::alloc::vec::Vec<i32>,
|
||||||
}
|
}
|
||||||
#[derive(proto_gen::CmdID)]
|
#[derive(proto_gen::CmdID)]
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
|
@ -21643,7 +21661,7 @@ pub struct Maiibgeljck {}
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Mlcoggemeon {
|
pub struct ChangePostGirlScRsp {
|
||||||
#[xor(1039)]
|
#[xor(1039)]
|
||||||
#[prost(int32, tag = "15")]
|
#[prost(int32, tag = "15")]
|
||||||
pub retcode: i32,
|
pub retcode: i32,
|
||||||
|
@ -22121,7 +22139,7 @@ pub struct Nlahgfcdang {
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Kakpeoaekgb {
|
pub struct Kakpeoaekgb {
|
||||||
#[prost(uint32, repeated, tag = "2")]
|
#[prost(uint32, repeated, tag = "2")]
|
||||||
pub nkggmfpghgi: ::prost::alloc::vec::Vec<u32>,
|
pub obtained_list: ::prost::alloc::vec::Vec<u32>,
|
||||||
#[prost(uint32, repeated, tag = "12")]
|
#[prost(uint32, repeated, tag = "12")]
|
||||||
pub ihnjbpcpfkf: ::prost::alloc::vec::Vec<u32>,
|
pub ihnjbpcpfkf: ::prost::alloc::vec::Vec<u32>,
|
||||||
#[prost(message, repeated, tag = "14")]
|
#[prost(message, repeated, tag = "14")]
|
||||||
|
@ -25132,7 +25150,7 @@ pub struct Fiplebkibam {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Goemgnfnmbj {
|
pub struct ModNicknameScRsp {
|
||||||
#[xor(2680)]
|
#[xor(2680)]
|
||||||
#[prost(int32, tag = "14")]
|
#[prost(int32, tag = "14")]
|
||||||
pub retcode: i32,
|
pub retcode: i32,
|
||||||
|
@ -25528,21 +25546,21 @@ pub struct Bhdmjhjmagn {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Jmkeekhhheb {
|
pub struct QuickAccessData {
|
||||||
#[xor(1243)]
|
#[xor(1243)]
|
||||||
#[prost(uint32, tag = "9")]
|
#[prost(uint32, tag = "9")]
|
||||||
pub bdccceafoak: u32,
|
pub quick_access_index: u32,
|
||||||
#[prost(enumeration = "Ihjpmaigida", tag = "14")]
|
#[prost(enumeration = "QuickAccessType", tag = "14")]
|
||||||
pub r#type: i32,
|
pub r#type: i32,
|
||||||
#[xor(8904)]
|
#[xor(8904)]
|
||||||
#[prost(uint32, tag = "15")]
|
#[prost(uint32, tag = "15")]
|
||||||
pub kabhjlklfla: u32,
|
pub btn_id: u32,
|
||||||
}
|
}
|
||||||
#[derive(proto_gen::CmdID)]
|
#[derive(proto_gen::CmdID)]
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Jakchjjkccg {
|
pub struct PostGirlSync {
|
||||||
#[prost(uint32, repeated, tag = "3")]
|
#[prost(uint32, repeated, tag = "3")]
|
||||||
pub selected_post_girl_id_list: ::prost::alloc::vec::Vec<u32>,
|
pub selected_post_girl_id_list: ::prost::alloc::vec::Vec<u32>,
|
||||||
#[prost(uint32, repeated, tag = "5")]
|
#[prost(uint32, repeated, tag = "5")]
|
||||||
|
@ -25971,7 +25989,7 @@ pub struct Pkamllhinjh {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Abkjgdcbglg {
|
pub struct AchievementData {
|
||||||
#[prost(message, repeated, tag = "13")]
|
#[prost(message, repeated, tag = "13")]
|
||||||
pub emldeipfmma: ::prost::alloc::vec::Vec<Gokcdfmheel>,
|
pub emldeipfmma: ::prost::alloc::vec::Vec<Gokcdfmheel>,
|
||||||
}
|
}
|
||||||
|
@ -28136,7 +28154,7 @@ pub struct Cedamedgpaj {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Efokkbbamai {
|
pub struct CheckItemData {
|
||||||
#[prost(uint32, repeated, tag = "3")]
|
#[prost(uint32, repeated, tag = "3")]
|
||||||
pub aighoeokkab: ::prost::alloc::vec::Vec<u32>,
|
pub aighoeokkab: ::prost::alloc::vec::Vec<u32>,
|
||||||
}
|
}
|
||||||
|
@ -29373,7 +29391,7 @@ pub struct Dchlkminkdl {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Bmhfpdagadk {
|
pub struct CollectMapSync {
|
||||||
#[prost(int32, repeated, tag = "1")]
|
#[prost(int32, repeated, tag = "1")]
|
||||||
pub oeaialfmgng: ::prost::alloc::vec::Vec<i32>,
|
pub oeaialfmgng: ::prost::alloc::vec::Vec<i32>,
|
||||||
#[prost(int32, repeated, tag = "3")]
|
#[prost(int32, repeated, tag = "3")]
|
||||||
|
@ -29846,7 +29864,7 @@ pub struct Cmheepmblfb {}
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Adkopojpgdl {
|
pub struct Adkopojpgdl {
|
||||||
#[prost(message, optional, tag = "1")]
|
#[prost(message, optional, tag = "1")]
|
||||||
pub ogcaaminman: ::core::option::Option<StringEntry>,
|
pub quest_data_sync: ::core::option::Option<StringEntry>,
|
||||||
#[prost(enumeration = "Iojdgcmbnmj", tag = "2")]
|
#[prost(enumeration = "Iojdgcmbnmj", tag = "2")]
|
||||||
pub ghggdeglhka: i32,
|
pub ghggdeglhka: i32,
|
||||||
#[prost(enumeration = "QuestStatus", tag = "3")]
|
#[prost(enumeration = "QuestStatus", tag = "3")]
|
||||||
|
@ -32078,7 +32096,7 @@ pub struct Labeghdefnk {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Ecpbnceekbi {
|
pub struct QuestDataSync {
|
||||||
#[prost(message, optional, tag = "1")]
|
#[prost(message, optional, tag = "1")]
|
||||||
pub khlflpbafip: ::core::option::Option<Fgddalkmick>,
|
pub khlflpbafip: ::core::option::Option<Fgddalkmick>,
|
||||||
#[prost(message, optional, tag = "2")]
|
#[prost(message, optional, tag = "2")]
|
||||||
|
@ -33166,7 +33184,7 @@ pub struct Ekiechelnjg {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Ipimhifmfni {
|
pub struct WorkBenchSync {
|
||||||
#[prost(uint32, repeated, tag = "10")]
|
#[prost(uint32, repeated, tag = "10")]
|
||||||
pub docddodnlon: ::prost::alloc::vec::Vec<u32>,
|
pub docddodnlon: ::prost::alloc::vec::Vec<u32>,
|
||||||
#[prost(uint32, repeated, tag = "4")]
|
#[prost(uint32, repeated, tag = "4")]
|
||||||
|
@ -33474,7 +33492,7 @@ pub struct Ddjecikoocn {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Knohmlebcbm {
|
pub struct MusicPlayerData {
|
||||||
#[xor(13457)]
|
#[xor(13457)]
|
||||||
#[prost(uint32, tag = "13")]
|
#[prost(uint32, tag = "13")]
|
||||||
pub mhgnhkmhlgj: u32,
|
pub mhgnhkmhlgj: u32,
|
||||||
|
@ -34261,7 +34279,7 @@ pub struct Jelnghnjbph {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct Jdbfjibpilf {
|
pub struct AchievementSync {
|
||||||
#[prost(message, repeated, tag = "15")]
|
#[prost(message, repeated, tag = "15")]
|
||||||
pub emldeipfmma: ::prost::alloc::vec::Vec<Gokcdfmheel>,
|
pub emldeipfmma: ::prost::alloc::vec::Vec<Gokcdfmheel>,
|
||||||
}
|
}
|
||||||
|
@ -37711,29 +37729,29 @@ impl Monopkiegjo {
|
||||||
#[derive(proto_gen::XorFields)]
|
#[derive(proto_gen::XorFields)]
|
||||||
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
|
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
|
||||||
#[repr(i32)]
|
#[repr(i32)]
|
||||||
pub enum Ihjpmaigida {
|
pub enum QuickAccessType {
|
||||||
Mdmamoibbhc = 0,
|
None = 0,
|
||||||
Opbobdiclco = 1,
|
Direct = 1,
|
||||||
Apfhncfijli = 2,
|
QuickMenu = 2,
|
||||||
}
|
}
|
||||||
impl Ihjpmaigida {
|
impl QuickAccessType {
|
||||||
/// String value of the enum field names used in the ProtoBuf definition.
|
/// 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
|
/// 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.
|
/// (if the ProtoBuf definition does not change) and safe for programmatic use.
|
||||||
pub fn as_str_name(&self) -> &'static str {
|
pub fn as_str_name(&self) -> &'static str {
|
||||||
match self {
|
match self {
|
||||||
Ihjpmaigida::Mdmamoibbhc => "IHJPMAIGIDA_MDMAMOIBBHC",
|
QuickAccessType::None => "QUICK_ACCESS_TYPE_NONE",
|
||||||
Ihjpmaigida::Opbobdiclco => "IHJPMAIGIDA_OPBOBDICLCO",
|
QuickAccessType::Direct => "QUICK_ACCESS_TYPE_DIRECT",
|
||||||
Ihjpmaigida::Apfhncfijli => "IHJPMAIGIDA_APFHNCFIJLI",
|
QuickAccessType::QuickMenu => "QUICK_ACCESS_TYPE_QUICK_MENU",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/// Creates an enum from field names used in the ProtoBuf definition.
|
/// Creates an enum from field names used in the ProtoBuf definition.
|
||||||
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
|
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
|
||||||
match value {
|
match value {
|
||||||
"IHJPMAIGIDA_MDMAMOIBBHC" => Some(Self::Mdmamoibbhc),
|
"QUICK_ACCESS_TYPE_NONE" => Some(Self::None),
|
||||||
"IHJPMAIGIDA_OPBOBDICLCO" => Some(Self::Opbobdiclco),
|
"QUICK_ACCESS_TYPE_DIRECT" => Some(Self::Direct),
|
||||||
"IHJPMAIGIDA_APFHNCFIJLI" => Some(Self::Apfhncfijli),
|
"QUICK_ACCESS_TYPE_QUICK_MENU" => Some(Self::QuickMenu),
|
||||||
_ => None,
|
_ => None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,12 +14,16 @@ pub struct BasicDataModelBin {
|
||||||
pub frontend_avatar_id: i32,
|
pub frontend_avatar_id: i32,
|
||||||
#[prost(int32, tag = "6")]
|
#[prost(int32, tag = "6")]
|
||||||
pub beginner_procedure_id: i32,
|
pub beginner_procedure_id: i32,
|
||||||
|
#[prost(uint32, tag = "7")]
|
||||||
|
pub selected_post_girl_id: u32,
|
||||||
}
|
}
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
pub struct LockModelBin {
|
pub struct LockModelBin {
|
||||||
#[prost(int32, repeated, tag = "1")]
|
#[prost(int32, repeated, tag = "1")]
|
||||||
pub unlock_list: ::prost::alloc::vec::Vec<i32>,
|
pub unlock_list: ::prost::alloc::vec::Vec<i32>,
|
||||||
|
#[prost(map = "uint32, uint32", tag = "2")]
|
||||||
|
pub quick_access_list: ::std::collections::HashMap<u32, u32>,
|
||||||
}
|
}
|
||||||
#[allow(clippy::derive_partial_eq_without_eq)]
|
#[allow(clippy::derive_partial_eq_without_eq)]
|
||||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||||
|
|
Loading…
Reference in a new issue