forked from sin365/AxibugEmuOnline
Compare commits
7 Commits
4b0a781957
...
c89b6b1ab5
| Author | SHA1 | Date | |
|---|---|---|---|
| c89b6b1ab5 | |||
| 8b2b66a940 | |||
| 902a8f1360 | |||
| 569e4e44fe | |||
| c77cac4812 | |||
| 5f9d67b36f | |||
| 5014c81539 |
8
AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi.meta
Normal file
8
AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4094856a5db24f142a14fda03f1215a2
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
39
AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi/AxiNS.cs
Normal file
39
AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi/AxiNS.cs
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#if UNITY_SWITCH
|
||||||
|
using nn.account;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
public class AxiNS
|
||||||
|
{
|
||||||
|
static AxiNS _instance;
|
||||||
|
public static AxiNS instance
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_instance == null)
|
||||||
|
_instance = new AxiNS();
|
||||||
|
return _instance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public AxiNSUser user;
|
||||||
|
public AxiNSMount mount;
|
||||||
|
public AxiNSIO io;
|
||||||
|
AxiNS()
|
||||||
|
{
|
||||||
|
user = new AxiNSUser();
|
||||||
|
mount = new AxiNSMount();
|
||||||
|
io = new AxiNSIO();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 初始化(最好在项目第一时间初始化,保证先初始化再使用某些东西,才不闪退)
|
||||||
|
/// </summary>
|
||||||
|
public void Init()
|
||||||
|
{
|
||||||
|
#if UNITY_SWITCH
|
||||||
|
if (!user.GetUserID(out Uid uid))
|
||||||
|
return;
|
||||||
|
mount.MountSave(uid);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
11
AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi/AxiNS.cs.meta
Normal file
11
AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi/AxiNS.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 52541c757d45c4c488726bcc39f73ba6
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
367
AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi/AxiNSErrCode.cs
Normal file
367
AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi/AxiNSErrCode.cs
Normal file
@ -0,0 +1,367 @@
|
|||||||
|
public static class AxiNSErrCode
|
||||||
|
{
|
||||||
|
#if UNITY_SWITCH
|
||||||
|
public static string GetErrorInfo(this nn.Result result)
|
||||||
|
{
|
||||||
|
if (result.IsSuccess())
|
||||||
|
return "NoErr";
|
||||||
|
return GetErrorDetails(result.GetModule(), result.GetDescription());
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
/// <summary>
|
||||||
|
/// 根据模块 ID 和描述 ID 返回任天堂 Switch 错误码的含义、可能原因及解决办法。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="moduleId">模块 ID</param>
|
||||||
|
/// <param name="descriptionId">描述 ID</param>
|
||||||
|
/// <returns>包含错误码、含义、可能原因及解决办法的字符串</returns>
|
||||||
|
public static string GetErrorDetails(int moduleId, int descriptionId)
|
||||||
|
{
|
||||||
|
string errorCode = $"2{moduleId:D3}-{descriptionId:D4}"; // 格式化为 2XXX-YYYY
|
||||||
|
string meaning = "未知错误";
|
||||||
|
string causeAndSolution = "未知错误,请检查日志或联系任天堂支持。";
|
||||||
|
|
||||||
|
switch (moduleId)
|
||||||
|
{
|
||||||
|
case 2: // nn::fs (文件系统)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
meaning = "ResultPathNotFound";
|
||||||
|
causeAndSolution = "路径未找到。检查路径是否正确,确保父目录存在。使用 nn.fs.Directory.Create 创建父目录。";
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
meaning = "ResultPermissionDenied";
|
||||||
|
causeAndSolution = "权限被拒绝。可能是 Atmosphere 限制了 save:/ 的写权限。尝试调整 Atmosphere 配置或使用 sd:/ 挂载点。";
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
meaning = "ResultPathAlreadyExists";
|
||||||
|
causeAndSolution = "路径已存在。检查路径是否被占用,删除或重命名现有文件/目录。";
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
meaning = "ResultTargetLocked";
|
||||||
|
causeAndSolution = "目标被锁定。可能是文件正在使用中,关闭相关程序后重试。";
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
meaning = "ResultTargetNotFound";
|
||||||
|
causeAndSolution = "目标未找到。确认目标文件/目录是否存在,检查路径拼写。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 5: // nn::err (错误处理)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 3:
|
||||||
|
meaning = "microSD 卡相关错误";
|
||||||
|
causeAndSolution = "无法下载软件,可能是 microSD 卡损坏。移除 microSD 卡,重新插入,或更换卡。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 16: // nn::oe (操作系统错误)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 247:
|
||||||
|
meaning = "microSD 卡存储问题";
|
||||||
|
causeAndSolution = "microSD 卡损坏或不兼容。更换 microSD 卡,或将默认存储位置设置为系统内存。";
|
||||||
|
break;
|
||||||
|
case 390:
|
||||||
|
meaning = "不支持的 microSD 卡";
|
||||||
|
causeAndSolution = "microSD 卡格式不受支持。格式化为 exFAT 或 FAT32 后重试。";
|
||||||
|
break;
|
||||||
|
case 601:
|
||||||
|
meaning = "microSD 卡数据损坏";
|
||||||
|
causeAndSolution = "microSD 卡数据损坏。备份数据后格式化卡,或更换新卡。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 21: // nn::settings (设置)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 3:
|
||||||
|
meaning = "系统软件未更新或损坏";
|
||||||
|
causeAndSolution = "系统固件版本过旧或损坏。更新系统固件,或重新安装系统。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 101: // nn::fssrv (文件系统服务)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
meaning = "系统错误";
|
||||||
|
causeAndSolution = "通用系统错误。重启 Switch,若问题持续,联系任天堂支持。";
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
meaning = "固件损坏";
|
||||||
|
causeAndSolution = "系统固件损坏。尝试更新系统,或恢复出厂设置(注意备份数据)。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 107: // nn::nim (网络安装管理)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 427:
|
||||||
|
meaning = "固件损坏";
|
||||||
|
causeAndSolution = "系统固件损坏。更新系统固件,或重新安装系统。";
|
||||||
|
break;
|
||||||
|
case 445:
|
||||||
|
meaning = "硬件损坏或盗版内容";
|
||||||
|
causeAndSolution = "可能是硬件损坏或存在盗版内容。删除盗版内容,重启 Switch,若无效联系任天堂支持。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 110: // nn::socket (网络套接字)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 1000:
|
||||||
|
meaning = "网络连接失败";
|
||||||
|
causeAndSolution = "无法连接到网络。检查网络连接,重启路由器,尝试切换到其他网络频段(2.4GHz/5GHz)。";
|
||||||
|
break;
|
||||||
|
case 2003:
|
||||||
|
meaning = "无线网络连接失败";
|
||||||
|
causeAndSolution = "无线信号弱或不稳定。靠近路由器,移除干扰物,或重启路由器。";
|
||||||
|
break;
|
||||||
|
case 2004:
|
||||||
|
meaning = "网络设置不支持";
|
||||||
|
causeAndSolution = "网络安全类型不受支持。Switch 支持 WEP/WPA/WPA2,调整路由器设置后重试。";
|
||||||
|
break;
|
||||||
|
case 2091:
|
||||||
|
meaning = "有线网络连接失败";
|
||||||
|
causeAndSolution = "有线连接问题。检查网线是否插好,重启 Switch 和路由器。";
|
||||||
|
break;
|
||||||
|
case 3127:
|
||||||
|
meaning = "网络连接失败";
|
||||||
|
causeAndSolution = "网络不稳定。测试网络连接,重启路由器,或联系网络提供商。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 115: // nn::mii (Mii 相关)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 96:
|
||||||
|
meaning = "Mii 数据错误";
|
||||||
|
causeAndSolution = "Mii 数据损坏。删除并重新创建 Mii,或更新系统。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 139: // nn::nfp (NFC/Amiibo)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 6:
|
||||||
|
meaning = "Amiibo 读取错误";
|
||||||
|
causeAndSolution = "Amiibo 读取失败。检查 Amiibo 是否损坏,更新系统,或尝试其他 Amiibo。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 153: // nn::ir (红外摄像头)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 321:
|
||||||
|
meaning = "红外摄像头读取错误";
|
||||||
|
causeAndSolution = "红外摄像头无法读取。检查摄像头是否被遮挡,清洁镜头,或联系任天堂支持。";
|
||||||
|
break;
|
||||||
|
case 1540:
|
||||||
|
meaning = "红外摄像头硬件错误";
|
||||||
|
causeAndSolution = "红外摄像头硬件故障。联系任天堂支持进行维修。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 155: // nn::account (账户服务)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 8006:
|
||||||
|
meaning = "无法链接任天堂账户";
|
||||||
|
causeAndSolution = "网络问题或服务中断。检查网络连接,稍后重试,或查看任天堂网络状态页面。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 160: // nn::online (在线服务)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 103:
|
||||||
|
meaning = "无法加入在线匹配";
|
||||||
|
causeAndSolution = "网络不稳定。重启 Switch,检查网络连接,或稍后重试。";
|
||||||
|
break;
|
||||||
|
case 202:
|
||||||
|
meaning = "无法连接到在线服务";
|
||||||
|
causeAndSolution = "服务可能正在维护。查看任天堂网络状态页面,稍后重试。";
|
||||||
|
break;
|
||||||
|
case 8006:
|
||||||
|
meaning = "连接测试失败";
|
||||||
|
causeAndSolution = "网络问题。重启路由器,检查网络设置,或尝试其他网络。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 162: // nn::application (应用程序)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 2:
|
||||||
|
meaning = "软件崩溃";
|
||||||
|
causeAndSolution = "软件崩溃,可能是盗版内容或固件问题。删除盗版内容,更新系统,或重新安装软件。";
|
||||||
|
break;
|
||||||
|
case 101:
|
||||||
|
meaning = "软件需要更新";
|
||||||
|
causeAndSolution = "游戏或软件需要更新。检查软件更新并安装。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 168: // nn::sys (系统)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
meaning = "需要软件更新";
|
||||||
|
causeAndSolution = "软件需要更新。更新游戏或系统固件。";
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
meaning = "系统崩溃";
|
||||||
|
causeAndSolution = "系统崩溃,可能是硬件问题。重启 Switch,若无效联系任天堂支持。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 205: // nn::camera (摄像头)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 123:
|
||||||
|
meaning = "摄像头读取错误";
|
||||||
|
causeAndSolution = "摄像头无法读取。检查摄像头是否被遮挡,清洁镜头,或联系任天堂支持。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 306: // nn::ngc (网络游戏连接)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 501:
|
||||||
|
meaning = "无法加入在线匹配";
|
||||||
|
causeAndSolution = "网络连接中断。重启 Switch,检查网络连接,或稍后重试。";
|
||||||
|
break;
|
||||||
|
case 502:
|
||||||
|
meaning = "匹配过程失败";
|
||||||
|
causeAndSolution = "网络不稳定。测试网络连接,重启路由器,或联系网络提供商。";
|
||||||
|
break;
|
||||||
|
case 820:
|
||||||
|
meaning = "在线服务不可用";
|
||||||
|
causeAndSolution = "服务可能正在维护。查看任天堂网络状态页面,稍后重试。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 613: // nn::eShop (eShop)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 1400:
|
||||||
|
meaning = "无法使用信用卡购买";
|
||||||
|
causeAndSolution = "信用卡信息错误或 eShop 服务问题。检查信用卡信息,稍后重试,或联系任天堂支持。";
|
||||||
|
break;
|
||||||
|
case 6838:
|
||||||
|
meaning = "eShop 连接失败";
|
||||||
|
causeAndSolution = "网络问题或 eShop 维护。检查网络连接,查看任天堂网络状态页面,稍后重试。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 618: // nn::ngc (网络游戏连接)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 6:
|
||||||
|
meaning = "无法加入在线匹配";
|
||||||
|
causeAndSolution = "网络不稳定。重启 Switch,检查网络连接,或稍后重试。";
|
||||||
|
break;
|
||||||
|
case 201:
|
||||||
|
meaning = "匹配已满";
|
||||||
|
causeAndSolution = "尝试加入的匹配已满。稍后重试,或加入其他匹配。";
|
||||||
|
break;
|
||||||
|
case 501:
|
||||||
|
meaning = "匹配过程失败";
|
||||||
|
causeAndSolution = "网络连接中断。重启 Switch,检查网络连接,或稍后重试。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 801: // nn::sns (社交网络服务)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 7002:
|
||||||
|
meaning = "无法上传截图到 Twitter";
|
||||||
|
causeAndSolution = "服务可能正在维护。查看任天堂网络状态页面,稍后重试。";
|
||||||
|
break;
|
||||||
|
case 7199:
|
||||||
|
meaning = "无法上传照片到 Facebook";
|
||||||
|
causeAndSolution = "服务可能正在维护。查看任天堂网络状态页面,稍后重试。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 810: // nn::account (账户服务)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 1224:
|
||||||
|
meaning = "无法登录任天堂账户";
|
||||||
|
causeAndSolution = "网络问题或服务中断。检查网络连接,稍后重试,或查看任天堂网络状态页面。";
|
||||||
|
break;
|
||||||
|
case 1500:
|
||||||
|
meaning = "无法登录 Facebook 账户";
|
||||||
|
causeAndSolution = "服务可能正在维护。重启 Switch,稍后重试。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 811: // nn::account (账户服务)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 1006:
|
||||||
|
meaning = "无法链接任天堂账户";
|
||||||
|
causeAndSolution = "网络问题或 DNS 错误。检查网络连接,尝试更换 DNS(如 8.8.8.8),或稍后重试。";
|
||||||
|
break;
|
||||||
|
case 5001:
|
||||||
|
meaning = "无法访问 eShop";
|
||||||
|
causeAndSolution = "eShop 服务中断。查看任天堂网络状态页面,稍后重试。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 813: // nn::eShop (eShop)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
meaning = "eShop 访问失败";
|
||||||
|
causeAndSolution = "eShop 服务中断。查看任天堂网络状态页面,稍后重试。";
|
||||||
|
break;
|
||||||
|
case 2470:
|
||||||
|
meaning = "交易处理失败";
|
||||||
|
causeAndSolution = "信用卡信息错误或 eShop 服务问题。检查信用卡信息,稍后重试,或联系任天堂支持。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 819: // nn::online (在线服务)
|
||||||
|
switch (descriptionId)
|
||||||
|
{
|
||||||
|
case 3:
|
||||||
|
meaning = "软件被暂停";
|
||||||
|
causeAndSolution = "同一账户在另一台设备上使用。关闭其他设备上的软件,或使用不同账户。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
meaning = "未知模块";
|
||||||
|
causeAndSolution = "未识别的模块 ID,请检查日志或联系任天堂支持。";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $"错误码: {errorCode}\n含义: {meaning}\n可能原因及解决办法: {causeAndSolution}";
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0e28b69692cb1bb4a9d8ddb91274fa50
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
390
AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi/AxiNSIO.cs
Normal file
390
AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi/AxiNSIO.cs
Normal file
@ -0,0 +1,390 @@
|
|||||||
|
#if UNITY_SWITCH
|
||||||
|
using nn.fs;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
public class AxiNSIO
|
||||||
|
{
|
||||||
|
string save_name => AxiNS.instance.mount.SaveMountName;
|
||||||
|
public string save_path => $"{save_name}:/";
|
||||||
|
#if UNITY_SWITCH
|
||||||
|
private FileHandle fileHandle = new nn.fs.FileHandle();
|
||||||
|
#endif
|
||||||
|
/// <summary>
|
||||||
|
/// 检查Path是否存在
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="filePath"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool CheckPathExists(string filePath)
|
||||||
|
{
|
||||||
|
#if !UNITY_SWITCH
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
|
nn.fs.EntryType entryType = 0;
|
||||||
|
nn.Result result = nn.fs.FileSystem.GetEntryType(ref entryType, filePath);
|
||||||
|
//result.abortUnlessSuccess();
|
||||||
|
//这个异常捕获。真的别扭
|
||||||
|
return nn.fs.FileSystem.ResultPathAlreadyExists.Includes(result);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 检查Path是否不存在
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="filePath"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool CheckPathNotFound(string filePath)
|
||||||
|
{
|
||||||
|
#if !UNITY_SWITCH
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
|
nn.fs.EntryType entryType = 0;
|
||||||
|
nn.Result result = nn.fs.FileSystem.GetEntryType(ref entryType, filePath);
|
||||||
|
//这个异常捕获。真的别扭
|
||||||
|
return nn.fs.FileSystem.ResultPathNotFound.Includes(result);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 创建目录,目录存在也会返回true
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="filePath"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool CreateDir(string filePath)
|
||||||
|
{
|
||||||
|
#if !UNITY_SWITCH
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
|
// 使用封装函数检查和创建父目录
|
||||||
|
if (!EnsureParentDirectory(filePath, true))
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"无法确保父目录,文件写入取消: {filePath}");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 保存并创建文件(如果目录不存在回先自动创建目录)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="filePath"></param>
|
||||||
|
/// <param name="bw"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool FileToSaveWithCreate(string filePath, System.IO.MemoryStream ms)
|
||||||
|
{
|
||||||
|
return FileToSaveWithCreate(filePath, ms.ToArray());
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 保存并创建文件(如果目录不存在回先自动创建目录)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="filePath"></param>
|
||||||
|
/// <param name="data"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public bool FileToSaveWithCreate(string filePath, byte[] data)
|
||||||
|
{
|
||||||
|
#if !UNITY_SWITCH
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
|
if (!AxiNS.instance.mount.SaveIsMount)
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"Save 尚未挂载,无法存储 {filePath}");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
nn.Result result;
|
||||||
|
#if UNITY_SWITCH && !UNITY_EDITOR
|
||||||
|
// 阻止用户在保存时,退出游戏
|
||||||
|
// Switch 条例 0080
|
||||||
|
UnityEngine.Switch.Notification.EnterExitRequestHandlingSection();
|
||||||
|
#endif
|
||||||
|
// 使用封装函数检查和创建父目录
|
||||||
|
if (!EnsureParentDirectory(filePath, true))
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"无法确保父目录,文件写入取消: {filePath}");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//string directoryPath = System.IO.Path.GetDirectoryName(filePath.Replace(save_path, ""));
|
||||||
|
//string fullDirectoryPath = $"{save_path}{directoryPath}";
|
||||||
|
//UnityEngine.Debug.Log($"检查父目录: {fullDirectoryPath}");
|
||||||
|
|
||||||
|
//nn.fs.EntryType entryType = 0;
|
||||||
|
//result = nn.fs.FileSystem.GetEntryType(ref entryType, fullDirectoryPath);
|
||||||
|
//if (!result.IsSuccess() && nn.fs.FileSystem.ResultPathNotFound.Includes(result))
|
||||||
|
//{
|
||||||
|
// UnityEngine.Debug.Log($"父目录 {fullDirectoryPath} 不存在,尝试创建 (判断依据 result=>{result.ToString()})");
|
||||||
|
// result = nn.fs.Directory.Create(fullDirectoryPath);
|
||||||
|
// if (!result.IsSuccess())
|
||||||
|
// {
|
||||||
|
// UnityEngine.Debug.LogError($"创建父目录失败: {result.GetErrorInfo()}");
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// UnityEngine.Debug.Log($"父目录 {fullDirectoryPath} 创建成功");
|
||||||
|
//}
|
||||||
|
//else if (result.IsSuccess() && entryType != nn.fs.EntryType.Directory)
|
||||||
|
//{
|
||||||
|
// UnityEngine.Debug.LogError($"路径 {fullDirectoryPath} 已存在,但不是目录");
|
||||||
|
// return false;
|
||||||
|
//}
|
||||||
|
//else if (!result.IsSuccess())
|
||||||
|
//{
|
||||||
|
// UnityEngine.Debug.LogError($"检查父目录失败: {result.GetErrorInfo()}");
|
||||||
|
// return false;
|
||||||
|
//}
|
||||||
|
|
||||||
|
if (CheckPathNotFound(filePath))
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.Log($"文件({filePath})不存在需要创建");
|
||||||
|
result = nn.fs.File.Create(filePath, data.Length); //this makes a file the size of your save journal. You may want to make a file smaller than this.
|
||||||
|
//result.abortUnlessSuccess();
|
||||||
|
if (!result.IsSuccess())
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"创建文件失败 {filePath} : " + result.GetErrorInfo());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
UnityEngine.Debug.Log($"文件({filePath})存在,不必创建");
|
||||||
|
|
||||||
|
result = File.Open(ref fileHandle, filePath, OpenFileMode.Write);
|
||||||
|
//result.abortUnlessSuccess();
|
||||||
|
if (!result.IsSuccess())
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"失败 File.Open(ref filehandle, {filePath}, OpenFileMode.Write): " + result.GetErrorInfo());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
UnityEngine.Debug.Log($"成功 File.Open(ref filehandle, {filePath}, OpenFileMode.Write)");
|
||||||
|
|
||||||
|
//nn.fs.WriteOption.Flush 应该就是覆盖写入
|
||||||
|
result = nn.fs.File.Write(fileHandle, 0, data, data.Length, nn.fs.WriteOption.Flush); // Writes and flushes the write at the same time
|
||||||
|
//result.abortUnlessSuccess();
|
||||||
|
if (!result.IsSuccess())
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError("写入文件失败: " + result.GetErrorInfo());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
UnityEngine.Debug.Log("写入文件成功: " + filePath);
|
||||||
|
|
||||||
|
nn.fs.File.Close(fileHandle);
|
||||||
|
|
||||||
|
//必须得提交,否则没有真实写入
|
||||||
|
result = FileSystem.Commit(save_name);
|
||||||
|
//result.abortUnlessSuccess();
|
||||||
|
if (!result.IsSuccess())
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"FileSystem.Commit({save_name}) 失败: " + result.GetErrorInfo());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
UnityEngine.Debug.Log($"FileSystem.Commit({save_name}) 成功: ");
|
||||||
|
|
||||||
|
|
||||||
|
#if UNITY_SWITCH && !UNITY_EDITOR
|
||||||
|
// 停止阻止用户退出游戏
|
||||||
|
UnityEngine.Switch.Notification.LeaveExitRequestHandlingSection();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
public bool LoadSwitchDataFile(string filename, ref System.IO.MemoryStream ms)
|
||||||
|
{
|
||||||
|
if (LoadSwitchDataFile(filename, out byte[] outputData))
|
||||||
|
{
|
||||||
|
using (System.IO.BinaryWriter writer = new System.IO.BinaryWriter(ms))
|
||||||
|
{
|
||||||
|
writer.Write(outputData);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
public bool LoadSwitchDataFile(string filename, out byte[] outputData)
|
||||||
|
{
|
||||||
|
#if !UNITY_SWITCH
|
||||||
|
outputData = null;
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
|
outputData = null;
|
||||||
|
if (!AxiNS.instance.mount.SaveIsMount)
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"Save 尚未挂载,无法读取 {filename}");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (CheckPathNotFound(filename))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
nn.Result result;
|
||||||
|
result = nn.fs.File.Open(ref fileHandle, filename, nn.fs.OpenFileMode.Read);
|
||||||
|
if (result.IsSuccess() == false)
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"nn.fs.File.Open 失败 {filename} : result=>{result.GetErrorInfo()}");
|
||||||
|
return false; // Could not open file. This can be used to detect if this is the first time a user has launched your game.
|
||||||
|
// (However, be sure you are not getting this error due to your file being locked by another process, etc.)
|
||||||
|
}
|
||||||
|
UnityEngine.Debug.Log($"nn.fs.File.Open 成功 {filename}");
|
||||||
|
long iFileSize = 0;
|
||||||
|
result = nn.fs.File.GetSize(ref iFileSize, fileHandle);
|
||||||
|
if (result.IsSuccess() == false)
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"nn.fs.File.GetSize 失败 {filename} : result=>{result.GetErrorInfo()}");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
UnityEngine.Debug.Log($"nn.fs.File.GetSize 成功 {filename},size=>{iFileSize}");
|
||||||
|
|
||||||
|
byte[] loadedData = new byte[iFileSize];
|
||||||
|
result = nn.fs.File.Read(fileHandle, 0, loadedData, iFileSize);
|
||||||
|
if (result.IsSuccess() == false)
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"nn.fs.File.Read 失败 {filename} : result=>{result.GetErrorInfo()}");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
UnityEngine.Debug.Log($"nn.fs.File.Read 成功 {filename}");
|
||||||
|
|
||||||
|
nn.fs.File.Close(fileHandle);
|
||||||
|
|
||||||
|
//for (int i = 0; i < loadedData.Length; i++)
|
||||||
|
//{
|
||||||
|
// UnityEngine.Debug.Log($"data[{i}]:{loadedData[i]}");
|
||||||
|
//}
|
||||||
|
|
||||||
|
outputData = loadedData;
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
public bool DeletePathFile(string filename)
|
||||||
|
{
|
||||||
|
#if !UNITY_SWITCH
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
|
//TODO
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
public bool DeletePathDir(string filename)
|
||||||
|
{
|
||||||
|
#if !UNITY_SWITCH
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
|
//TODO
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
bool EnsureParentDirectory(string filePath, bool bAutoCreateDir = true)
|
||||||
|
{
|
||||||
|
#if !UNITY_SWITCH
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
|
// 参数校验
|
||||||
|
if (string.IsNullOrEmpty(filePath))
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"无效参数:filePath={filePath}");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 提取路径前缀(如 save:/、sd:/)
|
||||||
|
int prefixEndIndex = filePath.IndexOf(":/");
|
||||||
|
if (prefixEndIndex == -1)
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"文件路径 {filePath} 格式无效,未找到 ':/' 前缀");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
string pathPrefix = filePath.Substring(0, prefixEndIndex + 2); // 提取前缀,例如 "save:/"
|
||||||
|
string relativePath = filePath.Substring(prefixEndIndex + 2); // 移除前缀,得到相对路径
|
||||||
|
|
||||||
|
// 检查挂载状态
|
||||||
|
if (!IsMountPointAccessible(pathPrefix))
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"挂载点 {pathPrefix} 未挂载,无法操作路径 {filePath}");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 提取父目录路径
|
||||||
|
string directoryPath = System.IO.Path.GetDirectoryName(relativePath); // 获取父目录相对路径
|
||||||
|
if (string.IsNullOrEmpty(directoryPath))
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.Log($"文件路径 {filePath} 无需创建父目录(位于根目录)");
|
||||||
|
return true; // 根目录无需创建
|
||||||
|
}
|
||||||
|
|
||||||
|
string fullDirectoryPath = $"{pathPrefix}{directoryPath}"; // 拼接完整父目录路径
|
||||||
|
UnityEngine.Debug.Log($"检查父目录: {fullDirectoryPath}");
|
||||||
|
|
||||||
|
// 检查路径是否存在及其类型
|
||||||
|
nn.fs.EntryType entryType = 0;
|
||||||
|
nn.Result result = nn.fs.FileSystem.GetEntryType(ref entryType, fullDirectoryPath);
|
||||||
|
if (!result.IsSuccess() && nn.fs.FileSystem.ResultPathNotFound.Includes(result))
|
||||||
|
{
|
||||||
|
if (bAutoCreateDir)
|
||||||
|
{
|
||||||
|
// 路径不存在,尝试创建
|
||||||
|
UnityEngine.Debug.Log($"父目录 {fullDirectoryPath} 不存在,尝试创建 (判断依据 result=>{result.ToString()})");
|
||||||
|
result = nn.fs.Directory.Create(fullDirectoryPath);
|
||||||
|
if (!result.IsSuccess())
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"创建父目录失败: {result.GetErrorInfo()}");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
UnityEngine.Debug.Log($"父目录 {fullDirectoryPath} 创建成功");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (result.IsSuccess() && entryType != nn.fs.EntryType.Directory)
|
||||||
|
{
|
||||||
|
// 路径存在,但不是目录
|
||||||
|
UnityEngine.Debug.LogError($"路径 {fullDirectoryPath} 已存在,但不是目录");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (!result.IsSuccess())
|
||||||
|
{
|
||||||
|
// 其他错误
|
||||||
|
UnityEngine.Debug.LogError($"检查父目录失败: {result.GetErrorInfo()}");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// 路径存在且是目录
|
||||||
|
UnityEngine.Debug.Log($"父目录 {fullDirectoryPath} 已存在且有效");
|
||||||
|
return true;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 检查指定挂载点是否可访问
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="pathPrefix">路径前缀,例如 "save:/" 或 "sd:/"</param>
|
||||||
|
/// <returns>挂载点是否可访问</returns>
|
||||||
|
bool IsMountPointAccessible(string pathPrefix)
|
||||||
|
{
|
||||||
|
#if !UNITY_SWITCH
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
|
if (string.IsNullOrEmpty(pathPrefix))
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"无效挂载点: {pathPrefix}");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据前缀判断挂载点类型并检查挂载状态
|
||||||
|
if (pathPrefix == $"{save_name}:/")
|
||||||
|
{
|
||||||
|
if (!AxiNS.instance.mount.SaveIsMount)
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"{save_name}:/ 未挂载");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (pathPrefix == "sd:/")
|
||||||
|
{
|
||||||
|
long freeSpace = 0;
|
||||||
|
// 检查 SD 卡挂载状态(示例,需根据实际实现调整)
|
||||||
|
nn.Result result = nn.fs.FileSystem.GetFreeSpaceSize(ref freeSpace, "sd:/");
|
||||||
|
if (!result.IsSuccess())
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"sd:/ 未挂载或无法访问: {result.GetErrorInfo()}");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogWarning($"未知挂载点 {pathPrefix},假定已挂载");
|
||||||
|
return true; // 其他挂载点需根据实际需求实现
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d910a015a6b6561418bdff7f2c48cffa
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
124
AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi/AxiNSMount.cs
Normal file
124
AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi/AxiNSMount.cs
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
#if UNITY_SWITCH
|
||||||
|
using nn.account;
|
||||||
|
#endif
|
||||||
|
public class AxiNSMount
|
||||||
|
{
|
||||||
|
static bool bInMount = false;
|
||||||
|
internal static string m_SaveMountName;
|
||||||
|
static bool bInMountForDebug = false;
|
||||||
|
internal static string m_SaveMountForDebugName;
|
||||||
|
|
||||||
|
public bool SaveIsMount => bInMount;
|
||||||
|
public string SaveMountName
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (!bInMount)
|
||||||
|
return string.Empty;
|
||||||
|
else
|
||||||
|
return m_SaveMountName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#if UNITY_SWITCH
|
||||||
|
public bool MountSave(Uid userId, string mountName = "save")
|
||||||
|
{
|
||||||
|
if (bInMount)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
if (!nn.fs.SaveData.IsExisting(userId))
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"{userId.ToString()}存档不存在!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
UnityEngine.Debug.Log($"{userId.ToString()}存档确保存在!");
|
||||||
|
|
||||||
|
nn.Result result;
|
||||||
|
result = nn.fs.SaveData.Mount(mountName, userId);
|
||||||
|
//result.abortUnlessSuccess();
|
||||||
|
|
||||||
|
if (!result.IsSuccess())
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"MountSave->挂载{mountName}:/ 失败: " + result.ToString());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
UnityEngine.Debug.Log($"MountSave->挂载{mountName}:/ 成功 ");
|
||||||
|
m_SaveMountName = mountName;
|
||||||
|
bInMount = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
public bool MountSDForDebug(string mountName = "sd")
|
||||||
|
{
|
||||||
|
#if !UNITY_SWITCH
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
|
if (bInMountForDebug)
|
||||||
|
return true;
|
||||||
|
nn.Result result;
|
||||||
|
result = nn.fs.SdCard.MountForDebug(mountName);
|
||||||
|
//result.abortUnlessSuccess();
|
||||||
|
if (!result.IsSuccess())
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"nn_fs_MountSdCardForDebug->挂载{mountName}:/ 失败: " + result.ToString());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
UnityEngine.Debug.Log($"nn_fs_MountSdCardForDebug->挂载{mountName}:/ 成功 ");
|
||||||
|
m_SaveMountForDebugName = mountName;
|
||||||
|
bInMountForDebug = true;
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool MountSD(string mountName = "sd")
|
||||||
|
{
|
||||||
|
#if !UNITY_SWITCH
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
|
if (bInMountForDebug)
|
||||||
|
return true;
|
||||||
|
nn.Result result;
|
||||||
|
result = nn.fs.SdCard.Mount(mountName);
|
||||||
|
//result.abortUnlessSuccess();
|
||||||
|
if (!result.IsSuccess())
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"nn_fs_MountSdCard->挂载{mountName}:/ 失败: " + result.ToString());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
UnityEngine.Debug.Log($"nn_fs_MountSdCard->挂载{mountName}:/ 成功 ");
|
||||||
|
m_SaveMountForDebugName = mountName;
|
||||||
|
bInMountForDebug = true;
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void UnmountSave()
|
||||||
|
{
|
||||||
|
#if UNITY_SWITCH
|
||||||
|
if (!bInMount)
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"{m_SaveMountName}:/ 没有被挂载,无需卸载");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
nn.fs.FileSystem.Unmount(m_SaveMountName);
|
||||||
|
UnityEngine.Debug.LogError($"UnmountSaveForDebufa->已卸载{m_SaveMountName}:/ ");
|
||||||
|
bInMount = false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UnmountSaveForDebug()
|
||||||
|
{
|
||||||
|
#if UNITY_SWITCH
|
||||||
|
if (!bInMountForDebug)
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"{m_SaveMountForDebugName}:/ 没有被挂载,无需卸载");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
nn.fs.FileSystem.Unmount(m_SaveMountForDebugName);
|
||||||
|
UnityEngine.Debug.LogError($"UnmountSaveForDebufa->已卸载{m_SaveMountForDebugName}:/ ");
|
||||||
|
bInMountForDebug = false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 48826c5dc8959ff4db8c6a51b6568bb7
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
106
AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi/AxiNSUser.cs
Normal file
106
AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi/AxiNSUser.cs
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
#if UNITY_SWITCH
|
||||||
|
using nn.account;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
public class AxiNSUser
|
||||||
|
{
|
||||||
|
bool m_bInit = false;
|
||||||
|
bool m_bGotOpenPreselectedUser = false;
|
||||||
|
|
||||||
|
#if UNITY_SWITCH
|
||||||
|
Uid m_UserId;
|
||||||
|
nn.account.UserHandle mUserHandle;
|
||||||
|
nn.account.Nickname m_NickName;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#region 对外公开接口,确保内部安全处理,避免崩溃
|
||||||
|
|
||||||
|
#if UNITY_SWITCH
|
||||||
|
public bool GetUserID(out Uid uid)
|
||||||
|
{
|
||||||
|
InitPreselectedUserInfo();
|
||||||
|
if (!m_bGotOpenPreselectedUser)
|
||||||
|
{
|
||||||
|
uid = Uid.Invalid;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
uid = m_UserId;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
public bool GetNickName(out string NickName)
|
||||||
|
{
|
||||||
|
#if !UNITY_SWITCH
|
||||||
|
NickName = "";
|
||||||
|
return true;
|
||||||
|
#else
|
||||||
|
InitPreselectedUserInfo();
|
||||||
|
if (!m_bGotOpenPreselectedUser)
|
||||||
|
{
|
||||||
|
NickName = string.Empty;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
NickName = m_NickName.ToString();
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
/// <summary>
|
||||||
|
/// 初始化Account模块儿
|
||||||
|
/// </summary>
|
||||||
|
void InitNSAccount()
|
||||||
|
{
|
||||||
|
#if UNITY_SWITCH
|
||||||
|
if (m_bInit)
|
||||||
|
return;
|
||||||
|
//必须先初始化NS的Account 不然调用即崩
|
||||||
|
nn.account.Account.Initialize();
|
||||||
|
m_bInit = true;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取预选用户
|
||||||
|
/// </summary>
|
||||||
|
void InitPreselectedUserInfo()
|
||||||
|
{
|
||||||
|
#if UNITY_SWITCH
|
||||||
|
if (m_bGotOpenPreselectedUser)
|
||||||
|
return;
|
||||||
|
|
||||||
|
InitNSAccount();
|
||||||
|
nn.Result result;
|
||||||
|
mUserHandle = new nn.account.UserHandle();
|
||||||
|
if (!nn.account.Account.TryOpenPreselectedUser(ref mUserHandle))
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError("打开预选的用户失败.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
UnityEngine.Debug.Log("打开预选用户成功.");
|
||||||
|
result = nn.account.Account.GetUserId(ref m_UserId, mUserHandle);
|
||||||
|
//result.abortUnlessSuccess();
|
||||||
|
if (!result.IsSuccess())
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"GetUserId失败: {result.ToString()}");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_UserId == Uid.Invalid)
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError("无法获取用户 ID");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
UnityEngine.Debug.Log($"获取用户 ID:{m_UserId.ToString()}");
|
||||||
|
|
||||||
|
result = nn.account.Account.GetNickname(ref m_NickName, m_UserId);
|
||||||
|
//result.abortUnlessSuccess();
|
||||||
|
if (!result.IsSuccess())
|
||||||
|
{
|
||||||
|
UnityEngine.Debug.LogError($"GetNickname失败: {result.ToString()}");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
UnityEngine.Debug.Log($"获取用户 NickName ID:{m_NickName.ToString()}");
|
||||||
|
m_bGotOpenPreselectedUser = true;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 95c2e164c69c6cc4887a194d6eba0cc2
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -231,6 +231,7 @@ namespace AxibugEmuOnline.Client.ClientCore
|
|||||||
starRomLib.ExecuteFetchRomInfo();
|
starRomLib.ExecuteFetchRomInfo();
|
||||||
FileDownloader.Update();
|
FileDownloader.Update();
|
||||||
input.Update();
|
input.Update();
|
||||||
|
SavMgr.Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Coroutine StartCoroutine(IEnumerator itor)
|
public static Coroutine StartCoroutine(IEnumerator itor)
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
{
|
{
|
||||||
"name": "AxibugEmuOnline.Client",
|
"name": "AxibugEmuOnline.Client",
|
||||||
"rootNamespace": "",
|
"rootNamespace": "",
|
||||||
"references": [
|
"references": [
|
||||||
@ -6,9 +6,10 @@
|
|||||||
"VirtualNes.Core",
|
"VirtualNes.Core",
|
||||||
"UIEffect2018",
|
"UIEffect2018",
|
||||||
"Mame.Core",
|
"Mame.Core",
|
||||||
"Essgee.Unity"
|
"Essgee.Unity",
|
||||||
"StoicGooseUnity"
|
"StoicGooseUnity",
|
||||||
"Unity.InputSystem" ],
|
"Unity.InputSystem"
|
||||||
|
],
|
||||||
"includePlatforms": [],
|
"includePlatforms": [],
|
||||||
"excludePlatforms": [],
|
"excludePlatforms": [],
|
||||||
"allowUnsafeCode": true,
|
"allowUnsafeCode": true,
|
||||||
|
|||||||
@ -89,16 +89,8 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
OnRomStarStateChanged,
|
OnRomStarStateChanged,
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 网络即时存档拉取成功
|
|
||||||
/// </summary>
|
|
||||||
OnNetGameSavListGot,
|
|
||||||
/// <summary>
|
|
||||||
/// 网络即时存档删除
|
/// 网络即时存档删除
|
||||||
/// </summary>
|
/// </summary>
|
||||||
OnNetGameSavDeleted,
|
OnNetGameSavDeleted,
|
||||||
/// <summary>
|
|
||||||
/// 网络即时存档上传成功
|
|
||||||
/// </summary>
|
|
||||||
OnNetUploaded,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,7 @@ using AxibugEmuOnline.Client.Common;
|
|||||||
using AxibugEmuOnline.Client.Event;
|
using AxibugEmuOnline.Client.Event;
|
||||||
using AxibugEmuOnline.Client.Network;
|
using AxibugEmuOnline.Client.Network;
|
||||||
using AxibugProtobuf;
|
using AxibugProtobuf;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
namespace AxibugEmuOnline.Client
|
namespace AxibugEmuOnline.Client
|
||||||
@ -12,6 +13,11 @@ namespace AxibugEmuOnline.Client
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class SavCloudApi
|
public class SavCloudApi
|
||||||
{
|
{
|
||||||
|
public delegate void OnFetchGameSavListHandle(int romID, Protobuf_Mine_GameSavInfo[] savSlotData);
|
||||||
|
public event OnFetchGameSavListHandle OnFetchGameSavList;
|
||||||
|
public delegate void OnUploadedSavDataHandle(int romID, int slotIndex, Protobuf_Mine_GameSavInfo savInfo);
|
||||||
|
public event OnUploadedSavDataHandle OnUploadedSavData;
|
||||||
|
|
||||||
public SavCloudApi()
|
public SavCloudApi()
|
||||||
{
|
{
|
||||||
NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdGamesavGetGameSavList, RecvGetGameSavList);
|
NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdGamesavGetGameSavList, RecvGetGameSavList);
|
||||||
@ -19,12 +25,15 @@ namespace AxibugEmuOnline.Client
|
|||||||
NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdGamesavUploadGameSav, RecvUpLoadGameSav);
|
NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdGamesavUploadGameSav, RecvUpLoadGameSav);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private HashSet<int> m_fetchingRomIDs = new HashSet<int>();
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 发送请求即时存档列表
|
/// 发送请求即时存档列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="RomID"></param>
|
/// <param name="RomID"></param>
|
||||||
public void SendGetGameSavList(int RomID)
|
public void SendGetGameSavList(int RomID)
|
||||||
{
|
{
|
||||||
|
if (m_fetchingRomIDs.Contains(RomID)) return;
|
||||||
|
|
||||||
Protobuf_Mine_GetGameSavList req = new Protobuf_Mine_GetGameSavList()
|
Protobuf_Mine_GetGameSavList req = new Protobuf_Mine_GetGameSavList()
|
||||||
{
|
{
|
||||||
RomID = RomID,
|
RomID = RomID,
|
||||||
@ -36,13 +45,16 @@ namespace AxibugEmuOnline.Client
|
|||||||
void RecvGetGameSavList(byte[] reqData)
|
void RecvGetGameSavList(byte[] reqData)
|
||||||
{
|
{
|
||||||
Protobuf_Mine_GetGameSavList_RESP msg = ProtoBufHelper.DeSerizlize<Protobuf_Mine_GetGameSavList_RESP>(reqData);
|
Protobuf_Mine_GetGameSavList_RESP msg = ProtoBufHelper.DeSerizlize<Protobuf_Mine_GetGameSavList_RESP>(reqData);
|
||||||
|
|
||||||
|
if (m_fetchingRomIDs.Remove(msg.RomID)) return;
|
||||||
|
|
||||||
Protobuf_Mine_GameSavInfo[] savArr = new Protobuf_Mine_GameSavInfo[4];
|
Protobuf_Mine_GameSavInfo[] savArr = new Protobuf_Mine_GameSavInfo[4];
|
||||||
for (int i = 0; i < savArr.Length; i++)
|
for (int i = 0; i < savArr.Length; i++)
|
||||||
{
|
{
|
||||||
Protobuf_Mine_GameSavInfo info = msg.SavDataList.FirstOrDefault(w => w.SavDataIdx == i);
|
Protobuf_Mine_GameSavInfo info = msg.SavDataList.FirstOrDefault(w => w.SavDataIdx == i);
|
||||||
savArr[i] = info;
|
savArr[i] = info;
|
||||||
}
|
}
|
||||||
Eventer.Instance.PostEvent(EEvent.OnNetGameSavListGot, msg.RomID, savArr);
|
OnFetchGameSavList?.Invoke(msg.RomID, savArr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -72,7 +84,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="RomID"></param>
|
/// <param name="RomID"></param>
|
||||||
/// <param name="SavDataIdx"></param>
|
/// <param name="SavDataIdx"></param>
|
||||||
public void SendUpLoadGameSav(int RomID, int SavDataIdx, byte[] RawData, byte[] SavImgData)
|
public void SendUpLoadGameSav(int RomID, int SavDataIdx, uint sequence, byte[] RawData, byte[] SavImgData)
|
||||||
{
|
{
|
||||||
//压缩
|
//压缩
|
||||||
byte[] compressRawData = Helper.CompressByteArray(RawData);
|
byte[] compressRawData = Helper.CompressByteArray(RawData);
|
||||||
@ -86,6 +98,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
SavDataIdx = SavDataIdx,
|
SavDataIdx = SavDataIdx,
|
||||||
StateRaw = Google.Protobuf.ByteString.CopyFrom(compressRawData),
|
StateRaw = Google.Protobuf.ByteString.CopyFrom(compressRawData),
|
||||||
SavImg = Google.Protobuf.ByteString.CopyFrom(compressImgData),
|
SavImg = Google.Protobuf.ByteString.CopyFrom(compressImgData),
|
||||||
|
Sequence = (int)sequence
|
||||||
};
|
};
|
||||||
|
|
||||||
App.log.Info($"SendDelGameSavList");
|
App.log.Info($"SendDelGameSavList");
|
||||||
@ -98,7 +111,7 @@ namespace AxibugEmuOnline.Client
|
|||||||
void RecvUpLoadGameSav(byte[] reqData)
|
void RecvUpLoadGameSav(byte[] reqData)
|
||||||
{
|
{
|
||||||
Protobuf_Mine_UpLoadGameSav_RESP msg = ProtoBufHelper.DeSerizlize<Protobuf_Mine_UpLoadGameSav_RESP>(reqData);
|
Protobuf_Mine_UpLoadGameSav_RESP msg = ProtoBufHelper.DeSerizlize<Protobuf_Mine_UpLoadGameSav_RESP>(reqData);
|
||||||
Eventer.Instance.PostEvent(EEvent.OnNetUploaded, msg.RomID, msg.SavDataIdx, msg.UploadSevInfo);
|
OnUploadedSavData?.Invoke(msg.RomID, msg.SavDataIdx, msg.UploadSevInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
using AxibugEmuOnline.Client.ClientCore;
|
using AxibugEmuOnline.Client.ClientCore;
|
||||||
|
using AxibugEmuOnline.Client.Tools;
|
||||||
using AxibugProtobuf;
|
using AxibugProtobuf;
|
||||||
|
using MAME.Core;
|
||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
@ -9,6 +11,8 @@ namespace AxibugEmuOnline.Client
|
|||||||
/// <summary> 存档文件管理类 </summary>
|
/// <summary> 存档文件管理类 </summary>
|
||||||
public class SaveFile
|
public class SaveFile
|
||||||
{
|
{
|
||||||
|
public SavCloudApi CloudAPI => App.SavMgr.CloudApi;
|
||||||
|
|
||||||
/// <summary> 指示该存档是否是自动存档 </summary>
|
/// <summary> 指示该存档是否是自动存档 </summary>
|
||||||
public bool AutoSave => SlotIndex == 0;
|
public bool AutoSave => SlotIndex == 0;
|
||||||
/// <summary> 指示该存档所在槽位 </summary>
|
/// <summary> 指示该存档所在槽位 </summary>
|
||||||
@ -17,9 +21,9 @@ namespace AxibugEmuOnline.Client
|
|||||||
public int RomID { get; private set; }
|
public int RomID { get; private set; }
|
||||||
/// <summary> 指示该存档所属模拟器平台 </summary>
|
/// <summary> 指示该存档所属模拟器平台 </summary>
|
||||||
public RomPlatformType EmuPlatform { get; private set; }
|
public RomPlatformType EmuPlatform { get; private set; }
|
||||||
|
|
||||||
/// <summary> 指示该存档是否为空 </summary>
|
/// <summary> 指示该存档是否为空 </summary>
|
||||||
public bool IsEmpty { get; }
|
public bool IsEmpty { get; }
|
||||||
|
|
||||||
/// <summary> 存档文件路径 </summary>
|
/// <summary> 存档文件路径 </summary>
|
||||||
public string FilePath
|
public string FilePath
|
||||||
{
|
{
|
||||||
@ -35,15 +39,50 @@ namespace AxibugEmuOnline.Client
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary> 存档顺序号,用于判断云存档和本地存档的同步状态,是否存在冲突 </summary>
|
||||||
|
public uint Sequecen { get; private set; }
|
||||||
|
SimpleFSM<SaveFile> FSM;
|
||||||
|
|
||||||
public SaveFile(int romID, RomPlatformType platform, int slotIndex)
|
public SaveFile(int romID, RomPlatformType platform, int slotIndex)
|
||||||
{
|
{
|
||||||
RomID = romID;
|
RomID = romID;
|
||||||
EmuPlatform = platform;
|
EmuPlatform = platform;
|
||||||
SlotIndex = slotIndex;
|
SlotIndex = slotIndex;
|
||||||
|
FSM = new SimpleFSM<SaveFile>(this);
|
||||||
|
FSM.AddState<UnkownState>();
|
||||||
|
FSM.AddState<CheckingState>();
|
||||||
|
FSM.AddState<DownloadingState>();
|
||||||
|
FSM.AddState<UploadingState>();
|
||||||
|
FSM.AddState<SyncedState>();
|
||||||
|
|
||||||
IsEmpty = File.Exists(FilePath);
|
IsEmpty = File.Exists(FilePath);
|
||||||
|
|
||||||
|
if (IsEmpty) Sequecen = 0;
|
||||||
|
else //从文件头读取存储序号
|
||||||
|
{
|
||||||
|
byte[] saveOrderData = new byte[4];
|
||||||
|
var streaming = File.OpenRead(FilePath);
|
||||||
|
int res = streaming.Read(saveOrderData, 0, 4);
|
||||||
|
if (res != 4) //无效的存档文件
|
||||||
|
{
|
||||||
|
IsEmpty = true;
|
||||||
|
File.Delete(FilePath);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Sequecen = BitConverter.ToUInt32(saveOrderData, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
streaming.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
FSM.ChangeState<UnkownState>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Update()
|
||||||
|
{
|
||||||
|
FSM.Update();
|
||||||
|
}
|
||||||
public unsafe void GetSavData(out byte[] savData, out byte[] screenShotData)
|
public unsafe void GetSavData(out byte[] savData, out byte[] screenShotData)
|
||||||
{
|
{
|
||||||
savData = null;
|
savData = null;
|
||||||
@ -74,11 +113,17 @@ namespace AxibugEmuOnline.Client
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
public unsafe void Save(byte[] savData, byte[] screenShotData)
|
public unsafe void Save(uint sequence, byte[] savData, byte[] screenShotData)
|
||||||
{
|
{
|
||||||
var filePath = FilePath;
|
var filePath = FilePath;
|
||||||
|
|
||||||
var header = new Header { EmuPlatform = (byte)EmuPlatform, SlotIndex = (byte)SlotIndex, RomID = RomID, DataLength = savData.Length, ScreenShotLength = screenShotData.Length };
|
var header = new Header
|
||||||
|
{
|
||||||
|
Sequence = sequence,
|
||||||
|
RomID = RomID,
|
||||||
|
DataLength = savData.Length,
|
||||||
|
ScreenShotLength = screenShotData.Length
|
||||||
|
};
|
||||||
int headerSize = Marshal.SizeOf(typeof(Header));
|
int headerSize = Marshal.SizeOf(typeof(Header));
|
||||||
IntPtr ptr = Marshal.AllocHGlobal(headerSize);
|
IntPtr ptr = Marshal.AllocHGlobal(headerSize);
|
||||||
|
|
||||||
@ -98,21 +143,40 @@ namespace AxibugEmuOnline.Client
|
|||||||
Array.Copy(screenShotData, 0, raw, headerSize + savData.Length, screenShotData.Length);
|
Array.Copy(screenShotData, 0, raw, headerSize + savData.Length, screenShotData.Length);
|
||||||
|
|
||||||
File.WriteAllBytes(filePath, raw);
|
File.WriteAllBytes(filePath, raw);
|
||||||
|
Sequecen = sequence;
|
||||||
}
|
}
|
||||||
|
|
||||||
[StructLayout(LayoutKind.Explicit, Size = 14)]
|
/// <summary>
|
||||||
|
/// 尝试同步存档
|
||||||
|
/// </summary>
|
||||||
|
public void TrySync()
|
||||||
|
{
|
||||||
|
if (FSM.CurrentState is not UnkownState && FSM.CurrentState is not SyncedState) return;
|
||||||
|
|
||||||
|
FSM.ChangeState<CheckingState>();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Explicit, Size = 16)]
|
||||||
struct Header
|
struct Header
|
||||||
{
|
{
|
||||||
[FieldOffset(0)]
|
[FieldOffset(0)]
|
||||||
public byte EmuPlatform;
|
public uint Sequence;
|
||||||
[FieldOffset(1)]
|
[FieldOffset(4)]
|
||||||
public byte SlotIndex;
|
|
||||||
[FieldOffset(2)]
|
|
||||||
public int RomID;
|
public int RomID;
|
||||||
[FieldOffset(6)]
|
[FieldOffset(8)]
|
||||||
public int DataLength;
|
public int DataLength;
|
||||||
[FieldOffset(10)]
|
[FieldOffset(12)]
|
||||||
public int ScreenShotLength;
|
public int ScreenShotLength;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum EnumState
|
||||||
|
{
|
||||||
|
Unkown,
|
||||||
|
Checking,
|
||||||
|
Downloading,
|
||||||
|
Uploading,
|
||||||
|
Synced
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5b355bd3148c6964496a312c5f2c285c
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
using AxibugEmuOnline.Client.Tools;
|
||||||
|
using AxibugProtobuf;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace AxibugEmuOnline.Client
|
||||||
|
{
|
||||||
|
public class CheckingState : SimpleFSM<SaveFile>.State
|
||||||
|
{
|
||||||
|
private float m_timeOut;
|
||||||
|
|
||||||
|
public Protobuf_Mine_GameSavInfo NetData { get; private set; }
|
||||||
|
|
||||||
|
public override void OnEnter(SimpleFSM<SaveFile>.State preState)
|
||||||
|
{
|
||||||
|
m_timeOut = 5f;
|
||||||
|
Host.CloudAPI.OnFetchGameSavList += CloudAPI_OnFetchGameSavList;
|
||||||
|
Host.CloudAPI.SendGetGameSavList(Host.RomID);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnExit(SimpleFSM<SaveFile>.State nextState)
|
||||||
|
{
|
||||||
|
Host.CloudAPI.OnFetchGameSavList -= CloudAPI_OnFetchGameSavList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnUpdate()
|
||||||
|
{
|
||||||
|
m_timeOut -= Time.deltaTime;
|
||||||
|
if (m_timeOut < 0) //已超时
|
||||||
|
{
|
||||||
|
FSM.ChangeState<UnkownState>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CloudAPI_OnFetchGameSavList(int romID, Protobuf_Mine_GameSavInfo[] savSlotData)
|
||||||
|
{
|
||||||
|
if (romID != Host.RomID) return;
|
||||||
|
NetData = savSlotData[Host.SlotIndex];
|
||||||
|
|
||||||
|
if (NetData == null) //云存档不存在,上传本地存档
|
||||||
|
{
|
||||||
|
FSM.ChangeState<UploadingState>();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FSM.ChangeState<DownloadingState>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d52e06cf7e103fa40bfa7418f84dc7c1
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
using AxibugEmuOnline.Client.Tools;
|
||||||
|
|
||||||
|
namespace AxibugEmuOnline.Client
|
||||||
|
{
|
||||||
|
public class ConflictState : SimpleFSM<SaveFile>.State
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 43e8724977a3ae441a7206996213aadd
|
||||||
@ -0,0 +1,53 @@
|
|||||||
|
using AxibugEmuOnline.Client.ClientCore;
|
||||||
|
using AxibugEmuOnline.Client.Tools;
|
||||||
|
|
||||||
|
namespace AxibugEmuOnline.Client
|
||||||
|
{
|
||||||
|
public class DownloadingState : SimpleFSM<SaveFile>.State
|
||||||
|
{
|
||||||
|
uint m_sequece;
|
||||||
|
private AxiHttpProxy.SendDownLoadProxy m_downloadTask;
|
||||||
|
private AxiHttpProxy.SendDownLoadProxy m_downloadTaskImg;
|
||||||
|
|
||||||
|
public override void OnEnter(SimpleFSM<SaveFile>.State preState)
|
||||||
|
{
|
||||||
|
var checkState = preState as CheckingState;
|
||||||
|
|
||||||
|
var netData = checkState.NetData;
|
||||||
|
|
||||||
|
if (Host.Sequecen >= (uint)netData.Sequence)
|
||||||
|
{
|
||||||
|
FSM.ChangeState<ConflictState>();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_sequece = (uint)netData.Sequence;
|
||||||
|
m_downloadTask = AxiHttpProxy.GetDownLoad($"{App.httpAPI.WebHost}/{netData.SavUrl}");
|
||||||
|
m_downloadTaskImg = AxiHttpProxy.GetDownLoad($"{App.httpAPI.WebHost}/{netData.SavImgUrl}");
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnUpdate()
|
||||||
|
{
|
||||||
|
if (!m_downloadTask.downloadHandler.isDone) return;
|
||||||
|
|
||||||
|
if (m_downloadTask.downloadHandler.bHadErr) //下载失败
|
||||||
|
{
|
||||||
|
FSM.ChangeState<UnkownState>();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!m_downloadTaskImg.downloadHandler.isDone) return;
|
||||||
|
|
||||||
|
if (m_downloadTaskImg.downloadHandler.bHadErr) //下载失败
|
||||||
|
{
|
||||||
|
FSM.ChangeState<UnkownState>();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var savData = Host.CloudAPI.UnGzipData(m_downloadTask.downloadHandler.data);
|
||||||
|
var imgData = Host.CloudAPI.UnGzipData(m_downloadTaskImg.downloadHandler.data);
|
||||||
|
Host.Save(m_sequece, savData, imgData);
|
||||||
|
FSM.ChangeState<SyncedState>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ad74c6c345e538142b1def83df4c1ab4
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
using AxibugEmuOnline.Client.Tools;
|
||||||
|
|
||||||
|
namespace AxibugEmuOnline.Client
|
||||||
|
{
|
||||||
|
public class SyncedState : SimpleFSM<SaveFile>.State
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6a72d286353d4bc4f9cb7c66912b1a0c
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
using AxibugEmuOnline.Client.Tools;
|
||||||
|
|
||||||
|
namespace AxibugEmuOnline.Client
|
||||||
|
{
|
||||||
|
public class UnkownState : SimpleFSM<SaveFile>.State
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 044062d759d84e543a1c93bf21ea7a8d
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
using AxibugEmuOnline.Client.Tools;
|
||||||
|
|
||||||
|
namespace AxibugEmuOnline.Client
|
||||||
|
{
|
||||||
|
public class UploadingState : SimpleFSM<SaveFile>.State
|
||||||
|
{
|
||||||
|
public override void OnEnter(SimpleFSM<SaveFile>.State preState)
|
||||||
|
{
|
||||||
|
Host.CloudAPI.OnUploadedSavData += Api_OnUploadedSavData;
|
||||||
|
|
||||||
|
Host.GetSavData(out byte[] savData, out byte[] screenData);
|
||||||
|
Host.CloudAPI.SendUpLoadGameSav(Host.RomID, Host.SlotIndex, Host.Sequecen, savData, screenData);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnExit(SimpleFSM<SaveFile>.State nextState)
|
||||||
|
{
|
||||||
|
Host.CloudAPI.OnUploadedSavData -= Api_OnUploadedSavData;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Api_OnUploadedSavData(int romID, int slotIndex, AxibugProtobuf.Protobuf_Mine_GameSavInfo savInfo)
|
||||||
|
{
|
||||||
|
if (Host.RomID != romID) return;
|
||||||
|
if (Host.SlotIndex != slotIndex) return;
|
||||||
|
|
||||||
|
FSM.ChangeState<SyncedState>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ca833677d4555ad4cb1e012068034413
|
||||||
@ -9,10 +9,20 @@ namespace AxibugEmuOnline.Client
|
|||||||
public class SaveSlotManager
|
public class SaveSlotManager
|
||||||
{
|
{
|
||||||
const int MAX_SLOT_COUNT = 4;
|
const int MAX_SLOT_COUNT = 4;
|
||||||
|
public SavCloudApi CloudApi { get; private set; } = new SavCloudApi();
|
||||||
|
|
||||||
SavCloudApi m_cloudApi = new SavCloudApi();
|
|
||||||
Dictionary<int, SaveFile[]> m_saveFileDict = new Dictionary<int, SaveFile[]>();
|
Dictionary<int, SaveFile[]> m_saveFileDict = new Dictionary<int, SaveFile[]>();
|
||||||
|
|
||||||
|
public void Update()
|
||||||
|
{
|
||||||
|
foreach (var saveFiles in m_saveFileDict.Values)
|
||||||
|
{
|
||||||
|
foreach (var file in saveFiles)
|
||||||
|
{
|
||||||
|
file.Update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public List<SaveFile> GetSlotSaves(int romID, RomPlatformType platform)
|
public List<SaveFile> GetSlotSaves(int romID, RomPlatformType platform)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -0,0 +1,115 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
namespace AxibugEmuOnline.Client.Tools
|
||||||
|
{
|
||||||
|
public class SimpleFSM<HOST>
|
||||||
|
{
|
||||||
|
private Dictionary<Type, State> m_states = new Dictionary<Type, State>();
|
||||||
|
private State m_current;
|
||||||
|
|
||||||
|
public HOST Host { get; private set; }
|
||||||
|
|
||||||
|
public SimpleFSM(HOST host)
|
||||||
|
{
|
||||||
|
Host = host;
|
||||||
|
}
|
||||||
|
|
||||||
|
public State CurrentState => m_current;
|
||||||
|
public T AddState<T>() where T : State, new()
|
||||||
|
{
|
||||||
|
var stateType = typeof(T);
|
||||||
|
|
||||||
|
if (m_states.ContainsKey(stateType)) { return null; }
|
||||||
|
|
||||||
|
var state = State.CreateState<T>(this);
|
||||||
|
m_states.Add(typeof(T), state);
|
||||||
|
|
||||||
|
return (T)state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void BackToLast()
|
||||||
|
{
|
||||||
|
if (m_current == null) return;
|
||||||
|
if (m_current.LastState == null) return;
|
||||||
|
|
||||||
|
if (m_states.Values.FirstOrDefault(s => s == m_current.LastState) is State lastState)
|
||||||
|
{
|
||||||
|
m_current.LastState = null;
|
||||||
|
m_current.OnExit(lastState);
|
||||||
|
|
||||||
|
lastState.OnEnter(m_current);
|
||||||
|
m_current = lastState;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Stop()
|
||||||
|
{
|
||||||
|
if (m_current != null)
|
||||||
|
{
|
||||||
|
m_current.OnExit(null);
|
||||||
|
m_current = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var state in m_states.Values)
|
||||||
|
state.LastState = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ChangeState<T>() where T : State, new()
|
||||||
|
{
|
||||||
|
var stateType = typeof(T);
|
||||||
|
m_states.TryGetValue(stateType, out State nextState);
|
||||||
|
|
||||||
|
if (nextState == null) return;
|
||||||
|
|
||||||
|
if (m_current != null) m_current.OnExit(nextState);
|
||||||
|
nextState.LastState = m_current;
|
||||||
|
nextState.OnEnter(m_current);
|
||||||
|
m_current = nextState;
|
||||||
|
}
|
||||||
|
|
||||||
|
public T GetState<T>() where T : State, new()
|
||||||
|
{
|
||||||
|
m_states.TryGetValue(typeof(T), out var value);
|
||||||
|
return value as T;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Update()
|
||||||
|
{
|
||||||
|
m_current?.OnUpdate();
|
||||||
|
foreach (var state in m_states.Values)
|
||||||
|
{
|
||||||
|
if (state == m_current) continue;
|
||||||
|
state.AnyStateUpdate(m_current);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract class State
|
||||||
|
{
|
||||||
|
public SimpleFSM<HOST> FSM { get; private set; }
|
||||||
|
public HOST Host => FSM.Host;
|
||||||
|
protected virtual void OnInit() { }
|
||||||
|
public virtual void OnEnter(State preState) { }
|
||||||
|
public virtual void OnExit(State nextState) { }
|
||||||
|
public virtual void OnUpdate() { }
|
||||||
|
public virtual void AnyStateUpdate(State currentState) { }
|
||||||
|
|
||||||
|
public State LastState { get; set; }
|
||||||
|
|
||||||
|
protected State() { }
|
||||||
|
public static State CreateState<T>(SimpleFSM<HOST> fsm) where T : State, new()
|
||||||
|
{
|
||||||
|
var state = new T()
|
||||||
|
{
|
||||||
|
FSM = fsm
|
||||||
|
};
|
||||||
|
|
||||||
|
state.OnInit();
|
||||||
|
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9f29154b9b7b3b8489dfd08ab1a4497d
|
||||||
@ -109,66 +109,66 @@ namespace AxibugProtobuf {
|
|||||||
"bmVfR2V0R2FtZVNhdkxpc3QSDQoFUm9tSUQYASABKAUicgohUHJvdG9idWZf",
|
"bmVfR2V0R2FtZVNhdkxpc3QSDQoFUm9tSUQYASABKAUicgohUHJvdG9idWZf",
|
||||||
"TWluZV9HZXRHYW1lU2F2TGlzdF9SRVNQEg0KBVJvbUlEGAEgASgFEj4KC1Nh",
|
"TWluZV9HZXRHYW1lU2F2TGlzdF9SRVNQEg0KBVJvbUlEGAEgASgFEj4KC1Nh",
|
||||||
"dkRhdGFMaXN0GAIgAygLMikuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfTWlu",
|
"dkRhdGFMaXN0GAIgAygLMikuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfTWlu",
|
||||||
"ZV9HYW1lU2F2SW5mbyL+AQoZUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbxIU",
|
"ZV9HYW1lU2F2SW5mbyKQAgoZUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbxIU",
|
||||||
"CgxiSGFkU2F2ZURhdGEYASABKAgSDQoFU2F2SUQYAiABKAMSCwoDdWlkGAMg",
|
"CgxiSGFkU2F2ZURhdGEYASABKAgSDQoFU2F2SUQYAiABKAMSCwoDdWlkGAMg",
|
||||||
"ASgDEhIKClNhdkRhdGFJZHgYBCABKAUSDQoFUm9tSUQYBSABKAUSOQoQR2Ft",
|
"ASgDEhIKClNhdkRhdGFJZHgYBCABKAUSDQoFUm9tSUQYBSABKAUSOQoQR2Ft",
|
||||||
"ZVBsYXRmb3JtVHlwZRgGIAEoDjIfLkF4aWJ1Z1Byb3RvYnVmLlJvbVBsYXRm",
|
"ZVBsYXRmb3JtVHlwZRgGIAEoDjIfLkF4aWJ1Z1Byb3RvYnVmLlJvbVBsYXRm",
|
||||||
"b3JtVHlwZRIPCgdTYXZEYXRlGAcgASgJEg8KB1Nhdk5hbWUYCCABKAkSDAoE",
|
"b3JtVHlwZRIPCgdTYXZEYXRlGAcgASgJEg8KB1Nhdk5hbWUYCCABKAkSDAoE",
|
||||||
"Tm90ZRgJIAEoCRIRCglTYXZJbWdVcmwYCiABKAkSDgoGU2F2VXJsGAsgASgJ",
|
"Tm90ZRgJIAEoCRIRCglTYXZJbWdVcmwYCiABKAkSDgoGU2F2VXJsGAsgASgJ",
|
||||||
"Ij0KGFByb3RvYnVmX01pbmVfRGVsR2FtZVNhdhINCgVSb21JRBgBIAEoBRIS",
|
"EhAKCFNlcXVlbmNlGAwgASgFIj0KGFByb3RvYnVmX01pbmVfRGVsR2FtZVNh",
|
||||||
"CgpTYXZEYXRhSWR4GAIgASgFIkIKHVByb3RvYnVmX01pbmVfRGVsR2FtZVNh",
|
"dhINCgVSb21JRBgBIAEoBRISCgpTYXZEYXRhSWR4GAIgASgFIkIKHVByb3Rv",
|
||||||
"dl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJZHgYAiABKAUifgob",
|
"YnVmX01pbmVfRGVsR2FtZVNhdl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNh",
|
||||||
"UHJvdG9idWZfTWluZV9VcExvYWRHYW1lU2F2Eg0KBVJvbUlEGAEgASgFEhIK",
|
"dkRhdGFJZHgYAiABKAUikAEKG1Byb3RvYnVmX01pbmVfVXBMb2FkR2FtZVNh",
|
||||||
"ClNhdkRhdGFJZHgYAiABKAUSDAoETmFtZRgDIAEoCRIMCgROb3RlGAQgASgJ",
|
"dhINCgVSb21JRBgBIAEoBRISCgpTYXZEYXRhSWR4GAIgASgFEgwKBE5hbWUY",
|
||||||
"Eg4KBlNhdkltZxgFIAEoDBIQCghTdGF0ZVJhdxgGIAEoDCKHAQogUHJvdG9i",
|
"AyABKAkSDAoETm90ZRgEIAEoCRIOCgZTYXZJbWcYBSABKAwSEAoIU3RhdGVS",
|
||||||
"dWZfTWluZV9VcExvYWRHYW1lU2F2X1JFU1ASDQoFUm9tSUQYASABKAUSEgoK",
|
"YXcYBiABKAwSEAoIU2VxdWVuY2UYByABKAUihwEKIFByb3RvYnVmX01pbmVf",
|
||||||
"U2F2RGF0YUlkeBgCIAEoBRJACg1VcGxvYWRTZXZJbmZvGAMgASgLMikuQXhp",
|
"VXBMb2FkR2FtZVNhdl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJ",
|
||||||
"YnVnUHJvdG9idWYuUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbyr/BQoJQ29t",
|
"ZHgYAiABKAUSQAoNVXBsb2FkU2V2SW5mbxgDIAEoCzIpLkF4aWJ1Z1Byb3Rv",
|
||||||
"bWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghDTURfUElORxABEgwKCENNRF9Q",
|
"YnVmLlByb3RvYnVmX01pbmVfR2FtZVNhdkluZm8q/wUKCUNvbW1hbmRJRBIO",
|
||||||
"T05HEAISDgoJQ01EX0xPR0lOENEPEhgKE0NNRF9VU0VSX09OTElORUxJU1QQ",
|
"CgpDTURfREVGQVVMEAASDAoIQ01EX1BJTkcQARIMCghDTURfUE9ORxACEg4K",
|
||||||
"uBcSEgoNQ01EX1VTRVJfSk9JThDXFxITCg5DTURfVVNFUl9MRUFWRRDYFxIa",
|
"CUNNRF9MT0dJThDRDxIYChNDTURfVVNFUl9PTkxJTkVMSVNUELgXEhIKDUNN",
|
||||||
"ChVDTURfVVNFUl9TVEFURV9VUERBVEUQ2RcSGAoTQ01EX01vZGlmeV9OaWNr",
|
"RF9VU0VSX0pPSU4Q1xcSEwoOQ01EX1VTRVJfTEVBVkUQ2BcSGgoVQ01EX1VT",
|
||||||
"TmFtZRCdGBIcChdDTURfVXBkYXRlX1NlbGZVc2VySW5mbxCmGBIdChhDTURf",
|
"RVJfU1RBVEVfVVBEQVRFENkXEhgKE0NNRF9Nb2RpZnlfTmlja05hbWUQnRgS",
|
||||||
"VXBkYXRlX090aGVyVXNlckluZm8QqBgSEAoLQ01EX0NIQVRNU0cQoR8SEgoN",
|
"HAoXQ01EX1VwZGF0ZV9TZWxmVXNlckluZm8QphgSHQoYQ01EX1VwZGF0ZV9P",
|
||||||
"Q01EX1Jvb21fTGlzdBCJJxIZChRDTURfUm9vbV9MaXN0X1VwZGF0ZRCKJxIY",
|
"dGhlclVzZXJJbmZvEKgYEhAKC0NNRF9DSEFUTVNHEKEfEhIKDUNNRF9Sb29t",
|
||||||
"ChNDTURfUm9vbV9HZXRfU2NyZWVuEJMnEhQKD0NNRF9Sb29tX0NyZWF0ZRDt",
|
"X0xpc3QQiScSGQoUQ01EX1Jvb21fTGlzdF9VcGRhdGUQiicSGAoTQ01EX1Jv",
|
||||||
"JxISCg1DTURfUm9vbV9Kb2luEPEnEhMKDkNNRF9Sb29tX0xlYXZlEPInEiIK",
|
"b21fR2V0X1NjcmVlbhCTJxIUCg9DTURfUm9vbV9DcmVhdGUQ7ScSEgoNQ01E",
|
||||||
"HUNNRF9Sb29tX015Um9vbV9TdGF0ZV9DaGFuZ2VkEPYnEiEKHENNRF9Sb29t",
|
"X1Jvb21fSm9pbhDxJxITCg5DTURfUm9vbV9MZWF2ZRDyJxIiCh1DTURfUm9v",
|
||||||
"X0NoYW5nZVBsYXllcldpdGhKb3kQiigSFgoRQ01EX1Jvb21fV2FpdFN0ZXAQ",
|
"bV9NeVJvb21fU3RhdGVfQ2hhbmdlZBD2JxIhChxDTURfUm9vbV9DaGFuZ2VQ",
|
||||||
"0SgSJwoiQ01EX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJhdxDUKBIa",
|
"bGF5ZXJXaXRoSm95EIooEhYKEUNNRF9Sb29tX1dhaXRTdGVwENEoEicKIkNN",
|
||||||
"ChVDTURfUm9vbV9QbGF5ZXJfUmVhZHkQ2CgSIAobQ01EX1Jvb21fU2luZ2Vs",
|
"RF9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRlU3RhdGVSYXcQ1CgSGgoVQ01EX1Jv",
|
||||||
"X1BsYXllcklucHV0EPouEh0KGENNRF9ST09NX1NZTl9QbGF5ZXJJbnB1dBD/",
|
"b21fUGxheWVyX1JlYWR5ENgoEiAKG0NNRF9Sb29tX1NpbmdlbF9QbGF5ZXJJ",
|
||||||
"LhIPCgpDTURfU2NyZWVuENk2Eh8KGkNNRF9HQU1FU0FWX0dldEdhbWVTYXZM",
|
"bnB1dBD6LhIdChhDTURfUk9PTV9TWU5fUGxheWVySW5wdXQQ/y4SDwoKQ01E",
|
||||||
"aXN0EME+EhsKFkNNRF9HQU1FU0FWX0RlbEdhbWVTYXYQxT4SHgoZQ01EX0dB",
|
"X1NjcmVlbhDZNhIfChpDTURfR0FNRVNBVl9HZXRHYW1lU2F2TGlzdBDBPhIb",
|
||||||
"TUVTQVZfVXBsb2FkR2FtZVNhdhDKPhISCg1DTURfR0FNRV9NQVJLEPVOKvEB",
|
"ChZDTURfR0FNRVNBVl9EZWxHYW1lU2F2EMU+Eh4KGUNNRF9HQU1FU0FWX1Vw",
|
||||||
"CglFcnJvckNvZGUSEAoMRVJST1JfREVGQVVMEAASDAoIRVJST1JfT0sQARIY",
|
"bG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dBTUVfTUFSSxD1TirxAQoJRXJyb3JD",
|
||||||
"ChRFUlJPUl9ST09NX05PVF9GT1VORBAKEicKI0VSUk9SX1JPT01fU0xPVF9B",
|
"b2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwKCEVSUk9SX09LEAESGAoURVJST1Jf",
|
||||||
"TFJFQURMWV9IQURfUExBWUVSEAsSIQodRVJST1JfUk9PTV9DQU5UX0RPX0NV",
|
"Uk9PTV9OT1RfRk9VTkQQChInCiNFUlJPUl9ST09NX1NMT1RfQUxSRUFETFlf",
|
||||||
"UlJfU1RBVEUQMhIfChtFUlJPUl9ST01fRE9OVF9IQURfU0FWRURBVEEQUBIf",
|
"SEFEX1BMQVlFUhALEiEKHUVSUk9SX1JPT01fQ0FOVF9ET19DVVJSX1NUQVRF",
|
||||||
"ChpFUlJPUl9ST01fQUxSRUFEWV9IQURfU1RBUhCTAxIcChdFUlJPUl9ST01f",
|
"EDISHwobRVJST1JfUk9NX0RPTlRfSEFEX1NBVkVEQVRBEFASHwoaRVJST1Jf",
|
||||||
"RE9OVF9IQURfU1RBUhCUAypACglMb2dpblR5cGUSDQoJVXNlRGV2aWNlEAAS",
|
"Uk9NX0FMUkVBRFlfSEFEX1NUQVIQkwMSHAoXRVJST1JfUk9NX0RPTlRfSEFE",
|
||||||
"DgoKVXNlQWNjb3VudBABEhQKEFVzZUhhb1l1ZUFjY291bnQQAiqlAQoKRGV2",
|
"X1NUQVIQlAMqQAoJTG9naW5UeXBlEg0KCVVzZURldmljZRAAEg4KClVzZUFj",
|
||||||
"aWNlVHlwZRIWChJEZXZpY2VUeXBlX0RlZmF1bHQQABIGCgJQQxABEgsKB0Fu",
|
"Y291bnQQARIUChBVc2VIYW9ZdWVBY2NvdW50EAIqpQEKCkRldmljZVR5cGUS",
|
||||||
"ZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQBBIHCgNQUzMQBRIHCgNQUzQQBhIL",
|
"FgoSRGV2aWNlVHlwZV9EZWZhdWx0EAASBgoCUEMQARILCgdBbmRyb2lkEAIS",
|
||||||
"CgdYQk9YMzYwEAcSCwoHWEJPWE9ORRAIEggKBFdpaVUQCRIPCgtOaW50ZW5k",
|
"BwoDSU9TEAMSBwoDUFNWEAQSBwoDUFMzEAUSBwoDUFM0EAYSCwoHWEJPWDM2",
|
||||||
"bzNEUxAKEhEKDUFuZHJvaWRDYXJBcHAQCyqTAgoLR2FtZVBhZFR5cGUSDAoI",
|
"MBAHEgsKB1hCT1hPTkUQCBIICgRXaWlVEAkSDwoLTmludGVuZG8zRFMQChIR",
|
||||||
"S2V5Ym9hcmQQABIRCg1HbG9iYWxHYW1lUGFkEAESDgoKVG91Y2hQYW5lbBAC",
|
"Cg1BbmRyb2lkQ2FyQXBwEAsqkwIKC0dhbWVQYWRUeXBlEgwKCEtleWJvYXJk",
|
||||||
"Eg4KCkRTM0NvbnRyb2wQAxIOCgpEUzRDb250cm9sEAQSDgoKRFM1Q29udHJv",
|
"EAASEQoNR2xvYmFsR2FtZVBhZBABEg4KClRvdWNoUGFuZWwQAhIOCgpEUzND",
|
||||||
"bBAFEhQKEFN3aXRjaFByb0NvbnRyb2wQBhIQCgxTd2l0Y2hKb3lDb24QBxIS",
|
"b250cm9sEAMSDgoKRFM0Q29udHJvbBAEEg4KCkRTNUNvbnRyb2wQBRIUChBT",
|
||||||
"Cg5YQk9YMzYwQ29udHJvbBAIEhIKDlhCT1hPTkVDb250cm9sEAkSEQoNUFNW",
|
"d2l0Y2hQcm9Db250cm9sEAYSEAoMU3dpdGNoSm95Q29uEAcSEgoOWEJPWDM2",
|
||||||
"aXRhQ29udHJvbBAKEhIKDldpaVVQYWRDb250cm9sEAsSFAoQV2lpUmVtb3Rl",
|
"MENvbnRyb2wQCBISCg5YQk9YT05FQ29udHJvbBAJEhEKDVBTVml0YUNvbnRy",
|
||||||
"Q29udHJvbBAMEhYKEk5pbnRlbmRvM0RTQ29udHJvbBANKoMCCg9Sb21QbGF0",
|
"b2wQChISCg5XaWlVUGFkQ29udHJvbBALEhQKEFdpaVJlbW90ZUNvbnRyb2wQ",
|
||||||
"Zm9ybVR5cGUSCwoHSW52YWxpZBAAEgcKA05lcxABEhEKDU1hc3Rlcl9TeXN0",
|
"DBIWChJOaW50ZW5kbzNEU0NvbnRyb2wQDSqDAgoPUm9tUGxhdGZvcm1UeXBl",
|
||||||
"ZW0QAhINCglHYW1lX0dlYXIQAxIMCghHYW1lX0JveRAEEhIKDkdhbWVfQm95",
|
"EgsKB0ludmFsaWQQABIHCgNOZXMQARIRCg1NYXN0ZXJfU3lzdGVtEAISDQoJ",
|
||||||
"X0NvbG9yEAUSEQoNQ29sZWNvX1Zpc2lvbhAGEgsKB1NDXzMwMDAQBxILCgdT",
|
"R2FtZV9HZWFyEAMSDAoIR2FtZV9Cb3kQBBISCg5HYW1lX0JveV9Db2xvchAF",
|
||||||
"R18xMDAwEAgSCgoGTkVPR0VPEBQSBwoDSUdTEBUSCAoEQ1BTMRAWEggKBENQ",
|
"EhEKDUNvbGVjb19WaXNpb24QBhILCgdTQ18zMDAwEAcSCwoHU0dfMTAwMBAI",
|
||||||
"UzIQFxIOCgpBcmNhZGVfT0xEEB4SDwoLV29uZGVyX1N3YW4QKBIVChFXb25k",
|
"EgoKBk5FT0dFTxAUEgcKA0lHUxAVEggKBENQUzEQFhIICgRDUFMyEBcSDgoK",
|
||||||
"ZXJfU3dhbl9Db2xvchApEggKA0FsbBDnBypwCg1Sb29tR2FtZVN0YXRlEhIK",
|
"QXJjYWRlX09MRBAeEg8KC1dvbmRlcl9Td2FuECgSFQoRV29uZGVyX1N3YW5f",
|
||||||
"Dk5vbmVfR2FtZVN0YXRlEAASDAoIT25seUhvc3QQARIRCg1XYWl0UmF3VXBk",
|
"Q29sb3IQKRIICgNBbGwQ5wcqcAoNUm9vbUdhbWVTdGF0ZRISCg5Ob25lX0dh",
|
||||||
"YXRlEAISDQoJV2FpdFJlYWR5EAMSCQoFUGF1c2UQBBIQCgxJbk9ubGluZUdh",
|
"bWVTdGF0ZRAAEgwKCE9ubHlIb3N0EAESEQoNV2FpdFJhd1VwZGF0ZRACEg0K",
|
||||||
"bWUQBSpOChFMb2dpblJlc3VsdFN0YXR1cxIhCh1Mb2dpblJlc3VsdFN0YXR1",
|
"CVdhaXRSZWFkeRADEgkKBVBhdXNlEAQSEAoMSW5PbmxpbmVHYW1lEAUqTgoR",
|
||||||
"c19CYXNlRGVmYXVsdBAAEgYKAk9LEAESDgoKQWNjb3VudEVychACQgJIAWIG",
|
"TG9naW5SZXN1bHRTdGF0dXMSIQodTG9naW5SZXN1bHRTdGF0dXNfQmFzZURl",
|
||||||
"cHJvdG8z"));
|
"ZmF1bHQQABIGCgJPSxABEg4KCkFjY291bnRFcnIQAkICSAFiBnByb3RvMw=="));
|
||||||
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
|
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
|
||||||
new pbr::FileDescriptor[] { },
|
new pbr::FileDescriptor[] { },
|
||||||
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.GamePadType), typeof(global::AxibugProtobuf.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
|
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.GamePadType), typeof(global::AxibugProtobuf.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
|
||||||
@ -217,10 +217,10 @@ namespace AxibugProtobuf {
|
|||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID", "IsStar", "Stars" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID", "IsStar", "Stars" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList.Parser, new[]{ "RomID" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList.Parser, new[]{ "RomID" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP.Parser, new[]{ "RomID", "SavDataList" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP.Parser, new[]{ "RomID", "SavDataList" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GameSavInfo), global::AxibugProtobuf.Protobuf_Mine_GameSavInfo.Parser, new[]{ "BHadSaveData", "SavID", "Uid", "SavDataIdx", "RomID", "GamePlatformType", "SavDate", "SavName", "Note", "SavImgUrl", "SavUrl" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GameSavInfo), global::AxibugProtobuf.Protobuf_Mine_GameSavInfo.Parser, new[]{ "BHadSaveData", "SavID", "Uid", "SavDataIdx", "RomID", "GamePlatformType", "SavDate", "SavName", "Note", "SavImgUrl", "SavUrl", "Sequence" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav), global::AxibugProtobuf.Protobuf_Mine_DelGameSav.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav), global::AxibugProtobuf.Protobuf_Mine_DelGameSav.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "Name", "Note", "SavImg", "StateRaw" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "Name", "Note", "SavImg", "StateRaw", "Sequence" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null)
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null)
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
@ -10212,6 +10212,7 @@ namespace AxibugProtobuf {
|
|||||||
note_ = other.note_;
|
note_ = other.note_;
|
||||||
savImgUrl_ = other.savImgUrl_;
|
savImgUrl_ = other.savImgUrl_;
|
||||||
savUrl_ = other.savUrl_;
|
savUrl_ = other.savUrl_;
|
||||||
|
sequence_ = other.sequence_;
|
||||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10365,6 +10366,20 @@ namespace AxibugProtobuf {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>Field number for the "Sequence" field.</summary>
|
||||||
|
public const int SequenceFieldNumber = 12;
|
||||||
|
private int sequence_;
|
||||||
|
/// <summary>
|
||||||
|
///存档序号
|
||||||
|
/// </summary>
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||||
|
public int Sequence {
|
||||||
|
get { return sequence_; }
|
||||||
|
set {
|
||||||
|
sequence_ = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||||
public override bool Equals(object other) {
|
public override bool Equals(object other) {
|
||||||
return Equals(other as Protobuf_Mine_GameSavInfo);
|
return Equals(other as Protobuf_Mine_GameSavInfo);
|
||||||
@ -10389,6 +10404,7 @@ namespace AxibugProtobuf {
|
|||||||
if (Note != other.Note) return false;
|
if (Note != other.Note) return false;
|
||||||
if (SavImgUrl != other.SavImgUrl) return false;
|
if (SavImgUrl != other.SavImgUrl) return false;
|
||||||
if (SavUrl != other.SavUrl) return false;
|
if (SavUrl != other.SavUrl) return false;
|
||||||
|
if (Sequence != other.Sequence) return false;
|
||||||
return Equals(_unknownFields, other._unknownFields);
|
return Equals(_unknownFields, other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10406,6 +10422,7 @@ namespace AxibugProtobuf {
|
|||||||
if (Note.Length != 0) hash ^= Note.GetHashCode();
|
if (Note.Length != 0) hash ^= Note.GetHashCode();
|
||||||
if (SavImgUrl.Length != 0) hash ^= SavImgUrl.GetHashCode();
|
if (SavImgUrl.Length != 0) hash ^= SavImgUrl.GetHashCode();
|
||||||
if (SavUrl.Length != 0) hash ^= SavUrl.GetHashCode();
|
if (SavUrl.Length != 0) hash ^= SavUrl.GetHashCode();
|
||||||
|
if (Sequence != 0) hash ^= Sequence.GetHashCode();
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
hash ^= _unknownFields.GetHashCode();
|
hash ^= _unknownFields.GetHashCode();
|
||||||
}
|
}
|
||||||
@ -10466,6 +10483,10 @@ namespace AxibugProtobuf {
|
|||||||
output.WriteRawTag(90);
|
output.WriteRawTag(90);
|
||||||
output.WriteString(SavUrl);
|
output.WriteString(SavUrl);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
output.WriteRawTag(96);
|
||||||
|
output.WriteInt32(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
_unknownFields.WriteTo(output);
|
_unknownFields.WriteTo(output);
|
||||||
}
|
}
|
||||||
@ -10519,6 +10540,10 @@ namespace AxibugProtobuf {
|
|||||||
output.WriteRawTag(90);
|
output.WriteRawTag(90);
|
||||||
output.WriteString(SavUrl);
|
output.WriteString(SavUrl);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
output.WriteRawTag(96);
|
||||||
|
output.WriteInt32(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
_unknownFields.WriteTo(ref output);
|
_unknownFields.WriteTo(ref output);
|
||||||
}
|
}
|
||||||
@ -10561,6 +10586,9 @@ namespace AxibugProtobuf {
|
|||||||
if (SavUrl.Length != 0) {
|
if (SavUrl.Length != 0) {
|
||||||
size += 1 + pb::CodedOutputStream.ComputeStringSize(SavUrl);
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(SavUrl);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
size += _unknownFields.CalculateSize();
|
size += _unknownFields.CalculateSize();
|
||||||
}
|
}
|
||||||
@ -10605,6 +10633,9 @@ namespace AxibugProtobuf {
|
|||||||
if (other.SavUrl.Length != 0) {
|
if (other.SavUrl.Length != 0) {
|
||||||
SavUrl = other.SavUrl;
|
SavUrl = other.SavUrl;
|
||||||
}
|
}
|
||||||
|
if (other.Sequence != 0) {
|
||||||
|
Sequence = other.Sequence;
|
||||||
|
}
|
||||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10663,6 +10694,10 @@ namespace AxibugProtobuf {
|
|||||||
SavUrl = input.ReadString();
|
SavUrl = input.ReadString();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 96: {
|
||||||
|
Sequence = input.ReadInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -10721,6 +10756,10 @@ namespace AxibugProtobuf {
|
|||||||
SavUrl = input.ReadString();
|
SavUrl = input.ReadString();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 96: {
|
||||||
|
Sequence = input.ReadInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -11191,6 +11230,7 @@ namespace AxibugProtobuf {
|
|||||||
note_ = other.note_;
|
note_ = other.note_;
|
||||||
savImg_ = other.savImg_;
|
savImg_ = other.savImg_;
|
||||||
stateRaw_ = other.stateRaw_;
|
stateRaw_ = other.stateRaw_;
|
||||||
|
sequence_ = other.sequence_;
|
||||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11283,6 +11323,20 @@ namespace AxibugProtobuf {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>Field number for the "Sequence" field.</summary>
|
||||||
|
public const int SequenceFieldNumber = 7;
|
||||||
|
private int sequence_;
|
||||||
|
/// <summary>
|
||||||
|
///存档序号
|
||||||
|
/// </summary>
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||||
|
public int Sequence {
|
||||||
|
get { return sequence_; }
|
||||||
|
set {
|
||||||
|
sequence_ = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||||
public override bool Equals(object other) {
|
public override bool Equals(object other) {
|
||||||
return Equals(other as Protobuf_Mine_UpLoadGameSav);
|
return Equals(other as Protobuf_Mine_UpLoadGameSav);
|
||||||
@ -11302,6 +11356,7 @@ namespace AxibugProtobuf {
|
|||||||
if (Note != other.Note) return false;
|
if (Note != other.Note) return false;
|
||||||
if (SavImg != other.SavImg) return false;
|
if (SavImg != other.SavImg) return false;
|
||||||
if (StateRaw != other.StateRaw) return false;
|
if (StateRaw != other.StateRaw) return false;
|
||||||
|
if (Sequence != other.Sequence) return false;
|
||||||
return Equals(_unknownFields, other._unknownFields);
|
return Equals(_unknownFields, other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11314,6 +11369,7 @@ namespace AxibugProtobuf {
|
|||||||
if (Note.Length != 0) hash ^= Note.GetHashCode();
|
if (Note.Length != 0) hash ^= Note.GetHashCode();
|
||||||
if (SavImg.Length != 0) hash ^= SavImg.GetHashCode();
|
if (SavImg.Length != 0) hash ^= SavImg.GetHashCode();
|
||||||
if (StateRaw.Length != 0) hash ^= StateRaw.GetHashCode();
|
if (StateRaw.Length != 0) hash ^= StateRaw.GetHashCode();
|
||||||
|
if (Sequence != 0) hash ^= Sequence.GetHashCode();
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
hash ^= _unknownFields.GetHashCode();
|
hash ^= _unknownFields.GetHashCode();
|
||||||
}
|
}
|
||||||
@ -11354,6 +11410,10 @@ namespace AxibugProtobuf {
|
|||||||
output.WriteRawTag(50);
|
output.WriteRawTag(50);
|
||||||
output.WriteBytes(StateRaw);
|
output.WriteBytes(StateRaw);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
output.WriteRawTag(56);
|
||||||
|
output.WriteInt32(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
_unknownFields.WriteTo(output);
|
_unknownFields.WriteTo(output);
|
||||||
}
|
}
|
||||||
@ -11387,6 +11447,10 @@ namespace AxibugProtobuf {
|
|||||||
output.WriteRawTag(50);
|
output.WriteRawTag(50);
|
||||||
output.WriteBytes(StateRaw);
|
output.WriteBytes(StateRaw);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
output.WriteRawTag(56);
|
||||||
|
output.WriteInt32(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
_unknownFields.WriteTo(ref output);
|
_unknownFields.WriteTo(ref output);
|
||||||
}
|
}
|
||||||
@ -11414,6 +11478,9 @@ namespace AxibugProtobuf {
|
|||||||
if (StateRaw.Length != 0) {
|
if (StateRaw.Length != 0) {
|
||||||
size += 1 + pb::CodedOutputStream.ComputeBytesSize(StateRaw);
|
size += 1 + pb::CodedOutputStream.ComputeBytesSize(StateRaw);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
size += _unknownFields.CalculateSize();
|
size += _unknownFields.CalculateSize();
|
||||||
}
|
}
|
||||||
@ -11443,6 +11510,9 @@ namespace AxibugProtobuf {
|
|||||||
if (other.StateRaw.Length != 0) {
|
if (other.StateRaw.Length != 0) {
|
||||||
StateRaw = other.StateRaw;
|
StateRaw = other.StateRaw;
|
||||||
}
|
}
|
||||||
|
if (other.Sequence != 0) {
|
||||||
|
Sequence = other.Sequence;
|
||||||
|
}
|
||||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11481,6 +11551,10 @@ namespace AxibugProtobuf {
|
|||||||
StateRaw = input.ReadBytes();
|
StateRaw = input.ReadBytes();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 56: {
|
||||||
|
Sequence = input.ReadInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -11519,6 +11593,10 @@ namespace AxibugProtobuf {
|
|||||||
StateRaw = input.ReadBytes();
|
StateRaw = input.ReadBytes();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 56: {
|
||||||
|
Sequence = input.ReadInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
"com.unity.ide.visualstudio": "2.0.22",
|
"com.unity.ide.visualstudio": "2.0.22",
|
||||||
"com.unity.inputsystem": "1.11.2",
|
"com.unity.inputsystem": "1.11.2",
|
||||||
"com.unity.test-framework": "1.4.5",
|
"com.unity.test-framework": "1.4.5",
|
||||||
|
"com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10",
|
||||||
"com.unity.ugui": "2.0.0",
|
"com.unity.ugui": "2.0.0",
|
||||||
"com.unity.modules.accessibility": "1.0.0",
|
"com.unity.modules.accessibility": "1.0.0",
|
||||||
"com.unity.modules.androidjni": "1.0.0",
|
"com.unity.modules.androidjni": "1.0.0",
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
"depth": 1,
|
"depth": 1,
|
||||||
"source": "registry",
|
"source": "registry",
|
||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.cn"
|
||||||
},
|
},
|
||||||
"com.unity.ide.visualstudio": {
|
"com.unity.ide.visualstudio": {
|
||||||
"version": "2.0.22",
|
"version": "2.0.22",
|
||||||
@ -20,7 +20,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.test-framework": "1.1.9"
|
"com.unity.test-framework": "1.1.9"
|
||||||
},
|
},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.cn"
|
||||||
},
|
},
|
||||||
"com.unity.inputsystem": {
|
"com.unity.inputsystem": {
|
||||||
"version": "1.11.2",
|
"version": "1.11.2",
|
||||||
@ -29,7 +29,23 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.unity.modules.uielements": "1.0.0"
|
"com.unity.modules.uielements": "1.0.0"
|
||||||
},
|
},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.cn"
|
||||||
|
},
|
||||||
|
"com.unity.sysroot": {
|
||||||
|
"version": "2.0.10",
|
||||||
|
"depth": 1,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {},
|
||||||
|
"url": "https://packages.unity.cn"
|
||||||
|
},
|
||||||
|
"com.unity.sysroot.linux-x86_64": {
|
||||||
|
"version": "2.0.9",
|
||||||
|
"depth": 1,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.sysroot": "2.0.10"
|
||||||
|
},
|
||||||
|
"url": "https://packages.unity.cn"
|
||||||
},
|
},
|
||||||
"com.unity.test-framework": {
|
"com.unity.test-framework": {
|
||||||
"version": "1.4.5",
|
"version": "1.4.5",
|
||||||
@ -40,7 +56,17 @@
|
|||||||
"com.unity.modules.imgui": "1.0.0",
|
"com.unity.modules.imgui": "1.0.0",
|
||||||
"com.unity.modules.jsonserialize": "1.0.0"
|
"com.unity.modules.jsonserialize": "1.0.0"
|
||||||
},
|
},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.cn"
|
||||||
|
},
|
||||||
|
"com.unity.toolchain.win-x86_64-linux-x86_64": {
|
||||||
|
"version": "2.0.10",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {
|
||||||
|
"com.unity.sysroot": "2.0.10",
|
||||||
|
"com.unity.sysroot.linux-x86_64": "2.0.9"
|
||||||
|
},
|
||||||
|
"url": "https://packages.unity.cn"
|
||||||
},
|
},
|
||||||
"com.unity.ugui": {
|
"com.unity.ugui": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
|
|||||||
@ -109,66 +109,66 @@ namespace AxibugProtobuf {
|
|||||||
"bmVfR2V0R2FtZVNhdkxpc3QSDQoFUm9tSUQYASABKAUicgohUHJvdG9idWZf",
|
"bmVfR2V0R2FtZVNhdkxpc3QSDQoFUm9tSUQYASABKAUicgohUHJvdG9idWZf",
|
||||||
"TWluZV9HZXRHYW1lU2F2TGlzdF9SRVNQEg0KBVJvbUlEGAEgASgFEj4KC1Nh",
|
"TWluZV9HZXRHYW1lU2F2TGlzdF9SRVNQEg0KBVJvbUlEGAEgASgFEj4KC1Nh",
|
||||||
"dkRhdGFMaXN0GAIgAygLMikuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfTWlu",
|
"dkRhdGFMaXN0GAIgAygLMikuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfTWlu",
|
||||||
"ZV9HYW1lU2F2SW5mbyL+AQoZUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbxIU",
|
"ZV9HYW1lU2F2SW5mbyKQAgoZUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbxIU",
|
||||||
"CgxiSGFkU2F2ZURhdGEYASABKAgSDQoFU2F2SUQYAiABKAMSCwoDdWlkGAMg",
|
"CgxiSGFkU2F2ZURhdGEYASABKAgSDQoFU2F2SUQYAiABKAMSCwoDdWlkGAMg",
|
||||||
"ASgDEhIKClNhdkRhdGFJZHgYBCABKAUSDQoFUm9tSUQYBSABKAUSOQoQR2Ft",
|
"ASgDEhIKClNhdkRhdGFJZHgYBCABKAUSDQoFUm9tSUQYBSABKAUSOQoQR2Ft",
|
||||||
"ZVBsYXRmb3JtVHlwZRgGIAEoDjIfLkF4aWJ1Z1Byb3RvYnVmLlJvbVBsYXRm",
|
"ZVBsYXRmb3JtVHlwZRgGIAEoDjIfLkF4aWJ1Z1Byb3RvYnVmLlJvbVBsYXRm",
|
||||||
"b3JtVHlwZRIPCgdTYXZEYXRlGAcgASgJEg8KB1Nhdk5hbWUYCCABKAkSDAoE",
|
"b3JtVHlwZRIPCgdTYXZEYXRlGAcgASgJEg8KB1Nhdk5hbWUYCCABKAkSDAoE",
|
||||||
"Tm90ZRgJIAEoCRIRCglTYXZJbWdVcmwYCiABKAkSDgoGU2F2VXJsGAsgASgJ",
|
"Tm90ZRgJIAEoCRIRCglTYXZJbWdVcmwYCiABKAkSDgoGU2F2VXJsGAsgASgJ",
|
||||||
"Ij0KGFByb3RvYnVmX01pbmVfRGVsR2FtZVNhdhINCgVSb21JRBgBIAEoBRIS",
|
"EhAKCFNlcXVlbmNlGAwgASgFIj0KGFByb3RvYnVmX01pbmVfRGVsR2FtZVNh",
|
||||||
"CgpTYXZEYXRhSWR4GAIgASgFIkIKHVByb3RvYnVmX01pbmVfRGVsR2FtZVNh",
|
"dhINCgVSb21JRBgBIAEoBRISCgpTYXZEYXRhSWR4GAIgASgFIkIKHVByb3Rv",
|
||||||
"dl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJZHgYAiABKAUifgob",
|
"YnVmX01pbmVfRGVsR2FtZVNhdl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNh",
|
||||||
"UHJvdG9idWZfTWluZV9VcExvYWRHYW1lU2F2Eg0KBVJvbUlEGAEgASgFEhIK",
|
"dkRhdGFJZHgYAiABKAUikAEKG1Byb3RvYnVmX01pbmVfVXBMb2FkR2FtZVNh",
|
||||||
"ClNhdkRhdGFJZHgYAiABKAUSDAoETmFtZRgDIAEoCRIMCgROb3RlGAQgASgJ",
|
"dhINCgVSb21JRBgBIAEoBRISCgpTYXZEYXRhSWR4GAIgASgFEgwKBE5hbWUY",
|
||||||
"Eg4KBlNhdkltZxgFIAEoDBIQCghTdGF0ZVJhdxgGIAEoDCKHAQogUHJvdG9i",
|
"AyABKAkSDAoETm90ZRgEIAEoCRIOCgZTYXZJbWcYBSABKAwSEAoIU3RhdGVS",
|
||||||
"dWZfTWluZV9VcExvYWRHYW1lU2F2X1JFU1ASDQoFUm9tSUQYASABKAUSEgoK",
|
"YXcYBiABKAwSEAoIU2VxdWVuY2UYByABKAUihwEKIFByb3RvYnVmX01pbmVf",
|
||||||
"U2F2RGF0YUlkeBgCIAEoBRJACg1VcGxvYWRTZXZJbmZvGAMgASgLMikuQXhp",
|
"VXBMb2FkR2FtZVNhdl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJ",
|
||||||
"YnVnUHJvdG9idWYuUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbyr/BQoJQ29t",
|
"ZHgYAiABKAUSQAoNVXBsb2FkU2V2SW5mbxgDIAEoCzIpLkF4aWJ1Z1Byb3Rv",
|
||||||
"bWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghDTURfUElORxABEgwKCENNRF9Q",
|
"YnVmLlByb3RvYnVmX01pbmVfR2FtZVNhdkluZm8q/wUKCUNvbW1hbmRJRBIO",
|
||||||
"T05HEAISDgoJQ01EX0xPR0lOENEPEhgKE0NNRF9VU0VSX09OTElORUxJU1QQ",
|
"CgpDTURfREVGQVVMEAASDAoIQ01EX1BJTkcQARIMCghDTURfUE9ORxACEg4K",
|
||||||
"uBcSEgoNQ01EX1VTRVJfSk9JThDXFxITCg5DTURfVVNFUl9MRUFWRRDYFxIa",
|
"CUNNRF9MT0dJThDRDxIYChNDTURfVVNFUl9PTkxJTkVMSVNUELgXEhIKDUNN",
|
||||||
"ChVDTURfVVNFUl9TVEFURV9VUERBVEUQ2RcSGAoTQ01EX01vZGlmeV9OaWNr",
|
"RF9VU0VSX0pPSU4Q1xcSEwoOQ01EX1VTRVJfTEVBVkUQ2BcSGgoVQ01EX1VT",
|
||||||
"TmFtZRCdGBIcChdDTURfVXBkYXRlX1NlbGZVc2VySW5mbxCmGBIdChhDTURf",
|
"RVJfU1RBVEVfVVBEQVRFENkXEhgKE0NNRF9Nb2RpZnlfTmlja05hbWUQnRgS",
|
||||||
"VXBkYXRlX090aGVyVXNlckluZm8QqBgSEAoLQ01EX0NIQVRNU0cQoR8SEgoN",
|
"HAoXQ01EX1VwZGF0ZV9TZWxmVXNlckluZm8QphgSHQoYQ01EX1VwZGF0ZV9P",
|
||||||
"Q01EX1Jvb21fTGlzdBCJJxIZChRDTURfUm9vbV9MaXN0X1VwZGF0ZRCKJxIY",
|
"dGhlclVzZXJJbmZvEKgYEhAKC0NNRF9DSEFUTVNHEKEfEhIKDUNNRF9Sb29t",
|
||||||
"ChNDTURfUm9vbV9HZXRfU2NyZWVuEJMnEhQKD0NNRF9Sb29tX0NyZWF0ZRDt",
|
"X0xpc3QQiScSGQoUQ01EX1Jvb21fTGlzdF9VcGRhdGUQiicSGAoTQ01EX1Jv",
|
||||||
"JxISCg1DTURfUm9vbV9Kb2luEPEnEhMKDkNNRF9Sb29tX0xlYXZlEPInEiIK",
|
"b21fR2V0X1NjcmVlbhCTJxIUCg9DTURfUm9vbV9DcmVhdGUQ7ScSEgoNQ01E",
|
||||||
"HUNNRF9Sb29tX015Um9vbV9TdGF0ZV9DaGFuZ2VkEPYnEiEKHENNRF9Sb29t",
|
"X1Jvb21fSm9pbhDxJxITCg5DTURfUm9vbV9MZWF2ZRDyJxIiCh1DTURfUm9v",
|
||||||
"X0NoYW5nZVBsYXllcldpdGhKb3kQiigSFgoRQ01EX1Jvb21fV2FpdFN0ZXAQ",
|
"bV9NeVJvb21fU3RhdGVfQ2hhbmdlZBD2JxIhChxDTURfUm9vbV9DaGFuZ2VQ",
|
||||||
"0SgSJwoiQ01EX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJhdxDUKBIa",
|
"bGF5ZXJXaXRoSm95EIooEhYKEUNNRF9Sb29tX1dhaXRTdGVwENEoEicKIkNN",
|
||||||
"ChVDTURfUm9vbV9QbGF5ZXJfUmVhZHkQ2CgSIAobQ01EX1Jvb21fU2luZ2Vs",
|
"RF9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRlU3RhdGVSYXcQ1CgSGgoVQ01EX1Jv",
|
||||||
"X1BsYXllcklucHV0EPouEh0KGENNRF9ST09NX1NZTl9QbGF5ZXJJbnB1dBD/",
|
"b21fUGxheWVyX1JlYWR5ENgoEiAKG0NNRF9Sb29tX1NpbmdlbF9QbGF5ZXJJ",
|
||||||
"LhIPCgpDTURfU2NyZWVuENk2Eh8KGkNNRF9HQU1FU0FWX0dldEdhbWVTYXZM",
|
"bnB1dBD6LhIdChhDTURfUk9PTV9TWU5fUGxheWVySW5wdXQQ/y4SDwoKQ01E",
|
||||||
"aXN0EME+EhsKFkNNRF9HQU1FU0FWX0RlbEdhbWVTYXYQxT4SHgoZQ01EX0dB",
|
"X1NjcmVlbhDZNhIfChpDTURfR0FNRVNBVl9HZXRHYW1lU2F2TGlzdBDBPhIb",
|
||||||
"TUVTQVZfVXBsb2FkR2FtZVNhdhDKPhISCg1DTURfR0FNRV9NQVJLEPVOKvEB",
|
"ChZDTURfR0FNRVNBVl9EZWxHYW1lU2F2EMU+Eh4KGUNNRF9HQU1FU0FWX1Vw",
|
||||||
"CglFcnJvckNvZGUSEAoMRVJST1JfREVGQVVMEAASDAoIRVJST1JfT0sQARIY",
|
"bG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dBTUVfTUFSSxD1TirxAQoJRXJyb3JD",
|
||||||
"ChRFUlJPUl9ST09NX05PVF9GT1VORBAKEicKI0VSUk9SX1JPT01fU0xPVF9B",
|
"b2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwKCEVSUk9SX09LEAESGAoURVJST1Jf",
|
||||||
"TFJFQURMWV9IQURfUExBWUVSEAsSIQodRVJST1JfUk9PTV9DQU5UX0RPX0NV",
|
"Uk9PTV9OT1RfRk9VTkQQChInCiNFUlJPUl9ST09NX1NMT1RfQUxSRUFETFlf",
|
||||||
"UlJfU1RBVEUQMhIfChtFUlJPUl9ST01fRE9OVF9IQURfU0FWRURBVEEQUBIf",
|
"SEFEX1BMQVlFUhALEiEKHUVSUk9SX1JPT01fQ0FOVF9ET19DVVJSX1NUQVRF",
|
||||||
"ChpFUlJPUl9ST01fQUxSRUFEWV9IQURfU1RBUhCTAxIcChdFUlJPUl9ST01f",
|
"EDISHwobRVJST1JfUk9NX0RPTlRfSEFEX1NBVkVEQVRBEFASHwoaRVJST1Jf",
|
||||||
"RE9OVF9IQURfU1RBUhCUAypACglMb2dpblR5cGUSDQoJVXNlRGV2aWNlEAAS",
|
"Uk9NX0FMUkVBRFlfSEFEX1NUQVIQkwMSHAoXRVJST1JfUk9NX0RPTlRfSEFE",
|
||||||
"DgoKVXNlQWNjb3VudBABEhQKEFVzZUhhb1l1ZUFjY291bnQQAiqlAQoKRGV2",
|
"X1NUQVIQlAMqQAoJTG9naW5UeXBlEg0KCVVzZURldmljZRAAEg4KClVzZUFj",
|
||||||
"aWNlVHlwZRIWChJEZXZpY2VUeXBlX0RlZmF1bHQQABIGCgJQQxABEgsKB0Fu",
|
"Y291bnQQARIUChBVc2VIYW9ZdWVBY2NvdW50EAIqpQEKCkRldmljZVR5cGUS",
|
||||||
"ZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQBBIHCgNQUzMQBRIHCgNQUzQQBhIL",
|
"FgoSRGV2aWNlVHlwZV9EZWZhdWx0EAASBgoCUEMQARILCgdBbmRyb2lkEAIS",
|
||||||
"CgdYQk9YMzYwEAcSCwoHWEJPWE9ORRAIEggKBFdpaVUQCRIPCgtOaW50ZW5k",
|
"BwoDSU9TEAMSBwoDUFNWEAQSBwoDUFMzEAUSBwoDUFM0EAYSCwoHWEJPWDM2",
|
||||||
"bzNEUxAKEhEKDUFuZHJvaWRDYXJBcHAQCyqTAgoLR2FtZVBhZFR5cGUSDAoI",
|
"MBAHEgsKB1hCT1hPTkUQCBIICgRXaWlVEAkSDwoLTmludGVuZG8zRFMQChIR",
|
||||||
"S2V5Ym9hcmQQABIRCg1HbG9iYWxHYW1lUGFkEAESDgoKVG91Y2hQYW5lbBAC",
|
"Cg1BbmRyb2lkQ2FyQXBwEAsqkwIKC0dhbWVQYWRUeXBlEgwKCEtleWJvYXJk",
|
||||||
"Eg4KCkRTM0NvbnRyb2wQAxIOCgpEUzRDb250cm9sEAQSDgoKRFM1Q29udHJv",
|
"EAASEQoNR2xvYmFsR2FtZVBhZBABEg4KClRvdWNoUGFuZWwQAhIOCgpEUzND",
|
||||||
"bBAFEhQKEFN3aXRjaFByb0NvbnRyb2wQBhIQCgxTd2l0Y2hKb3lDb24QBxIS",
|
"b250cm9sEAMSDgoKRFM0Q29udHJvbBAEEg4KCkRTNUNvbnRyb2wQBRIUChBT",
|
||||||
"Cg5YQk9YMzYwQ29udHJvbBAIEhIKDlhCT1hPTkVDb250cm9sEAkSEQoNUFNW",
|
"d2l0Y2hQcm9Db250cm9sEAYSEAoMU3dpdGNoSm95Q29uEAcSEgoOWEJPWDM2",
|
||||||
"aXRhQ29udHJvbBAKEhIKDldpaVVQYWRDb250cm9sEAsSFAoQV2lpUmVtb3Rl",
|
"MENvbnRyb2wQCBISCg5YQk9YT05FQ29udHJvbBAJEhEKDVBTVml0YUNvbnRy",
|
||||||
"Q29udHJvbBAMEhYKEk5pbnRlbmRvM0RTQ29udHJvbBANKoMCCg9Sb21QbGF0",
|
"b2wQChISCg5XaWlVUGFkQ29udHJvbBALEhQKEFdpaVJlbW90ZUNvbnRyb2wQ",
|
||||||
"Zm9ybVR5cGUSCwoHSW52YWxpZBAAEgcKA05lcxABEhEKDU1hc3Rlcl9TeXN0",
|
"DBIWChJOaW50ZW5kbzNEU0NvbnRyb2wQDSqDAgoPUm9tUGxhdGZvcm1UeXBl",
|
||||||
"ZW0QAhINCglHYW1lX0dlYXIQAxIMCghHYW1lX0JveRAEEhIKDkdhbWVfQm95",
|
"EgsKB0ludmFsaWQQABIHCgNOZXMQARIRCg1NYXN0ZXJfU3lzdGVtEAISDQoJ",
|
||||||
"X0NvbG9yEAUSEQoNQ29sZWNvX1Zpc2lvbhAGEgsKB1NDXzMwMDAQBxILCgdT",
|
"R2FtZV9HZWFyEAMSDAoIR2FtZV9Cb3kQBBISCg5HYW1lX0JveV9Db2xvchAF",
|
||||||
"R18xMDAwEAgSCgoGTkVPR0VPEBQSBwoDSUdTEBUSCAoEQ1BTMRAWEggKBENQ",
|
"EhEKDUNvbGVjb19WaXNpb24QBhILCgdTQ18zMDAwEAcSCwoHU0dfMTAwMBAI",
|
||||||
"UzIQFxIOCgpBcmNhZGVfT0xEEB4SDwoLV29uZGVyX1N3YW4QKBIVChFXb25k",
|
"EgoKBk5FT0dFTxAUEgcKA0lHUxAVEggKBENQUzEQFhIICgRDUFMyEBcSDgoK",
|
||||||
"ZXJfU3dhbl9Db2xvchApEggKA0FsbBDnBypwCg1Sb29tR2FtZVN0YXRlEhIK",
|
"QXJjYWRlX09MRBAeEg8KC1dvbmRlcl9Td2FuECgSFQoRV29uZGVyX1N3YW5f",
|
||||||
"Dk5vbmVfR2FtZVN0YXRlEAASDAoIT25seUhvc3QQARIRCg1XYWl0UmF3VXBk",
|
"Q29sb3IQKRIICgNBbGwQ5wcqcAoNUm9vbUdhbWVTdGF0ZRISCg5Ob25lX0dh",
|
||||||
"YXRlEAISDQoJV2FpdFJlYWR5EAMSCQoFUGF1c2UQBBIQCgxJbk9ubGluZUdh",
|
"bWVTdGF0ZRAAEgwKCE9ubHlIb3N0EAESEQoNV2FpdFJhd1VwZGF0ZRACEg0K",
|
||||||
"bWUQBSpOChFMb2dpblJlc3VsdFN0YXR1cxIhCh1Mb2dpblJlc3VsdFN0YXR1",
|
"CVdhaXRSZWFkeRADEgkKBVBhdXNlEAQSEAoMSW5PbmxpbmVHYW1lEAUqTgoR",
|
||||||
"c19CYXNlRGVmYXVsdBAAEgYKAk9LEAESDgoKQWNjb3VudEVychACQgJIAWIG",
|
"TG9naW5SZXN1bHRTdGF0dXMSIQodTG9naW5SZXN1bHRTdGF0dXNfQmFzZURl",
|
||||||
"cHJvdG8z"));
|
"ZmF1bHQQABIGCgJPSxABEg4KCkFjY291bnRFcnIQAkICSAFiBnByb3RvMw=="));
|
||||||
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
|
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
|
||||||
new pbr::FileDescriptor[] { },
|
new pbr::FileDescriptor[] { },
|
||||||
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.GamePadType), typeof(global::AxibugProtobuf.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
|
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.GamePadType), typeof(global::AxibugProtobuf.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
|
||||||
@ -217,10 +217,10 @@ namespace AxibugProtobuf {
|
|||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID", "IsStar", "Stars" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID", "IsStar", "Stars" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList.Parser, new[]{ "RomID" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList.Parser, new[]{ "RomID" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP.Parser, new[]{ "RomID", "SavDataList" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP.Parser, new[]{ "RomID", "SavDataList" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GameSavInfo), global::AxibugProtobuf.Protobuf_Mine_GameSavInfo.Parser, new[]{ "BHadSaveData", "SavID", "Uid", "SavDataIdx", "RomID", "GamePlatformType", "SavDate", "SavName", "Note", "SavImgUrl", "SavUrl" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GameSavInfo), global::AxibugProtobuf.Protobuf_Mine_GameSavInfo.Parser, new[]{ "BHadSaveData", "SavID", "Uid", "SavDataIdx", "RomID", "GamePlatformType", "SavDate", "SavName", "Note", "SavImgUrl", "SavUrl", "Sequence" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav), global::AxibugProtobuf.Protobuf_Mine_DelGameSav.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav), global::AxibugProtobuf.Protobuf_Mine_DelGameSav.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "Name", "Note", "SavImg", "StateRaw" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "Name", "Note", "SavImg", "StateRaw", "Sequence" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null)
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null)
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
@ -10212,6 +10212,7 @@ namespace AxibugProtobuf {
|
|||||||
note_ = other.note_;
|
note_ = other.note_;
|
||||||
savImgUrl_ = other.savImgUrl_;
|
savImgUrl_ = other.savImgUrl_;
|
||||||
savUrl_ = other.savUrl_;
|
savUrl_ = other.savUrl_;
|
||||||
|
sequence_ = other.sequence_;
|
||||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10365,6 +10366,20 @@ namespace AxibugProtobuf {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>Field number for the "Sequence" field.</summary>
|
||||||
|
public const int SequenceFieldNumber = 12;
|
||||||
|
private int sequence_;
|
||||||
|
/// <summary>
|
||||||
|
///存档序号
|
||||||
|
/// </summary>
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||||
|
public int Sequence {
|
||||||
|
get { return sequence_; }
|
||||||
|
set {
|
||||||
|
sequence_ = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||||
public override bool Equals(object other) {
|
public override bool Equals(object other) {
|
||||||
return Equals(other as Protobuf_Mine_GameSavInfo);
|
return Equals(other as Protobuf_Mine_GameSavInfo);
|
||||||
@ -10389,6 +10404,7 @@ namespace AxibugProtobuf {
|
|||||||
if (Note != other.Note) return false;
|
if (Note != other.Note) return false;
|
||||||
if (SavImgUrl != other.SavImgUrl) return false;
|
if (SavImgUrl != other.SavImgUrl) return false;
|
||||||
if (SavUrl != other.SavUrl) return false;
|
if (SavUrl != other.SavUrl) return false;
|
||||||
|
if (Sequence != other.Sequence) return false;
|
||||||
return Equals(_unknownFields, other._unknownFields);
|
return Equals(_unknownFields, other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10406,6 +10422,7 @@ namespace AxibugProtobuf {
|
|||||||
if (Note.Length != 0) hash ^= Note.GetHashCode();
|
if (Note.Length != 0) hash ^= Note.GetHashCode();
|
||||||
if (SavImgUrl.Length != 0) hash ^= SavImgUrl.GetHashCode();
|
if (SavImgUrl.Length != 0) hash ^= SavImgUrl.GetHashCode();
|
||||||
if (SavUrl.Length != 0) hash ^= SavUrl.GetHashCode();
|
if (SavUrl.Length != 0) hash ^= SavUrl.GetHashCode();
|
||||||
|
if (Sequence != 0) hash ^= Sequence.GetHashCode();
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
hash ^= _unknownFields.GetHashCode();
|
hash ^= _unknownFields.GetHashCode();
|
||||||
}
|
}
|
||||||
@ -10466,6 +10483,10 @@ namespace AxibugProtobuf {
|
|||||||
output.WriteRawTag(90);
|
output.WriteRawTag(90);
|
||||||
output.WriteString(SavUrl);
|
output.WriteString(SavUrl);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
output.WriteRawTag(96);
|
||||||
|
output.WriteInt32(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
_unknownFields.WriteTo(output);
|
_unknownFields.WriteTo(output);
|
||||||
}
|
}
|
||||||
@ -10519,6 +10540,10 @@ namespace AxibugProtobuf {
|
|||||||
output.WriteRawTag(90);
|
output.WriteRawTag(90);
|
||||||
output.WriteString(SavUrl);
|
output.WriteString(SavUrl);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
output.WriteRawTag(96);
|
||||||
|
output.WriteInt32(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
_unknownFields.WriteTo(ref output);
|
_unknownFields.WriteTo(ref output);
|
||||||
}
|
}
|
||||||
@ -10561,6 +10586,9 @@ namespace AxibugProtobuf {
|
|||||||
if (SavUrl.Length != 0) {
|
if (SavUrl.Length != 0) {
|
||||||
size += 1 + pb::CodedOutputStream.ComputeStringSize(SavUrl);
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(SavUrl);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
size += _unknownFields.CalculateSize();
|
size += _unknownFields.CalculateSize();
|
||||||
}
|
}
|
||||||
@ -10605,6 +10633,9 @@ namespace AxibugProtobuf {
|
|||||||
if (other.SavUrl.Length != 0) {
|
if (other.SavUrl.Length != 0) {
|
||||||
SavUrl = other.SavUrl;
|
SavUrl = other.SavUrl;
|
||||||
}
|
}
|
||||||
|
if (other.Sequence != 0) {
|
||||||
|
Sequence = other.Sequence;
|
||||||
|
}
|
||||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10663,6 +10694,10 @@ namespace AxibugProtobuf {
|
|||||||
SavUrl = input.ReadString();
|
SavUrl = input.ReadString();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 96: {
|
||||||
|
Sequence = input.ReadInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -10721,6 +10756,10 @@ namespace AxibugProtobuf {
|
|||||||
SavUrl = input.ReadString();
|
SavUrl = input.ReadString();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 96: {
|
||||||
|
Sequence = input.ReadInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -11191,6 +11230,7 @@ namespace AxibugProtobuf {
|
|||||||
note_ = other.note_;
|
note_ = other.note_;
|
||||||
savImg_ = other.savImg_;
|
savImg_ = other.savImg_;
|
||||||
stateRaw_ = other.stateRaw_;
|
stateRaw_ = other.stateRaw_;
|
||||||
|
sequence_ = other.sequence_;
|
||||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11283,6 +11323,20 @@ namespace AxibugProtobuf {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>Field number for the "Sequence" field.</summary>
|
||||||
|
public const int SequenceFieldNumber = 7;
|
||||||
|
private int sequence_;
|
||||||
|
/// <summary>
|
||||||
|
///存档序号
|
||||||
|
/// </summary>
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||||
|
public int Sequence {
|
||||||
|
get { return sequence_; }
|
||||||
|
set {
|
||||||
|
sequence_ = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||||
public override bool Equals(object other) {
|
public override bool Equals(object other) {
|
||||||
return Equals(other as Protobuf_Mine_UpLoadGameSav);
|
return Equals(other as Protobuf_Mine_UpLoadGameSav);
|
||||||
@ -11302,6 +11356,7 @@ namespace AxibugProtobuf {
|
|||||||
if (Note != other.Note) return false;
|
if (Note != other.Note) return false;
|
||||||
if (SavImg != other.SavImg) return false;
|
if (SavImg != other.SavImg) return false;
|
||||||
if (StateRaw != other.StateRaw) return false;
|
if (StateRaw != other.StateRaw) return false;
|
||||||
|
if (Sequence != other.Sequence) return false;
|
||||||
return Equals(_unknownFields, other._unknownFields);
|
return Equals(_unknownFields, other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11314,6 +11369,7 @@ namespace AxibugProtobuf {
|
|||||||
if (Note.Length != 0) hash ^= Note.GetHashCode();
|
if (Note.Length != 0) hash ^= Note.GetHashCode();
|
||||||
if (SavImg.Length != 0) hash ^= SavImg.GetHashCode();
|
if (SavImg.Length != 0) hash ^= SavImg.GetHashCode();
|
||||||
if (StateRaw.Length != 0) hash ^= StateRaw.GetHashCode();
|
if (StateRaw.Length != 0) hash ^= StateRaw.GetHashCode();
|
||||||
|
if (Sequence != 0) hash ^= Sequence.GetHashCode();
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
hash ^= _unknownFields.GetHashCode();
|
hash ^= _unknownFields.GetHashCode();
|
||||||
}
|
}
|
||||||
@ -11354,6 +11410,10 @@ namespace AxibugProtobuf {
|
|||||||
output.WriteRawTag(50);
|
output.WriteRawTag(50);
|
||||||
output.WriteBytes(StateRaw);
|
output.WriteBytes(StateRaw);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
output.WriteRawTag(56);
|
||||||
|
output.WriteInt32(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
_unknownFields.WriteTo(output);
|
_unknownFields.WriteTo(output);
|
||||||
}
|
}
|
||||||
@ -11387,6 +11447,10 @@ namespace AxibugProtobuf {
|
|||||||
output.WriteRawTag(50);
|
output.WriteRawTag(50);
|
||||||
output.WriteBytes(StateRaw);
|
output.WriteBytes(StateRaw);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
output.WriteRawTag(56);
|
||||||
|
output.WriteInt32(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
_unknownFields.WriteTo(ref output);
|
_unknownFields.WriteTo(ref output);
|
||||||
}
|
}
|
||||||
@ -11414,6 +11478,9 @@ namespace AxibugProtobuf {
|
|||||||
if (StateRaw.Length != 0) {
|
if (StateRaw.Length != 0) {
|
||||||
size += 1 + pb::CodedOutputStream.ComputeBytesSize(StateRaw);
|
size += 1 + pb::CodedOutputStream.ComputeBytesSize(StateRaw);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
size += _unknownFields.CalculateSize();
|
size += _unknownFields.CalculateSize();
|
||||||
}
|
}
|
||||||
@ -11443,6 +11510,9 @@ namespace AxibugProtobuf {
|
|||||||
if (other.StateRaw.Length != 0) {
|
if (other.StateRaw.Length != 0) {
|
||||||
StateRaw = other.StateRaw;
|
StateRaw = other.StateRaw;
|
||||||
}
|
}
|
||||||
|
if (other.Sequence != 0) {
|
||||||
|
Sequence = other.Sequence;
|
||||||
|
}
|
||||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11481,6 +11551,10 @@ namespace AxibugProtobuf {
|
|||||||
StateRaw = input.ReadBytes();
|
StateRaw = input.ReadBytes();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 56: {
|
||||||
|
Sequence = input.ReadInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -11519,6 +11593,10 @@ namespace AxibugProtobuf {
|
|||||||
StateRaw = input.ReadBytes();
|
StateRaw = input.ReadBytes();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 56: {
|
||||||
|
Sequence = input.ReadInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -109,66 +109,66 @@ namespace AxibugProtobuf {
|
|||||||
"bmVfR2V0R2FtZVNhdkxpc3QSDQoFUm9tSUQYASABKAUicgohUHJvdG9idWZf",
|
"bmVfR2V0R2FtZVNhdkxpc3QSDQoFUm9tSUQYASABKAUicgohUHJvdG9idWZf",
|
||||||
"TWluZV9HZXRHYW1lU2F2TGlzdF9SRVNQEg0KBVJvbUlEGAEgASgFEj4KC1Nh",
|
"TWluZV9HZXRHYW1lU2F2TGlzdF9SRVNQEg0KBVJvbUlEGAEgASgFEj4KC1Nh",
|
||||||
"dkRhdGFMaXN0GAIgAygLMikuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfTWlu",
|
"dkRhdGFMaXN0GAIgAygLMikuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfTWlu",
|
||||||
"ZV9HYW1lU2F2SW5mbyL+AQoZUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbxIU",
|
"ZV9HYW1lU2F2SW5mbyKQAgoZUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbxIU",
|
||||||
"CgxiSGFkU2F2ZURhdGEYASABKAgSDQoFU2F2SUQYAiABKAMSCwoDdWlkGAMg",
|
"CgxiSGFkU2F2ZURhdGEYASABKAgSDQoFU2F2SUQYAiABKAMSCwoDdWlkGAMg",
|
||||||
"ASgDEhIKClNhdkRhdGFJZHgYBCABKAUSDQoFUm9tSUQYBSABKAUSOQoQR2Ft",
|
"ASgDEhIKClNhdkRhdGFJZHgYBCABKAUSDQoFUm9tSUQYBSABKAUSOQoQR2Ft",
|
||||||
"ZVBsYXRmb3JtVHlwZRgGIAEoDjIfLkF4aWJ1Z1Byb3RvYnVmLlJvbVBsYXRm",
|
"ZVBsYXRmb3JtVHlwZRgGIAEoDjIfLkF4aWJ1Z1Byb3RvYnVmLlJvbVBsYXRm",
|
||||||
"b3JtVHlwZRIPCgdTYXZEYXRlGAcgASgJEg8KB1Nhdk5hbWUYCCABKAkSDAoE",
|
"b3JtVHlwZRIPCgdTYXZEYXRlGAcgASgJEg8KB1Nhdk5hbWUYCCABKAkSDAoE",
|
||||||
"Tm90ZRgJIAEoCRIRCglTYXZJbWdVcmwYCiABKAkSDgoGU2F2VXJsGAsgASgJ",
|
"Tm90ZRgJIAEoCRIRCglTYXZJbWdVcmwYCiABKAkSDgoGU2F2VXJsGAsgASgJ",
|
||||||
"Ij0KGFByb3RvYnVmX01pbmVfRGVsR2FtZVNhdhINCgVSb21JRBgBIAEoBRIS",
|
"EhAKCFNlcXVlbmNlGAwgASgFIj0KGFByb3RvYnVmX01pbmVfRGVsR2FtZVNh",
|
||||||
"CgpTYXZEYXRhSWR4GAIgASgFIkIKHVByb3RvYnVmX01pbmVfRGVsR2FtZVNh",
|
"dhINCgVSb21JRBgBIAEoBRISCgpTYXZEYXRhSWR4GAIgASgFIkIKHVByb3Rv",
|
||||||
"dl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJZHgYAiABKAUifgob",
|
"YnVmX01pbmVfRGVsR2FtZVNhdl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNh",
|
||||||
"UHJvdG9idWZfTWluZV9VcExvYWRHYW1lU2F2Eg0KBVJvbUlEGAEgASgFEhIK",
|
"dkRhdGFJZHgYAiABKAUikAEKG1Byb3RvYnVmX01pbmVfVXBMb2FkR2FtZVNh",
|
||||||
"ClNhdkRhdGFJZHgYAiABKAUSDAoETmFtZRgDIAEoCRIMCgROb3RlGAQgASgJ",
|
"dhINCgVSb21JRBgBIAEoBRISCgpTYXZEYXRhSWR4GAIgASgFEgwKBE5hbWUY",
|
||||||
"Eg4KBlNhdkltZxgFIAEoDBIQCghTdGF0ZVJhdxgGIAEoDCKHAQogUHJvdG9i",
|
"AyABKAkSDAoETm90ZRgEIAEoCRIOCgZTYXZJbWcYBSABKAwSEAoIU3RhdGVS",
|
||||||
"dWZfTWluZV9VcExvYWRHYW1lU2F2X1JFU1ASDQoFUm9tSUQYASABKAUSEgoK",
|
"YXcYBiABKAwSEAoIU2VxdWVuY2UYByABKAUihwEKIFByb3RvYnVmX01pbmVf",
|
||||||
"U2F2RGF0YUlkeBgCIAEoBRJACg1VcGxvYWRTZXZJbmZvGAMgASgLMikuQXhp",
|
"VXBMb2FkR2FtZVNhdl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJ",
|
||||||
"YnVnUHJvdG9idWYuUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbyr/BQoJQ29t",
|
"ZHgYAiABKAUSQAoNVXBsb2FkU2V2SW5mbxgDIAEoCzIpLkF4aWJ1Z1Byb3Rv",
|
||||||
"bWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghDTURfUElORxABEgwKCENNRF9Q",
|
"YnVmLlByb3RvYnVmX01pbmVfR2FtZVNhdkluZm8q/wUKCUNvbW1hbmRJRBIO",
|
||||||
"T05HEAISDgoJQ01EX0xPR0lOENEPEhgKE0NNRF9VU0VSX09OTElORUxJU1QQ",
|
"CgpDTURfREVGQVVMEAASDAoIQ01EX1BJTkcQARIMCghDTURfUE9ORxACEg4K",
|
||||||
"uBcSEgoNQ01EX1VTRVJfSk9JThDXFxITCg5DTURfVVNFUl9MRUFWRRDYFxIa",
|
"CUNNRF9MT0dJThDRDxIYChNDTURfVVNFUl9PTkxJTkVMSVNUELgXEhIKDUNN",
|
||||||
"ChVDTURfVVNFUl9TVEFURV9VUERBVEUQ2RcSGAoTQ01EX01vZGlmeV9OaWNr",
|
"RF9VU0VSX0pPSU4Q1xcSEwoOQ01EX1VTRVJfTEVBVkUQ2BcSGgoVQ01EX1VT",
|
||||||
"TmFtZRCdGBIcChdDTURfVXBkYXRlX1NlbGZVc2VySW5mbxCmGBIdChhDTURf",
|
"RVJfU1RBVEVfVVBEQVRFENkXEhgKE0NNRF9Nb2RpZnlfTmlja05hbWUQnRgS",
|
||||||
"VXBkYXRlX090aGVyVXNlckluZm8QqBgSEAoLQ01EX0NIQVRNU0cQoR8SEgoN",
|
"HAoXQ01EX1VwZGF0ZV9TZWxmVXNlckluZm8QphgSHQoYQ01EX1VwZGF0ZV9P",
|
||||||
"Q01EX1Jvb21fTGlzdBCJJxIZChRDTURfUm9vbV9MaXN0X1VwZGF0ZRCKJxIY",
|
"dGhlclVzZXJJbmZvEKgYEhAKC0NNRF9DSEFUTVNHEKEfEhIKDUNNRF9Sb29t",
|
||||||
"ChNDTURfUm9vbV9HZXRfU2NyZWVuEJMnEhQKD0NNRF9Sb29tX0NyZWF0ZRDt",
|
"X0xpc3QQiScSGQoUQ01EX1Jvb21fTGlzdF9VcGRhdGUQiicSGAoTQ01EX1Jv",
|
||||||
"JxISCg1DTURfUm9vbV9Kb2luEPEnEhMKDkNNRF9Sb29tX0xlYXZlEPInEiIK",
|
"b21fR2V0X1NjcmVlbhCTJxIUCg9DTURfUm9vbV9DcmVhdGUQ7ScSEgoNQ01E",
|
||||||
"HUNNRF9Sb29tX015Um9vbV9TdGF0ZV9DaGFuZ2VkEPYnEiEKHENNRF9Sb29t",
|
"X1Jvb21fSm9pbhDxJxITCg5DTURfUm9vbV9MZWF2ZRDyJxIiCh1DTURfUm9v",
|
||||||
"X0NoYW5nZVBsYXllcldpdGhKb3kQiigSFgoRQ01EX1Jvb21fV2FpdFN0ZXAQ",
|
"bV9NeVJvb21fU3RhdGVfQ2hhbmdlZBD2JxIhChxDTURfUm9vbV9DaGFuZ2VQ",
|
||||||
"0SgSJwoiQ01EX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJhdxDUKBIa",
|
"bGF5ZXJXaXRoSm95EIooEhYKEUNNRF9Sb29tX1dhaXRTdGVwENEoEicKIkNN",
|
||||||
"ChVDTURfUm9vbV9QbGF5ZXJfUmVhZHkQ2CgSIAobQ01EX1Jvb21fU2luZ2Vs",
|
"RF9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRlU3RhdGVSYXcQ1CgSGgoVQ01EX1Jv",
|
||||||
"X1BsYXllcklucHV0EPouEh0KGENNRF9ST09NX1NZTl9QbGF5ZXJJbnB1dBD/",
|
"b21fUGxheWVyX1JlYWR5ENgoEiAKG0NNRF9Sb29tX1NpbmdlbF9QbGF5ZXJJ",
|
||||||
"LhIPCgpDTURfU2NyZWVuENk2Eh8KGkNNRF9HQU1FU0FWX0dldEdhbWVTYXZM",
|
"bnB1dBD6LhIdChhDTURfUk9PTV9TWU5fUGxheWVySW5wdXQQ/y4SDwoKQ01E",
|
||||||
"aXN0EME+EhsKFkNNRF9HQU1FU0FWX0RlbEdhbWVTYXYQxT4SHgoZQ01EX0dB",
|
"X1NjcmVlbhDZNhIfChpDTURfR0FNRVNBVl9HZXRHYW1lU2F2TGlzdBDBPhIb",
|
||||||
"TUVTQVZfVXBsb2FkR2FtZVNhdhDKPhISCg1DTURfR0FNRV9NQVJLEPVOKvEB",
|
"ChZDTURfR0FNRVNBVl9EZWxHYW1lU2F2EMU+Eh4KGUNNRF9HQU1FU0FWX1Vw",
|
||||||
"CglFcnJvckNvZGUSEAoMRVJST1JfREVGQVVMEAASDAoIRVJST1JfT0sQARIY",
|
"bG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dBTUVfTUFSSxD1TirxAQoJRXJyb3JD",
|
||||||
"ChRFUlJPUl9ST09NX05PVF9GT1VORBAKEicKI0VSUk9SX1JPT01fU0xPVF9B",
|
"b2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwKCEVSUk9SX09LEAESGAoURVJST1Jf",
|
||||||
"TFJFQURMWV9IQURfUExBWUVSEAsSIQodRVJST1JfUk9PTV9DQU5UX0RPX0NV",
|
"Uk9PTV9OT1RfRk9VTkQQChInCiNFUlJPUl9ST09NX1NMT1RfQUxSRUFETFlf",
|
||||||
"UlJfU1RBVEUQMhIfChtFUlJPUl9ST01fRE9OVF9IQURfU0FWRURBVEEQUBIf",
|
"SEFEX1BMQVlFUhALEiEKHUVSUk9SX1JPT01fQ0FOVF9ET19DVVJSX1NUQVRF",
|
||||||
"ChpFUlJPUl9ST01fQUxSRUFEWV9IQURfU1RBUhCTAxIcChdFUlJPUl9ST01f",
|
"EDISHwobRVJST1JfUk9NX0RPTlRfSEFEX1NBVkVEQVRBEFASHwoaRVJST1Jf",
|
||||||
"RE9OVF9IQURfU1RBUhCUAypACglMb2dpblR5cGUSDQoJVXNlRGV2aWNlEAAS",
|
"Uk9NX0FMUkVBRFlfSEFEX1NUQVIQkwMSHAoXRVJST1JfUk9NX0RPTlRfSEFE",
|
||||||
"DgoKVXNlQWNjb3VudBABEhQKEFVzZUhhb1l1ZUFjY291bnQQAiqlAQoKRGV2",
|
"X1NUQVIQlAMqQAoJTG9naW5UeXBlEg0KCVVzZURldmljZRAAEg4KClVzZUFj",
|
||||||
"aWNlVHlwZRIWChJEZXZpY2VUeXBlX0RlZmF1bHQQABIGCgJQQxABEgsKB0Fu",
|
"Y291bnQQARIUChBVc2VIYW9ZdWVBY2NvdW50EAIqpQEKCkRldmljZVR5cGUS",
|
||||||
"ZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQBBIHCgNQUzMQBRIHCgNQUzQQBhIL",
|
"FgoSRGV2aWNlVHlwZV9EZWZhdWx0EAASBgoCUEMQARILCgdBbmRyb2lkEAIS",
|
||||||
"CgdYQk9YMzYwEAcSCwoHWEJPWE9ORRAIEggKBFdpaVUQCRIPCgtOaW50ZW5k",
|
"BwoDSU9TEAMSBwoDUFNWEAQSBwoDUFMzEAUSBwoDUFM0EAYSCwoHWEJPWDM2",
|
||||||
"bzNEUxAKEhEKDUFuZHJvaWRDYXJBcHAQCyqTAgoLR2FtZVBhZFR5cGUSDAoI",
|
"MBAHEgsKB1hCT1hPTkUQCBIICgRXaWlVEAkSDwoLTmludGVuZG8zRFMQChIR",
|
||||||
"S2V5Ym9hcmQQABIRCg1HbG9iYWxHYW1lUGFkEAESDgoKVG91Y2hQYW5lbBAC",
|
"Cg1BbmRyb2lkQ2FyQXBwEAsqkwIKC0dhbWVQYWRUeXBlEgwKCEtleWJvYXJk",
|
||||||
"Eg4KCkRTM0NvbnRyb2wQAxIOCgpEUzRDb250cm9sEAQSDgoKRFM1Q29udHJv",
|
"EAASEQoNR2xvYmFsR2FtZVBhZBABEg4KClRvdWNoUGFuZWwQAhIOCgpEUzND",
|
||||||
"bBAFEhQKEFN3aXRjaFByb0NvbnRyb2wQBhIQCgxTd2l0Y2hKb3lDb24QBxIS",
|
"b250cm9sEAMSDgoKRFM0Q29udHJvbBAEEg4KCkRTNUNvbnRyb2wQBRIUChBT",
|
||||||
"Cg5YQk9YMzYwQ29udHJvbBAIEhIKDlhCT1hPTkVDb250cm9sEAkSEQoNUFNW",
|
"d2l0Y2hQcm9Db250cm9sEAYSEAoMU3dpdGNoSm95Q29uEAcSEgoOWEJPWDM2",
|
||||||
"aXRhQ29udHJvbBAKEhIKDldpaVVQYWRDb250cm9sEAsSFAoQV2lpUmVtb3Rl",
|
"MENvbnRyb2wQCBISCg5YQk9YT05FQ29udHJvbBAJEhEKDVBTVml0YUNvbnRy",
|
||||||
"Q29udHJvbBAMEhYKEk5pbnRlbmRvM0RTQ29udHJvbBANKoMCCg9Sb21QbGF0",
|
"b2wQChISCg5XaWlVUGFkQ29udHJvbBALEhQKEFdpaVJlbW90ZUNvbnRyb2wQ",
|
||||||
"Zm9ybVR5cGUSCwoHSW52YWxpZBAAEgcKA05lcxABEhEKDU1hc3Rlcl9TeXN0",
|
"DBIWChJOaW50ZW5kbzNEU0NvbnRyb2wQDSqDAgoPUm9tUGxhdGZvcm1UeXBl",
|
||||||
"ZW0QAhINCglHYW1lX0dlYXIQAxIMCghHYW1lX0JveRAEEhIKDkdhbWVfQm95",
|
"EgsKB0ludmFsaWQQABIHCgNOZXMQARIRCg1NYXN0ZXJfU3lzdGVtEAISDQoJ",
|
||||||
"X0NvbG9yEAUSEQoNQ29sZWNvX1Zpc2lvbhAGEgsKB1NDXzMwMDAQBxILCgdT",
|
"R2FtZV9HZWFyEAMSDAoIR2FtZV9Cb3kQBBISCg5HYW1lX0JveV9Db2xvchAF",
|
||||||
"R18xMDAwEAgSCgoGTkVPR0VPEBQSBwoDSUdTEBUSCAoEQ1BTMRAWEggKBENQ",
|
"EhEKDUNvbGVjb19WaXNpb24QBhILCgdTQ18zMDAwEAcSCwoHU0dfMTAwMBAI",
|
||||||
"UzIQFxIOCgpBcmNhZGVfT0xEEB4SDwoLV29uZGVyX1N3YW4QKBIVChFXb25k",
|
"EgoKBk5FT0dFTxAUEgcKA0lHUxAVEggKBENQUzEQFhIICgRDUFMyEBcSDgoK",
|
||||||
"ZXJfU3dhbl9Db2xvchApEggKA0FsbBDnBypwCg1Sb29tR2FtZVN0YXRlEhIK",
|
"QXJjYWRlX09MRBAeEg8KC1dvbmRlcl9Td2FuECgSFQoRV29uZGVyX1N3YW5f",
|
||||||
"Dk5vbmVfR2FtZVN0YXRlEAASDAoIT25seUhvc3QQARIRCg1XYWl0UmF3VXBk",
|
"Q29sb3IQKRIICgNBbGwQ5wcqcAoNUm9vbUdhbWVTdGF0ZRISCg5Ob25lX0dh",
|
||||||
"YXRlEAISDQoJV2FpdFJlYWR5EAMSCQoFUGF1c2UQBBIQCgxJbk9ubGluZUdh",
|
"bWVTdGF0ZRAAEgwKCE9ubHlIb3N0EAESEQoNV2FpdFJhd1VwZGF0ZRACEg0K",
|
||||||
"bWUQBSpOChFMb2dpblJlc3VsdFN0YXR1cxIhCh1Mb2dpblJlc3VsdFN0YXR1",
|
"CVdhaXRSZWFkeRADEgkKBVBhdXNlEAQSEAoMSW5PbmxpbmVHYW1lEAUqTgoR",
|
||||||
"c19CYXNlRGVmYXVsdBAAEgYKAk9LEAESDgoKQWNjb3VudEVychACQgJIAWIG",
|
"TG9naW5SZXN1bHRTdGF0dXMSIQodTG9naW5SZXN1bHRTdGF0dXNfQmFzZURl",
|
||||||
"cHJvdG8z"));
|
"ZmF1bHQQABIGCgJPSxABEg4KCkFjY291bnRFcnIQAkICSAFiBnByb3RvMw=="));
|
||||||
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
|
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
|
||||||
new pbr::FileDescriptor[] { },
|
new pbr::FileDescriptor[] { },
|
||||||
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.GamePadType), typeof(global::AxibugProtobuf.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
|
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.GamePadType), typeof(global::AxibugProtobuf.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
|
||||||
@ -217,10 +217,10 @@ namespace AxibugProtobuf {
|
|||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID", "IsStar", "Stars" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID", "IsStar", "Stars" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList.Parser, new[]{ "RomID" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList.Parser, new[]{ "RomID" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP.Parser, new[]{ "RomID", "SavDataList" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP.Parser, new[]{ "RomID", "SavDataList" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GameSavInfo), global::AxibugProtobuf.Protobuf_Mine_GameSavInfo.Parser, new[]{ "BHadSaveData", "SavID", "Uid", "SavDataIdx", "RomID", "GamePlatformType", "SavDate", "SavName", "Note", "SavImgUrl", "SavUrl" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GameSavInfo), global::AxibugProtobuf.Protobuf_Mine_GameSavInfo.Parser, new[]{ "BHadSaveData", "SavID", "Uid", "SavDataIdx", "RomID", "GamePlatformType", "SavDate", "SavName", "Note", "SavImgUrl", "SavUrl", "Sequence" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav), global::AxibugProtobuf.Protobuf_Mine_DelGameSav.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav), global::AxibugProtobuf.Protobuf_Mine_DelGameSav.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "Name", "Note", "SavImg", "StateRaw" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "Name", "Note", "SavImg", "StateRaw", "Sequence" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null)
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null)
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
@ -10212,6 +10212,7 @@ namespace AxibugProtobuf {
|
|||||||
note_ = other.note_;
|
note_ = other.note_;
|
||||||
savImgUrl_ = other.savImgUrl_;
|
savImgUrl_ = other.savImgUrl_;
|
||||||
savUrl_ = other.savUrl_;
|
savUrl_ = other.savUrl_;
|
||||||
|
sequence_ = other.sequence_;
|
||||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10365,6 +10366,20 @@ namespace AxibugProtobuf {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>Field number for the "Sequence" field.</summary>
|
||||||
|
public const int SequenceFieldNumber = 12;
|
||||||
|
private int sequence_;
|
||||||
|
/// <summary>
|
||||||
|
///存档序号
|
||||||
|
/// </summary>
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||||
|
public int Sequence {
|
||||||
|
get { return sequence_; }
|
||||||
|
set {
|
||||||
|
sequence_ = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||||
public override bool Equals(object other) {
|
public override bool Equals(object other) {
|
||||||
return Equals(other as Protobuf_Mine_GameSavInfo);
|
return Equals(other as Protobuf_Mine_GameSavInfo);
|
||||||
@ -10389,6 +10404,7 @@ namespace AxibugProtobuf {
|
|||||||
if (Note != other.Note) return false;
|
if (Note != other.Note) return false;
|
||||||
if (SavImgUrl != other.SavImgUrl) return false;
|
if (SavImgUrl != other.SavImgUrl) return false;
|
||||||
if (SavUrl != other.SavUrl) return false;
|
if (SavUrl != other.SavUrl) return false;
|
||||||
|
if (Sequence != other.Sequence) return false;
|
||||||
return Equals(_unknownFields, other._unknownFields);
|
return Equals(_unknownFields, other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10406,6 +10422,7 @@ namespace AxibugProtobuf {
|
|||||||
if (Note.Length != 0) hash ^= Note.GetHashCode();
|
if (Note.Length != 0) hash ^= Note.GetHashCode();
|
||||||
if (SavImgUrl.Length != 0) hash ^= SavImgUrl.GetHashCode();
|
if (SavImgUrl.Length != 0) hash ^= SavImgUrl.GetHashCode();
|
||||||
if (SavUrl.Length != 0) hash ^= SavUrl.GetHashCode();
|
if (SavUrl.Length != 0) hash ^= SavUrl.GetHashCode();
|
||||||
|
if (Sequence != 0) hash ^= Sequence.GetHashCode();
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
hash ^= _unknownFields.GetHashCode();
|
hash ^= _unknownFields.GetHashCode();
|
||||||
}
|
}
|
||||||
@ -10466,6 +10483,10 @@ namespace AxibugProtobuf {
|
|||||||
output.WriteRawTag(90);
|
output.WriteRawTag(90);
|
||||||
output.WriteString(SavUrl);
|
output.WriteString(SavUrl);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
output.WriteRawTag(96);
|
||||||
|
output.WriteInt32(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
_unknownFields.WriteTo(output);
|
_unknownFields.WriteTo(output);
|
||||||
}
|
}
|
||||||
@ -10519,6 +10540,10 @@ namespace AxibugProtobuf {
|
|||||||
output.WriteRawTag(90);
|
output.WriteRawTag(90);
|
||||||
output.WriteString(SavUrl);
|
output.WriteString(SavUrl);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
output.WriteRawTag(96);
|
||||||
|
output.WriteInt32(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
_unknownFields.WriteTo(ref output);
|
_unknownFields.WriteTo(ref output);
|
||||||
}
|
}
|
||||||
@ -10561,6 +10586,9 @@ namespace AxibugProtobuf {
|
|||||||
if (SavUrl.Length != 0) {
|
if (SavUrl.Length != 0) {
|
||||||
size += 1 + pb::CodedOutputStream.ComputeStringSize(SavUrl);
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(SavUrl);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
size += _unknownFields.CalculateSize();
|
size += _unknownFields.CalculateSize();
|
||||||
}
|
}
|
||||||
@ -10605,6 +10633,9 @@ namespace AxibugProtobuf {
|
|||||||
if (other.SavUrl.Length != 0) {
|
if (other.SavUrl.Length != 0) {
|
||||||
SavUrl = other.SavUrl;
|
SavUrl = other.SavUrl;
|
||||||
}
|
}
|
||||||
|
if (other.Sequence != 0) {
|
||||||
|
Sequence = other.Sequence;
|
||||||
|
}
|
||||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10663,6 +10694,10 @@ namespace AxibugProtobuf {
|
|||||||
SavUrl = input.ReadString();
|
SavUrl = input.ReadString();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 96: {
|
||||||
|
Sequence = input.ReadInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -10721,6 +10756,10 @@ namespace AxibugProtobuf {
|
|||||||
SavUrl = input.ReadString();
|
SavUrl = input.ReadString();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 96: {
|
||||||
|
Sequence = input.ReadInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -11191,6 +11230,7 @@ namespace AxibugProtobuf {
|
|||||||
note_ = other.note_;
|
note_ = other.note_;
|
||||||
savImg_ = other.savImg_;
|
savImg_ = other.savImg_;
|
||||||
stateRaw_ = other.stateRaw_;
|
stateRaw_ = other.stateRaw_;
|
||||||
|
sequence_ = other.sequence_;
|
||||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11283,6 +11323,20 @@ namespace AxibugProtobuf {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>Field number for the "Sequence" field.</summary>
|
||||||
|
public const int SequenceFieldNumber = 7;
|
||||||
|
private int sequence_;
|
||||||
|
/// <summary>
|
||||||
|
///存档序号
|
||||||
|
/// </summary>
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||||
|
public int Sequence {
|
||||||
|
get { return sequence_; }
|
||||||
|
set {
|
||||||
|
sequence_ = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||||
public override bool Equals(object other) {
|
public override bool Equals(object other) {
|
||||||
return Equals(other as Protobuf_Mine_UpLoadGameSav);
|
return Equals(other as Protobuf_Mine_UpLoadGameSav);
|
||||||
@ -11302,6 +11356,7 @@ namespace AxibugProtobuf {
|
|||||||
if (Note != other.Note) return false;
|
if (Note != other.Note) return false;
|
||||||
if (SavImg != other.SavImg) return false;
|
if (SavImg != other.SavImg) return false;
|
||||||
if (StateRaw != other.StateRaw) return false;
|
if (StateRaw != other.StateRaw) return false;
|
||||||
|
if (Sequence != other.Sequence) return false;
|
||||||
return Equals(_unknownFields, other._unknownFields);
|
return Equals(_unknownFields, other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11314,6 +11369,7 @@ namespace AxibugProtobuf {
|
|||||||
if (Note.Length != 0) hash ^= Note.GetHashCode();
|
if (Note.Length != 0) hash ^= Note.GetHashCode();
|
||||||
if (SavImg.Length != 0) hash ^= SavImg.GetHashCode();
|
if (SavImg.Length != 0) hash ^= SavImg.GetHashCode();
|
||||||
if (StateRaw.Length != 0) hash ^= StateRaw.GetHashCode();
|
if (StateRaw.Length != 0) hash ^= StateRaw.GetHashCode();
|
||||||
|
if (Sequence != 0) hash ^= Sequence.GetHashCode();
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
hash ^= _unknownFields.GetHashCode();
|
hash ^= _unknownFields.GetHashCode();
|
||||||
}
|
}
|
||||||
@ -11354,6 +11410,10 @@ namespace AxibugProtobuf {
|
|||||||
output.WriteRawTag(50);
|
output.WriteRawTag(50);
|
||||||
output.WriteBytes(StateRaw);
|
output.WriteBytes(StateRaw);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
output.WriteRawTag(56);
|
||||||
|
output.WriteInt32(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
_unknownFields.WriteTo(output);
|
_unknownFields.WriteTo(output);
|
||||||
}
|
}
|
||||||
@ -11387,6 +11447,10 @@ namespace AxibugProtobuf {
|
|||||||
output.WriteRawTag(50);
|
output.WriteRawTag(50);
|
||||||
output.WriteBytes(StateRaw);
|
output.WriteBytes(StateRaw);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
output.WriteRawTag(56);
|
||||||
|
output.WriteInt32(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
_unknownFields.WriteTo(ref output);
|
_unknownFields.WriteTo(ref output);
|
||||||
}
|
}
|
||||||
@ -11414,6 +11478,9 @@ namespace AxibugProtobuf {
|
|||||||
if (StateRaw.Length != 0) {
|
if (StateRaw.Length != 0) {
|
||||||
size += 1 + pb::CodedOutputStream.ComputeBytesSize(StateRaw);
|
size += 1 + pb::CodedOutputStream.ComputeBytesSize(StateRaw);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
size += _unknownFields.CalculateSize();
|
size += _unknownFields.CalculateSize();
|
||||||
}
|
}
|
||||||
@ -11443,6 +11510,9 @@ namespace AxibugProtobuf {
|
|||||||
if (other.StateRaw.Length != 0) {
|
if (other.StateRaw.Length != 0) {
|
||||||
StateRaw = other.StateRaw;
|
StateRaw = other.StateRaw;
|
||||||
}
|
}
|
||||||
|
if (other.Sequence != 0) {
|
||||||
|
Sequence = other.Sequence;
|
||||||
|
}
|
||||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11481,6 +11551,10 @@ namespace AxibugProtobuf {
|
|||||||
StateRaw = input.ReadBytes();
|
StateRaw = input.ReadBytes();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 56: {
|
||||||
|
Sequence = input.ReadInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -11519,6 +11593,10 @@ namespace AxibugProtobuf {
|
|||||||
StateRaw = input.ReadBytes();
|
StateRaw = input.ReadBytes();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 56: {
|
||||||
|
Sequence = input.ReadInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -109,66 +109,66 @@ namespace AxibugProtobuf {
|
|||||||
"bmVfR2V0R2FtZVNhdkxpc3QSDQoFUm9tSUQYASABKAUicgohUHJvdG9idWZf",
|
"bmVfR2V0R2FtZVNhdkxpc3QSDQoFUm9tSUQYASABKAUicgohUHJvdG9idWZf",
|
||||||
"TWluZV9HZXRHYW1lU2F2TGlzdF9SRVNQEg0KBVJvbUlEGAEgASgFEj4KC1Nh",
|
"TWluZV9HZXRHYW1lU2F2TGlzdF9SRVNQEg0KBVJvbUlEGAEgASgFEj4KC1Nh",
|
||||||
"dkRhdGFMaXN0GAIgAygLMikuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfTWlu",
|
"dkRhdGFMaXN0GAIgAygLMikuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfTWlu",
|
||||||
"ZV9HYW1lU2F2SW5mbyL+AQoZUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbxIU",
|
"ZV9HYW1lU2F2SW5mbyKQAgoZUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbxIU",
|
||||||
"CgxiSGFkU2F2ZURhdGEYASABKAgSDQoFU2F2SUQYAiABKAMSCwoDdWlkGAMg",
|
"CgxiSGFkU2F2ZURhdGEYASABKAgSDQoFU2F2SUQYAiABKAMSCwoDdWlkGAMg",
|
||||||
"ASgDEhIKClNhdkRhdGFJZHgYBCABKAUSDQoFUm9tSUQYBSABKAUSOQoQR2Ft",
|
"ASgDEhIKClNhdkRhdGFJZHgYBCABKAUSDQoFUm9tSUQYBSABKAUSOQoQR2Ft",
|
||||||
"ZVBsYXRmb3JtVHlwZRgGIAEoDjIfLkF4aWJ1Z1Byb3RvYnVmLlJvbVBsYXRm",
|
"ZVBsYXRmb3JtVHlwZRgGIAEoDjIfLkF4aWJ1Z1Byb3RvYnVmLlJvbVBsYXRm",
|
||||||
"b3JtVHlwZRIPCgdTYXZEYXRlGAcgASgJEg8KB1Nhdk5hbWUYCCABKAkSDAoE",
|
"b3JtVHlwZRIPCgdTYXZEYXRlGAcgASgJEg8KB1Nhdk5hbWUYCCABKAkSDAoE",
|
||||||
"Tm90ZRgJIAEoCRIRCglTYXZJbWdVcmwYCiABKAkSDgoGU2F2VXJsGAsgASgJ",
|
"Tm90ZRgJIAEoCRIRCglTYXZJbWdVcmwYCiABKAkSDgoGU2F2VXJsGAsgASgJ",
|
||||||
"Ij0KGFByb3RvYnVmX01pbmVfRGVsR2FtZVNhdhINCgVSb21JRBgBIAEoBRIS",
|
"EhAKCFNlcXVlbmNlGAwgASgFIj0KGFByb3RvYnVmX01pbmVfRGVsR2FtZVNh",
|
||||||
"CgpTYXZEYXRhSWR4GAIgASgFIkIKHVByb3RvYnVmX01pbmVfRGVsR2FtZVNh",
|
"dhINCgVSb21JRBgBIAEoBRISCgpTYXZEYXRhSWR4GAIgASgFIkIKHVByb3Rv",
|
||||||
"dl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJZHgYAiABKAUifgob",
|
"YnVmX01pbmVfRGVsR2FtZVNhdl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNh",
|
||||||
"UHJvdG9idWZfTWluZV9VcExvYWRHYW1lU2F2Eg0KBVJvbUlEGAEgASgFEhIK",
|
"dkRhdGFJZHgYAiABKAUikAEKG1Byb3RvYnVmX01pbmVfVXBMb2FkR2FtZVNh",
|
||||||
"ClNhdkRhdGFJZHgYAiABKAUSDAoETmFtZRgDIAEoCRIMCgROb3RlGAQgASgJ",
|
"dhINCgVSb21JRBgBIAEoBRISCgpTYXZEYXRhSWR4GAIgASgFEgwKBE5hbWUY",
|
||||||
"Eg4KBlNhdkltZxgFIAEoDBIQCghTdGF0ZVJhdxgGIAEoDCKHAQogUHJvdG9i",
|
"AyABKAkSDAoETm90ZRgEIAEoCRIOCgZTYXZJbWcYBSABKAwSEAoIU3RhdGVS",
|
||||||
"dWZfTWluZV9VcExvYWRHYW1lU2F2X1JFU1ASDQoFUm9tSUQYASABKAUSEgoK",
|
"YXcYBiABKAwSEAoIU2VxdWVuY2UYByABKAUihwEKIFByb3RvYnVmX01pbmVf",
|
||||||
"U2F2RGF0YUlkeBgCIAEoBRJACg1VcGxvYWRTZXZJbmZvGAMgASgLMikuQXhp",
|
"VXBMb2FkR2FtZVNhdl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJ",
|
||||||
"YnVnUHJvdG9idWYuUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbyr/BQoJQ29t",
|
"ZHgYAiABKAUSQAoNVXBsb2FkU2V2SW5mbxgDIAEoCzIpLkF4aWJ1Z1Byb3Rv",
|
||||||
"bWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghDTURfUElORxABEgwKCENNRF9Q",
|
"YnVmLlByb3RvYnVmX01pbmVfR2FtZVNhdkluZm8q/wUKCUNvbW1hbmRJRBIO",
|
||||||
"T05HEAISDgoJQ01EX0xPR0lOENEPEhgKE0NNRF9VU0VSX09OTElORUxJU1QQ",
|
"CgpDTURfREVGQVVMEAASDAoIQ01EX1BJTkcQARIMCghDTURfUE9ORxACEg4K",
|
||||||
"uBcSEgoNQ01EX1VTRVJfSk9JThDXFxITCg5DTURfVVNFUl9MRUFWRRDYFxIa",
|
"CUNNRF9MT0dJThDRDxIYChNDTURfVVNFUl9PTkxJTkVMSVNUELgXEhIKDUNN",
|
||||||
"ChVDTURfVVNFUl9TVEFURV9VUERBVEUQ2RcSGAoTQ01EX01vZGlmeV9OaWNr",
|
"RF9VU0VSX0pPSU4Q1xcSEwoOQ01EX1VTRVJfTEVBVkUQ2BcSGgoVQ01EX1VT",
|
||||||
"TmFtZRCdGBIcChdDTURfVXBkYXRlX1NlbGZVc2VySW5mbxCmGBIdChhDTURf",
|
"RVJfU1RBVEVfVVBEQVRFENkXEhgKE0NNRF9Nb2RpZnlfTmlja05hbWUQnRgS",
|
||||||
"VXBkYXRlX090aGVyVXNlckluZm8QqBgSEAoLQ01EX0NIQVRNU0cQoR8SEgoN",
|
"HAoXQ01EX1VwZGF0ZV9TZWxmVXNlckluZm8QphgSHQoYQ01EX1VwZGF0ZV9P",
|
||||||
"Q01EX1Jvb21fTGlzdBCJJxIZChRDTURfUm9vbV9MaXN0X1VwZGF0ZRCKJxIY",
|
"dGhlclVzZXJJbmZvEKgYEhAKC0NNRF9DSEFUTVNHEKEfEhIKDUNNRF9Sb29t",
|
||||||
"ChNDTURfUm9vbV9HZXRfU2NyZWVuEJMnEhQKD0NNRF9Sb29tX0NyZWF0ZRDt",
|
"X0xpc3QQiScSGQoUQ01EX1Jvb21fTGlzdF9VcGRhdGUQiicSGAoTQ01EX1Jv",
|
||||||
"JxISCg1DTURfUm9vbV9Kb2luEPEnEhMKDkNNRF9Sb29tX0xlYXZlEPInEiIK",
|
"b21fR2V0X1NjcmVlbhCTJxIUCg9DTURfUm9vbV9DcmVhdGUQ7ScSEgoNQ01E",
|
||||||
"HUNNRF9Sb29tX015Um9vbV9TdGF0ZV9DaGFuZ2VkEPYnEiEKHENNRF9Sb29t",
|
"X1Jvb21fSm9pbhDxJxITCg5DTURfUm9vbV9MZWF2ZRDyJxIiCh1DTURfUm9v",
|
||||||
"X0NoYW5nZVBsYXllcldpdGhKb3kQiigSFgoRQ01EX1Jvb21fV2FpdFN0ZXAQ",
|
"bV9NeVJvb21fU3RhdGVfQ2hhbmdlZBD2JxIhChxDTURfUm9vbV9DaGFuZ2VQ",
|
||||||
"0SgSJwoiQ01EX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJhdxDUKBIa",
|
"bGF5ZXJXaXRoSm95EIooEhYKEUNNRF9Sb29tX1dhaXRTdGVwENEoEicKIkNN",
|
||||||
"ChVDTURfUm9vbV9QbGF5ZXJfUmVhZHkQ2CgSIAobQ01EX1Jvb21fU2luZ2Vs",
|
"RF9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRlU3RhdGVSYXcQ1CgSGgoVQ01EX1Jv",
|
||||||
"X1BsYXllcklucHV0EPouEh0KGENNRF9ST09NX1NZTl9QbGF5ZXJJbnB1dBD/",
|
"b21fUGxheWVyX1JlYWR5ENgoEiAKG0NNRF9Sb29tX1NpbmdlbF9QbGF5ZXJJ",
|
||||||
"LhIPCgpDTURfU2NyZWVuENk2Eh8KGkNNRF9HQU1FU0FWX0dldEdhbWVTYXZM",
|
"bnB1dBD6LhIdChhDTURfUk9PTV9TWU5fUGxheWVySW5wdXQQ/y4SDwoKQ01E",
|
||||||
"aXN0EME+EhsKFkNNRF9HQU1FU0FWX0RlbEdhbWVTYXYQxT4SHgoZQ01EX0dB",
|
"X1NjcmVlbhDZNhIfChpDTURfR0FNRVNBVl9HZXRHYW1lU2F2TGlzdBDBPhIb",
|
||||||
"TUVTQVZfVXBsb2FkR2FtZVNhdhDKPhISCg1DTURfR0FNRV9NQVJLEPVOKvEB",
|
"ChZDTURfR0FNRVNBVl9EZWxHYW1lU2F2EMU+Eh4KGUNNRF9HQU1FU0FWX1Vw",
|
||||||
"CglFcnJvckNvZGUSEAoMRVJST1JfREVGQVVMEAASDAoIRVJST1JfT0sQARIY",
|
"bG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dBTUVfTUFSSxD1TirxAQoJRXJyb3JD",
|
||||||
"ChRFUlJPUl9ST09NX05PVF9GT1VORBAKEicKI0VSUk9SX1JPT01fU0xPVF9B",
|
"b2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwKCEVSUk9SX09LEAESGAoURVJST1Jf",
|
||||||
"TFJFQURMWV9IQURfUExBWUVSEAsSIQodRVJST1JfUk9PTV9DQU5UX0RPX0NV",
|
"Uk9PTV9OT1RfRk9VTkQQChInCiNFUlJPUl9ST09NX1NMT1RfQUxSRUFETFlf",
|
||||||
"UlJfU1RBVEUQMhIfChtFUlJPUl9ST01fRE9OVF9IQURfU0FWRURBVEEQUBIf",
|
"SEFEX1BMQVlFUhALEiEKHUVSUk9SX1JPT01fQ0FOVF9ET19DVVJSX1NUQVRF",
|
||||||
"ChpFUlJPUl9ST01fQUxSRUFEWV9IQURfU1RBUhCTAxIcChdFUlJPUl9ST01f",
|
"EDISHwobRVJST1JfUk9NX0RPTlRfSEFEX1NBVkVEQVRBEFASHwoaRVJST1Jf",
|
||||||
"RE9OVF9IQURfU1RBUhCUAypACglMb2dpblR5cGUSDQoJVXNlRGV2aWNlEAAS",
|
"Uk9NX0FMUkVBRFlfSEFEX1NUQVIQkwMSHAoXRVJST1JfUk9NX0RPTlRfSEFE",
|
||||||
"DgoKVXNlQWNjb3VudBABEhQKEFVzZUhhb1l1ZUFjY291bnQQAiqlAQoKRGV2",
|
"X1NUQVIQlAMqQAoJTG9naW5UeXBlEg0KCVVzZURldmljZRAAEg4KClVzZUFj",
|
||||||
"aWNlVHlwZRIWChJEZXZpY2VUeXBlX0RlZmF1bHQQABIGCgJQQxABEgsKB0Fu",
|
"Y291bnQQARIUChBVc2VIYW9ZdWVBY2NvdW50EAIqpQEKCkRldmljZVR5cGUS",
|
||||||
"ZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQBBIHCgNQUzMQBRIHCgNQUzQQBhIL",
|
"FgoSRGV2aWNlVHlwZV9EZWZhdWx0EAASBgoCUEMQARILCgdBbmRyb2lkEAIS",
|
||||||
"CgdYQk9YMzYwEAcSCwoHWEJPWE9ORRAIEggKBFdpaVUQCRIPCgtOaW50ZW5k",
|
"BwoDSU9TEAMSBwoDUFNWEAQSBwoDUFMzEAUSBwoDUFM0EAYSCwoHWEJPWDM2",
|
||||||
"bzNEUxAKEhEKDUFuZHJvaWRDYXJBcHAQCyqTAgoLR2FtZVBhZFR5cGUSDAoI",
|
"MBAHEgsKB1hCT1hPTkUQCBIICgRXaWlVEAkSDwoLTmludGVuZG8zRFMQChIR",
|
||||||
"S2V5Ym9hcmQQABIRCg1HbG9iYWxHYW1lUGFkEAESDgoKVG91Y2hQYW5lbBAC",
|
"Cg1BbmRyb2lkQ2FyQXBwEAsqkwIKC0dhbWVQYWRUeXBlEgwKCEtleWJvYXJk",
|
||||||
"Eg4KCkRTM0NvbnRyb2wQAxIOCgpEUzRDb250cm9sEAQSDgoKRFM1Q29udHJv",
|
"EAASEQoNR2xvYmFsR2FtZVBhZBABEg4KClRvdWNoUGFuZWwQAhIOCgpEUzND",
|
||||||
"bBAFEhQKEFN3aXRjaFByb0NvbnRyb2wQBhIQCgxTd2l0Y2hKb3lDb24QBxIS",
|
"b250cm9sEAMSDgoKRFM0Q29udHJvbBAEEg4KCkRTNUNvbnRyb2wQBRIUChBT",
|
||||||
"Cg5YQk9YMzYwQ29udHJvbBAIEhIKDlhCT1hPTkVDb250cm9sEAkSEQoNUFNW",
|
"d2l0Y2hQcm9Db250cm9sEAYSEAoMU3dpdGNoSm95Q29uEAcSEgoOWEJPWDM2",
|
||||||
"aXRhQ29udHJvbBAKEhIKDldpaVVQYWRDb250cm9sEAsSFAoQV2lpUmVtb3Rl",
|
"MENvbnRyb2wQCBISCg5YQk9YT05FQ29udHJvbBAJEhEKDVBTVml0YUNvbnRy",
|
||||||
"Q29udHJvbBAMEhYKEk5pbnRlbmRvM0RTQ29udHJvbBANKoMCCg9Sb21QbGF0",
|
"b2wQChISCg5XaWlVUGFkQ29udHJvbBALEhQKEFdpaVJlbW90ZUNvbnRyb2wQ",
|
||||||
"Zm9ybVR5cGUSCwoHSW52YWxpZBAAEgcKA05lcxABEhEKDU1hc3Rlcl9TeXN0",
|
"DBIWChJOaW50ZW5kbzNEU0NvbnRyb2wQDSqDAgoPUm9tUGxhdGZvcm1UeXBl",
|
||||||
"ZW0QAhINCglHYW1lX0dlYXIQAxIMCghHYW1lX0JveRAEEhIKDkdhbWVfQm95",
|
"EgsKB0ludmFsaWQQABIHCgNOZXMQARIRCg1NYXN0ZXJfU3lzdGVtEAISDQoJ",
|
||||||
"X0NvbG9yEAUSEQoNQ29sZWNvX1Zpc2lvbhAGEgsKB1NDXzMwMDAQBxILCgdT",
|
"R2FtZV9HZWFyEAMSDAoIR2FtZV9Cb3kQBBISCg5HYW1lX0JveV9Db2xvchAF",
|
||||||
"R18xMDAwEAgSCgoGTkVPR0VPEBQSBwoDSUdTEBUSCAoEQ1BTMRAWEggKBENQ",
|
"EhEKDUNvbGVjb19WaXNpb24QBhILCgdTQ18zMDAwEAcSCwoHU0dfMTAwMBAI",
|
||||||
"UzIQFxIOCgpBcmNhZGVfT0xEEB4SDwoLV29uZGVyX1N3YW4QKBIVChFXb25k",
|
"EgoKBk5FT0dFTxAUEgcKA0lHUxAVEggKBENQUzEQFhIICgRDUFMyEBcSDgoK",
|
||||||
"ZXJfU3dhbl9Db2xvchApEggKA0FsbBDnBypwCg1Sb29tR2FtZVN0YXRlEhIK",
|
"QXJjYWRlX09MRBAeEg8KC1dvbmRlcl9Td2FuECgSFQoRV29uZGVyX1N3YW5f",
|
||||||
"Dk5vbmVfR2FtZVN0YXRlEAASDAoIT25seUhvc3QQARIRCg1XYWl0UmF3VXBk",
|
"Q29sb3IQKRIICgNBbGwQ5wcqcAoNUm9vbUdhbWVTdGF0ZRISCg5Ob25lX0dh",
|
||||||
"YXRlEAISDQoJV2FpdFJlYWR5EAMSCQoFUGF1c2UQBBIQCgxJbk9ubGluZUdh",
|
"bWVTdGF0ZRAAEgwKCE9ubHlIb3N0EAESEQoNV2FpdFJhd1VwZGF0ZRACEg0K",
|
||||||
"bWUQBSpOChFMb2dpblJlc3VsdFN0YXR1cxIhCh1Mb2dpblJlc3VsdFN0YXR1",
|
"CVdhaXRSZWFkeRADEgkKBVBhdXNlEAQSEAoMSW5PbmxpbmVHYW1lEAUqTgoR",
|
||||||
"c19CYXNlRGVmYXVsdBAAEgYKAk9LEAESDgoKQWNjb3VudEVychACQgJIAWIG",
|
"TG9naW5SZXN1bHRTdGF0dXMSIQodTG9naW5SZXN1bHRTdGF0dXNfQmFzZURl",
|
||||||
"cHJvdG8z"));
|
"ZmF1bHQQABIGCgJPSxABEg4KCkFjY291bnRFcnIQAkICSAFiBnByb3RvMw=="));
|
||||||
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
|
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
|
||||||
new pbr::FileDescriptor[] { },
|
new pbr::FileDescriptor[] { },
|
||||||
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.GamePadType), typeof(global::AxibugProtobuf.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
|
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.GamePadType), typeof(global::AxibugProtobuf.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
|
||||||
@ -217,10 +217,10 @@ namespace AxibugProtobuf {
|
|||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID", "IsStar", "Stars" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID", "IsStar", "Stars" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList.Parser, new[]{ "RomID" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList.Parser, new[]{ "RomID" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP.Parser, new[]{ "RomID", "SavDataList" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP.Parser, new[]{ "RomID", "SavDataList" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GameSavInfo), global::AxibugProtobuf.Protobuf_Mine_GameSavInfo.Parser, new[]{ "BHadSaveData", "SavID", "Uid", "SavDataIdx", "RomID", "GamePlatformType", "SavDate", "SavName", "Note", "SavImgUrl", "SavUrl" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GameSavInfo), global::AxibugProtobuf.Protobuf_Mine_GameSavInfo.Parser, new[]{ "BHadSaveData", "SavID", "Uid", "SavDataIdx", "RomID", "GamePlatformType", "SavDate", "SavName", "Note", "SavImgUrl", "SavUrl", "Sequence" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav), global::AxibugProtobuf.Protobuf_Mine_DelGameSav.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav), global::AxibugProtobuf.Protobuf_Mine_DelGameSav.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "Name", "Note", "SavImg", "StateRaw" }, null, null, null, null),
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "Name", "Note", "SavImg", "StateRaw", "Sequence" }, null, null, null, null),
|
||||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null)
|
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null)
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
@ -10212,6 +10212,7 @@ namespace AxibugProtobuf {
|
|||||||
note_ = other.note_;
|
note_ = other.note_;
|
||||||
savImgUrl_ = other.savImgUrl_;
|
savImgUrl_ = other.savImgUrl_;
|
||||||
savUrl_ = other.savUrl_;
|
savUrl_ = other.savUrl_;
|
||||||
|
sequence_ = other.sequence_;
|
||||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10365,6 +10366,20 @@ namespace AxibugProtobuf {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>Field number for the "Sequence" field.</summary>
|
||||||
|
public const int SequenceFieldNumber = 12;
|
||||||
|
private int sequence_;
|
||||||
|
/// <summary>
|
||||||
|
///存档序号
|
||||||
|
/// </summary>
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||||
|
public int Sequence {
|
||||||
|
get { return sequence_; }
|
||||||
|
set {
|
||||||
|
sequence_ = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||||
public override bool Equals(object other) {
|
public override bool Equals(object other) {
|
||||||
return Equals(other as Protobuf_Mine_GameSavInfo);
|
return Equals(other as Protobuf_Mine_GameSavInfo);
|
||||||
@ -10389,6 +10404,7 @@ namespace AxibugProtobuf {
|
|||||||
if (Note != other.Note) return false;
|
if (Note != other.Note) return false;
|
||||||
if (SavImgUrl != other.SavImgUrl) return false;
|
if (SavImgUrl != other.SavImgUrl) return false;
|
||||||
if (SavUrl != other.SavUrl) return false;
|
if (SavUrl != other.SavUrl) return false;
|
||||||
|
if (Sequence != other.Sequence) return false;
|
||||||
return Equals(_unknownFields, other._unknownFields);
|
return Equals(_unknownFields, other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10406,6 +10422,7 @@ namespace AxibugProtobuf {
|
|||||||
if (Note.Length != 0) hash ^= Note.GetHashCode();
|
if (Note.Length != 0) hash ^= Note.GetHashCode();
|
||||||
if (SavImgUrl.Length != 0) hash ^= SavImgUrl.GetHashCode();
|
if (SavImgUrl.Length != 0) hash ^= SavImgUrl.GetHashCode();
|
||||||
if (SavUrl.Length != 0) hash ^= SavUrl.GetHashCode();
|
if (SavUrl.Length != 0) hash ^= SavUrl.GetHashCode();
|
||||||
|
if (Sequence != 0) hash ^= Sequence.GetHashCode();
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
hash ^= _unknownFields.GetHashCode();
|
hash ^= _unknownFields.GetHashCode();
|
||||||
}
|
}
|
||||||
@ -10466,6 +10483,10 @@ namespace AxibugProtobuf {
|
|||||||
output.WriteRawTag(90);
|
output.WriteRawTag(90);
|
||||||
output.WriteString(SavUrl);
|
output.WriteString(SavUrl);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
output.WriteRawTag(96);
|
||||||
|
output.WriteInt32(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
_unknownFields.WriteTo(output);
|
_unknownFields.WriteTo(output);
|
||||||
}
|
}
|
||||||
@ -10519,6 +10540,10 @@ namespace AxibugProtobuf {
|
|||||||
output.WriteRawTag(90);
|
output.WriteRawTag(90);
|
||||||
output.WriteString(SavUrl);
|
output.WriteString(SavUrl);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
output.WriteRawTag(96);
|
||||||
|
output.WriteInt32(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
_unknownFields.WriteTo(ref output);
|
_unknownFields.WriteTo(ref output);
|
||||||
}
|
}
|
||||||
@ -10561,6 +10586,9 @@ namespace AxibugProtobuf {
|
|||||||
if (SavUrl.Length != 0) {
|
if (SavUrl.Length != 0) {
|
||||||
size += 1 + pb::CodedOutputStream.ComputeStringSize(SavUrl);
|
size += 1 + pb::CodedOutputStream.ComputeStringSize(SavUrl);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
size += _unknownFields.CalculateSize();
|
size += _unknownFields.CalculateSize();
|
||||||
}
|
}
|
||||||
@ -10605,6 +10633,9 @@ namespace AxibugProtobuf {
|
|||||||
if (other.SavUrl.Length != 0) {
|
if (other.SavUrl.Length != 0) {
|
||||||
SavUrl = other.SavUrl;
|
SavUrl = other.SavUrl;
|
||||||
}
|
}
|
||||||
|
if (other.Sequence != 0) {
|
||||||
|
Sequence = other.Sequence;
|
||||||
|
}
|
||||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10663,6 +10694,10 @@ namespace AxibugProtobuf {
|
|||||||
SavUrl = input.ReadString();
|
SavUrl = input.ReadString();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 96: {
|
||||||
|
Sequence = input.ReadInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -10721,6 +10756,10 @@ namespace AxibugProtobuf {
|
|||||||
SavUrl = input.ReadString();
|
SavUrl = input.ReadString();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 96: {
|
||||||
|
Sequence = input.ReadInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -11191,6 +11230,7 @@ namespace AxibugProtobuf {
|
|||||||
note_ = other.note_;
|
note_ = other.note_;
|
||||||
savImg_ = other.savImg_;
|
savImg_ = other.savImg_;
|
||||||
stateRaw_ = other.stateRaw_;
|
stateRaw_ = other.stateRaw_;
|
||||||
|
sequence_ = other.sequence_;
|
||||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11283,6 +11323,20 @@ namespace AxibugProtobuf {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>Field number for the "Sequence" field.</summary>
|
||||||
|
public const int SequenceFieldNumber = 7;
|
||||||
|
private int sequence_;
|
||||||
|
/// <summary>
|
||||||
|
///存档序号
|
||||||
|
/// </summary>
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||||
|
public int Sequence {
|
||||||
|
get { return sequence_; }
|
||||||
|
set {
|
||||||
|
sequence_ = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||||
public override bool Equals(object other) {
|
public override bool Equals(object other) {
|
||||||
return Equals(other as Protobuf_Mine_UpLoadGameSav);
|
return Equals(other as Protobuf_Mine_UpLoadGameSav);
|
||||||
@ -11302,6 +11356,7 @@ namespace AxibugProtobuf {
|
|||||||
if (Note != other.Note) return false;
|
if (Note != other.Note) return false;
|
||||||
if (SavImg != other.SavImg) return false;
|
if (SavImg != other.SavImg) return false;
|
||||||
if (StateRaw != other.StateRaw) return false;
|
if (StateRaw != other.StateRaw) return false;
|
||||||
|
if (Sequence != other.Sequence) return false;
|
||||||
return Equals(_unknownFields, other._unknownFields);
|
return Equals(_unknownFields, other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11314,6 +11369,7 @@ namespace AxibugProtobuf {
|
|||||||
if (Note.Length != 0) hash ^= Note.GetHashCode();
|
if (Note.Length != 0) hash ^= Note.GetHashCode();
|
||||||
if (SavImg.Length != 0) hash ^= SavImg.GetHashCode();
|
if (SavImg.Length != 0) hash ^= SavImg.GetHashCode();
|
||||||
if (StateRaw.Length != 0) hash ^= StateRaw.GetHashCode();
|
if (StateRaw.Length != 0) hash ^= StateRaw.GetHashCode();
|
||||||
|
if (Sequence != 0) hash ^= Sequence.GetHashCode();
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
hash ^= _unknownFields.GetHashCode();
|
hash ^= _unknownFields.GetHashCode();
|
||||||
}
|
}
|
||||||
@ -11354,6 +11410,10 @@ namespace AxibugProtobuf {
|
|||||||
output.WriteRawTag(50);
|
output.WriteRawTag(50);
|
||||||
output.WriteBytes(StateRaw);
|
output.WriteBytes(StateRaw);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
output.WriteRawTag(56);
|
||||||
|
output.WriteInt32(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
_unknownFields.WriteTo(output);
|
_unknownFields.WriteTo(output);
|
||||||
}
|
}
|
||||||
@ -11387,6 +11447,10 @@ namespace AxibugProtobuf {
|
|||||||
output.WriteRawTag(50);
|
output.WriteRawTag(50);
|
||||||
output.WriteBytes(StateRaw);
|
output.WriteBytes(StateRaw);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
output.WriteRawTag(56);
|
||||||
|
output.WriteInt32(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
_unknownFields.WriteTo(ref output);
|
_unknownFields.WriteTo(ref output);
|
||||||
}
|
}
|
||||||
@ -11414,6 +11478,9 @@ namespace AxibugProtobuf {
|
|||||||
if (StateRaw.Length != 0) {
|
if (StateRaw.Length != 0) {
|
||||||
size += 1 + pb::CodedOutputStream.ComputeBytesSize(StateRaw);
|
size += 1 + pb::CodedOutputStream.ComputeBytesSize(StateRaw);
|
||||||
}
|
}
|
||||||
|
if (Sequence != 0) {
|
||||||
|
size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sequence);
|
||||||
|
}
|
||||||
if (_unknownFields != null) {
|
if (_unknownFields != null) {
|
||||||
size += _unknownFields.CalculateSize();
|
size += _unknownFields.CalculateSize();
|
||||||
}
|
}
|
||||||
@ -11443,6 +11510,9 @@ namespace AxibugProtobuf {
|
|||||||
if (other.StateRaw.Length != 0) {
|
if (other.StateRaw.Length != 0) {
|
||||||
StateRaw = other.StateRaw;
|
StateRaw = other.StateRaw;
|
||||||
}
|
}
|
||||||
|
if (other.Sequence != 0) {
|
||||||
|
Sequence = other.Sequence;
|
||||||
|
}
|
||||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11481,6 +11551,10 @@ namespace AxibugProtobuf {
|
|||||||
StateRaw = input.ReadBytes();
|
StateRaw = input.ReadBytes();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 56: {
|
||||||
|
Sequence = input.ReadInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -11519,6 +11593,10 @@ namespace AxibugProtobuf {
|
|||||||
StateRaw = input.ReadBytes();
|
StateRaw = input.ReadBytes();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 56: {
|
||||||
|
Sequence = input.ReadInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -483,6 +483,7 @@ message Protobuf_Mine_GameSavInfo
|
|||||||
string Note = 9;//备注
|
string Note = 9;//备注
|
||||||
string SavImgUrl = 10;//即时存档截图Url
|
string SavImgUrl = 10;//即时存档截图Url
|
||||||
string SavUrl = 11;//即时存档下载Url
|
string SavUrl = 11;//即时存档下载Url
|
||||||
|
int32 Sequence = 12;//存档序号
|
||||||
}
|
}
|
||||||
|
|
||||||
message Protobuf_Mine_DelGameSav
|
message Protobuf_Mine_DelGameSav
|
||||||
@ -505,6 +506,7 @@ message Protobuf_Mine_UpLoadGameSav
|
|||||||
string Note = 4;//备注(留空时,服务器自动)
|
string Note = 4;//备注(留空时,服务器自动)
|
||||||
bytes SavImg = 5;//即时存档截图模拟器原生数据
|
bytes SavImg = 5;//即时存档截图模拟器原生数据
|
||||||
bytes StateRaw = 6;//即时存档byte数据
|
bytes StateRaw = 6;//即时存档byte数据
|
||||||
|
int32 Sequence = 7;//存档序号
|
||||||
}
|
}
|
||||||
|
|
||||||
message Protobuf_Mine_UpLoadGameSav_RESP
|
message Protobuf_Mine_UpLoadGameSav_RESP
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user