Added initial project, protos and basic services

This commit is contained in:
BillyCool
2024-07-22 21:02:53 +10:00
parent d028b8232f
commit 4f2e79de47
52 changed files with 3255 additions and 0 deletions

25
MariesWonderland.sln Normal file
View File

@@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.8.34511.84
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MariesWonderland", "src/MariesWonderland.csproj", "{CA577316-1B99-4730-B5BC-52B3B914F4A1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CA577316-1B99-4730-B5BC-52B3B914F4A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CA577316-1B99-4730-B5BC-52B3B914F4A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CA577316-1B99-4730-B5BC-52B3B914F4A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CA577316-1B99-4730-B5BC-52B3B914F4A1}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {DFE0158F-EDF3-483A-B024-896B0BB7D843}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<Protobuf Include="proto\*.proto" GrpcServices="Server" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Grpc.AspNetCore" Version="2.64.0" />
</ItemGroup>
</Project>

42
src/Program.cs Normal file
View File

@@ -0,0 +1,42 @@
using MariesWonderland.Services;
using Microsoft.AspNetCore.Server.Kestrel.Core;
namespace MariesWonderland;
public static class Program
{
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
// Enforce HTTP/2
builder.WebHost.ConfigureKestrel(options => options.ListenLocalhost(7777, x => x.Protocols = HttpProtocols.Http2));
builder.WebHost.ConfigureKestrel(options => options.ListenLocalhost(7776, x =>
{
x.UseHttps();
x.Protocols = HttpProtocols.Http2;
}));
// Add GRPC
builder.Services.AddGrpc();
var app = builder.Build();
// Add GRPC services
app.MapGrpcService<GreeterService>();
app.MapGrpcService<UserService>();
app.MapGrpcService<DataService>();
app.MapGrpcService<ConfigService>();
app.MapGrpcService<GameplayService>();
// Add HTTP middleware
app.MapGet("/", () => "Marie's Wonderland is open for business :marie:");
app.MapGet("/{**catchAll}", (string catchAll) => $"You requested: {catchAll}");
app.MapPost("/{**catchAll}", (string catchAll) => $"You requested: {catchAll}");
app.MapPut("/{**catchAll}", (string catchAll) => $"You requested: {catchAll}");
app.MapDelete("/{**catchAll}", (string catchAll) => $"You requested: {catchAll}");
app.MapPatch("/{**catchAll}", (string catchAll) => $"You requested: {catchAll}");
app.Run();
}
}

View File

@@ -0,0 +1,14 @@
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"profiles": {
"https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": false,
"applicationUrl": "https://localhost:7776;http://localhost:7777",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

View File

@@ -0,0 +1,13 @@
using Art.Framework.ApiNetwork.Grpc.Api.Config;
using Google.Protobuf.WellKnownTypes;
using Grpc.Core;
namespace MariesWonderland.Services;
public class ConfigService : Art.Framework.ApiNetwork.Grpc.Api.Config.ConfigService.ConfigServiceBase
{
public override Task<GetReviewServerConfigResponse> GetReviewServerConfig(Empty request, ServerCallContext context)
{
return Task.FromResult(new GetReviewServerConfigResponse());
}
}

View File

@@ -0,0 +1,18 @@
using Art.Framework.ApiNetwork.Grpc.Api.Data;
using Google.Protobuf.WellKnownTypes;
using Grpc.Core;
namespace MariesWonderland.Services;
public class DataService : Art.Framework.ApiNetwork.Grpc.Api.Data.DataService.DataServiceBase
{
public override Task<MasterDataGetLatestVersionResponse> GetLatestMasterDataVersion(Empty request, ServerCallContext context)
{
return Task.FromResult(new MasterDataGetLatestVersionResponse());
}
public override Task<UserDataGetResponse> GetUserData(UserDataGetRequest request, ServerCallContext context)
{
return Task.FromResult(new UserDataGetResponse());
}
}

View File

@@ -0,0 +1,12 @@
using Art.Framework.ApiNetwork.Grpc.Api.GamePlay;
using Grpc.Core;
namespace MariesWonderland.Services;
public class GameplayService : Art.Framework.ApiNetwork.Grpc.Api.GamePlay.GameplayService.GameplayServiceBase
{
public override Task<CheckBeforeGamePlayResponse> CheckBeforeGamePlay(CheckBeforeGamePlayRequest request, ServerCallContext context)
{
return Task.FromResult(new CheckBeforeGamePlayResponse());
}
}

View File

@@ -0,0 +1,17 @@
using Grpc.Core;
namespace MariesWonderland.Services;
/// <summary>
/// Dummy service for testing
/// </summary>
public class GreeterService : Greeter.GreeterBase
{
public override Task<HelloReply> SayHello(HelloRequest request, ServerCallContext context)
{
return Task.FromResult(new HelloReply
{
Message = "Hello " + request.Name
});
}
}

130
src/Services/UserService.cs Normal file
View File

@@ -0,0 +1,130 @@
using Art.Framework.ApiNetwork.Grpc.Api.User;
using Google.Protobuf.WellKnownTypes;
using Grpc.Core;
namespace MariesWonderland.Services;
public class UserService : Art.Framework.ApiNetwork.Grpc.Api.User.UserService.UserServiceBase
{
public override Task<GetAndroidArgsResponse> GetAndroidArgs(GetAndroidArgsRequest request, ServerCallContext context)
{
return Task.FromResult(new GetAndroidArgsResponse
{
ApiKey = "1234567890",
Nonce = "Mama"
});
}
public override Task<AuthUserResponse> Auth(AuthUserRequest request, ServerCallContext context)
{
return Task.FromResult(new AuthUserResponse
{
ExpireDatetime = Timestamp.FromDateTime(DateTime.UtcNow.AddDays(30)),
UserId = 1234567890123450000,
SessionKey = "1234567890",
Signature = "V2UnbGxQbGF5QWdhaW5Tb21lZGF5TXJNb25zdGVyIQ==" // Possibly base64 encoded
});
}
public override Task<CheckTransferSettingResponse> CheckTransferSetting(Empty request, ServerCallContext context)
{
return Task.FromResult(new CheckTransferSettingResponse());
}
public override Task<GameStartResponse> GameStart(Empty request, ServerCallContext context)
{
return Task.FromResult(new GameStartResponse());
}
public override Task<GetBackupTokenResponse> GetBackupToken(GetBackupTokenRequest request, ServerCallContext context)
{
return Task.FromResult(new GetBackupTokenResponse
{
BackupToken = "1234567890"
});
}
public override Task<GetBirthYearMonthResponse> GetBirthYearMonth(Empty request, ServerCallContext context)
{
return Task.FromResult(new GetBirthYearMonthResponse());
}
public override Task<GetChargeMoneyResponse> GetChargeMoney(Empty request, ServerCallContext context)
{
return Task.FromResult(new GetChargeMoneyResponse());
}
public override Task<GetUserGamePlayNoteResponse> GetUserGamePlayNote(GetUserGamePlayNoteRequest request, ServerCallContext context)
{
return Task.FromResult(new GetUserGamePlayNoteResponse());
}
public override Task<GetUserProfileResponse> GetUserProfile(GetUserProfileRequest request, ServerCallContext context)
{
return Task.FromResult(new GetUserProfileResponse());
}
public override Task<RegisterUserResponse> RegisterUser(RegisterUserRequest request, ServerCallContext context)
{
return Task.FromResult(new RegisterUserResponse());
}
public override Task<SetAppleAccountResponse> SetAppleAccount(SetAppleAccountRequest request, ServerCallContext context)
{
return Task.FromResult(new SetAppleAccountResponse());
}
public override Task<SetBirthYearMonthResponse> SetBirthYearMonth(SetBirthYearMonthRequest request, ServerCallContext context)
{
return Task.FromResult(new SetBirthYearMonthResponse());
}
public override Task<SetFacebookAccountResponse> SetFacebookAccount(SetFacebookAccountRequest request, ServerCallContext context)
{
return Task.FromResult(new SetFacebookAccountResponse());
}
public override Task<SetUserFavoriteCostumeIdResponse> SetUserFavoriteCostumeId(SetUserFavoriteCostumeIdRequest request, ServerCallContext context)
{
return Task.FromResult(new SetUserFavoriteCostumeIdResponse());
}
public override Task<SetUserMessageResponse> SetUserMessage(SetUserMessageRequest request, ServerCallContext context)
{
return Task.FromResult(new SetUserMessageResponse());
}
public override Task<SetUserNameResponse> SetUserName(SetUserNameRequest request, ServerCallContext context)
{
return Task.FromResult(new SetUserNameResponse());
}
public override Task<SetUserSettingResponse> SetUserSetting(SetUserSettingRequest request, ServerCallContext context)
{
return Task.FromResult(new SetUserSettingResponse());
}
public override Task<TransferUserResponse> TransferUser(TransferUserRequest request, ServerCallContext context)
{
return Task.FromResult(new TransferUserResponse
{
UserId = 1234567890123450000,
Signature = "V2UnbGxQbGF5QWdhaW5Tb21lZGF5TXJNb25zdGVyIQ==" // Possibly base64 encoded
});
}
public override Task<TransferUserByAppleResponse> TransferUserByApple(TransferUserByAppleRequest request, ServerCallContext context)
{
return Task.FromResult(new TransferUserByAppleResponse());
}
public override Task<TransferUserByFacebookResponse> TransferUserByFacebook(TransferUserByFacebookRequest request, ServerCallContext context)
{
return Task.FromResult(new TransferUserByFacebookResponse());
}
public override Task<UnsetFacebookAccountResponse> UnsetFacebookAccount(Empty request, ServerCallContext context)
{
return Task.FromResult(new UnsetFacebookAccountResponse());
}
}

View File

@@ -0,0 +1,8 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

16
src/appsettings.json Normal file
View File

@@ -0,0 +1,16 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning",
"Microsoft.AspNetCore.Hosting": "Information",
"Microsoft.AspNetCore.Routing.EndpointMiddleware": "Information"
}
},
"AllowedHosts": "*",
"Kestrel": {
"EndpointDefaults": {
"Protocols": "Http2"
}
}
}

29
src/proto/banner.proto Normal file
View File

@@ -0,0 +1,29 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Banner";
import "proto/mission.proto";
import "proto/data.proto";
package apb.api.banner;
service BannerService {
rpc GetMamaBanner (GetMamaBannerRequest) returns (GetMamaBannerResponse);
}
message GetMamaBannerRequest {
apb.api.mission.CageMeasurableValues cageMeasurableValues = 50;
}
message GetMamaBannerResponse {
repeated GachaBanner termLimitedGacha = 2;
GachaBanner latestChapterGacha = 3;
bool isExistUnreadPop = 4;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GachaBanner {
int32 gachaLabelType = 1;
string gachaAssetName = 2;
int32 gachaId = 3;
}

138
src/proto/battle.proto Normal file
View File

@@ -0,0 +1,138 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Battle";
import "proto/data.proto";
package apb.api.battle;
service BattleService {
rpc StartWave (StartWaveRequest) returns (StartWaveResponse);
rpc FinishWave (FinishWaveRequest) returns (FinishWaveResponse);
}
message BattleReportRandomDisplay {
int32 randomDisplayValueType = 1;
int64 randomDisplayValue = 2;
}
message CostumeBattleInfo {
int32 deckCharacterNumber = 1;
int64 totalDamage = 2;
bool isAlive = 4;
int32 hitCount = 5;
int64 maxHp = 6;
int64 remainingHp = 7;
int32 userDeckNumber = 30;
BattleReportRandomDisplay battleReportRandomDisplay = 50;
}
message StartWaveRequest {
repeated UserPartyInitialInfo userPartyInitialInfoList = 1;
repeated NpcPartyInitialInfo npcPartyInitialInfoList = 2;
}
message UserPartyInitialInfo {
int64 userId = 1;
int32 deckType = 2;
int64 userDeckNumber = 3;
int64 totalHp = 4;
string vt = 200;
}
message NpcPartyInitialInfo {
int64 npcId = 1;
int32 deckType = 2;
int32 battleNpcDeckNumber = 3;
int64 totalHp = 4;
}
message StartWaveResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message FinishWaveRequest {
bytes battleBinary = 1;
BattleDetail battleDetail = 2;
repeated UserPartyResultInfo userPartyResultInfoList = 3;
repeated NpcPartyResultInfo npcPartyResultInfoList = 4;
int64 elapsedFrameCount = 5;
string vt = 200;
}
message BattleDetail {
int32 characterDeathCount = 1;
int32 maxDamage = 2;
int32 playerCostumeActiveSkillUsedCount = 3;
int32 playerWeaponActiveSkillUsedCount = 4;
int32 playerCompanionSkillUsedCount = 5;
int32 criticalCount = 6;
int32 comboCount = 7;
int32 comboMaxDamage = 8;
repeated CostumeBattleInfo costumeBattleInfo = 9;
int64 totalRecoverPoint = 10;
}
message UserPartyResultInfo {
int64 userId = 1;
int32 deckType = 2;
int32 userDeckNumber = 3;
repeated AddUserDamageInfo addDamageInfoList = 4;
repeated UserRecoverInfo userRecoverInfo = 5;
repeated SkillUseInfo skillUseInfo = 6;
int32 characterDeathCount = 7;
int32 characterReviveCount = 8;
int32 characterHpDepletedCount = 9;
}
message AddUserDamageInfo {
int64 userId = 1;
int32 deckType = 2;
int32 deckNumber = 3;
int64 totalDamage = 4;
int64 totalUnclampedDamage = 5;
}
message UserRecoverInfo {
int64 userId = 1;
int32 deckType = 2;
int32 deckNumber = 3;
int64 totalRecoverPoint = 4;
}
message SkillUseInfo {
string deckCharacterUuid = 1;
int32 skillDetailId = 2;
int32 useCount = 3;
}
message NpcPartyResultInfo {
int64 npcId = 1;
int32 deckType = 2;
int32 battleNpcDeckNumber = 3;
repeated AddNpcDamageInfo addDamageInfoList = 4;
repeated NpcRecoverInfo npcRecoverInfo = 5;
repeated SkillUseInfo skillUseInfo = 6;
int32 characterDeathCount = 7;
int32 characterReviveCount = 8;
int32 characterHpDepletedCount = 9;
}
message AddNpcDamageInfo {
int64 npcId = 1;
int32 deckType = 2;
int32 deckNumber = 3;
int64 totalDamage = 4;
int64 totalUnclampedDamage = 5;
}
message NpcRecoverInfo {
int64 npcId = 1;
int32 deckType = 2;
int32 deckNumber = 3;
int64 totalRecoverPoint = 4;
}
message FinishWaveResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

142
src/proto/bighunt.proto Normal file
View File

@@ -0,0 +1,142 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.BigHunt";
import "google/protobuf/empty.proto";
import "proto/data.proto";
import "proto/battle.proto";
package apb.api.bighunt;
service BighuntService {
rpc StartBigHuntQuest (StartBigHuntQuestRequest) returns (StartBigHuntQuestResponse);
rpc UpdateBigHuntQuestSceneProgress (UpdateBigHuntQuestSceneProgressRequest) returns (UpdateBigHuntQuestSceneProgressResponse);
rpc FinishBigHuntQuest (FinishBigHuntQuestRequest) returns (FinishBigHuntQuestResponse);
rpc RestartBigHuntQuest (RestartBigHuntQuestRequest) returns (RestartBigHuntQuestResponse);
rpc SkipBigHuntQuest (SkipBigHuntQuestRequest) returns (SkipBigHuntQuestResponse);
rpc SaveBigHuntBattleInfo (SaveBigHuntBattleInfoRequest) returns (SaveBigHuntBattleInfoResponse);
rpc GetBigHuntTopData (google.protobuf.Empty) returns (GetBigHuntTopDataResponse);
}
message WeeklyScoreResult {
int32 attributeType = 1;
int64 beforeMaxScore = 2;
int64 currentMaxScore = 3;
int32 beforeAssetGradeIconId = 4;
int32 currentAssetGradeIconId = 5;
int64 afterMaxScore = 6;
int32 afterAssetGradeIconId = 7;
}
message BigHuntReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message StartBigHuntQuestRequest {
int32 bigHuntBossQuestId = 1;
int32 bigHuntQuestId = 2;
int32 userDeckNumber = 3;
bool isDryRun = 4;
}
message StartBigHuntQuestResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdateBigHuntQuestSceneProgressRequest {
int32 questSceneId = 1;
}
message UpdateBigHuntQuestSceneProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message FinishBigHuntQuestRequest {
int32 bigHuntBossQuestId = 1;
int32 bigHuntQuestId = 2;
bool isRetired = 3;
string vt = 200;
}
message FinishBigHuntQuestResponse {
BigHuntScoreInfo scoreInfo = 1;
repeated BigHuntReward scoreReward = 2;
BigHuntBattleReport battleReport = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message BigHuntScoreInfo {
int64 userScore = 1;
bool isHighScore = 2;
int64 totalDamage = 3;
int64 baseScore = 4;
int32 difficultyBonusPermil = 5;
int32 aliveBonusPermil = 6;
int32 maxComboBonusPermil = 7;
int32 assetGradeIconId = 8;
}
message BigHuntBattleReport {
repeated BigHuntBattleReportWave battleReportWave = 1;
}
message BigHuntBattleReportWave {
repeated BigHuntBattleReportCostume battleReportCostume = 1;
}
message BigHuntBattleReportCostume {
int32 costumeId = 1;
int64 totalDamage = 2;
int32 hitCount = 3;
apb.api.battle.BattleReportRandomDisplay battleReportRandomDisplay = 4;
}
message RestartBigHuntQuestRequest {
int32 bigHuntBossQuestId = 1;
int32 bigHuntQuestId = 2;
}
message RestartBigHuntQuestResponse {
bytes battleBinary = 1;
int32 deckNumber = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SkipBigHuntQuestRequest {
int32 bigHuntBossQuestId = 1;
int32 skipCount = 2;
}
message SkipBigHuntQuestResponse {
repeated BigHuntReward scoreReward = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SaveBigHuntBattleInfoRequest {
bytes battleBinary = 1;
BigHuntBattleDetail bigHuntBattleDetail = 2;
int64 elapsedFrameCount = 3;
string vt = 200;
}
message BigHuntBattleDetail {
int32 deckType = 1;
int32 userTripleDeckNumber = 2;
int32 bossKnockDownCount = 3;
int32 maxComboCount = 4;
repeated apb.api.battle.CostumeBattleInfo costumeBattleInfo = 9;
}
message SaveBigHuntBattleInfoResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetBigHuntTopDataResponse {
repeated WeeklyScoreResult weeklyScoreResult = 1;
repeated BigHuntReward weeklyScoreReward = 2;
bool isReceivedWeeklyScoreReward = 3;
repeated BigHuntReward lastWeekWeeklyScoreReward = 4;
map<string, apb.api.data.DiffData> diffUserData = 99;
}

View File

@@ -0,0 +1,35 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.CageOrnament";
import "proto/data.proto";
package apb.api.cageornament;
service CageornamentService {
rpc ReceiveReward (ReceiveRewardRequest) returns (ReceiveRewardResponse);
rpc RecordAccess (RecordAccessRequest) returns (RecordAccessResponse);
}
message ReceiveRewardRequest {
int32 cageOrnamentId = 1;
}
message ReceiveRewardResponse {
repeated CageOrnamentReward cageOrnamentReward = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message CageOrnamentReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message RecordAccessRequest {
int32 cageOrnamentId = 1;
}
message RecordAccessResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

20
src/proto/character.proto Normal file
View File

@@ -0,0 +1,20 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Character";
import "proto/data.proto";
package apb.api.character;
service CharacterService {
rpc Rebirth (RebirthRequest) returns (RebirthResponse);
}
message RebirthRequest {
int32 characterId = 1;
int32 rebirthCount = 2;
}
message RebirthResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

View File

@@ -0,0 +1,19 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.CharacterBoard";
import "proto/data.proto";
package apb.api.characterboard;
service CharacterboardService {
rpc ReleasePanel (ReleasePanelRequest) returns (ReleasePanelResponse);
}
message ReleasePanelRequest {
repeated int32 characterBoardPanelId = 1;
}
message ReleasePanelResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

View File

@@ -0,0 +1,17 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.CharacterViewer";
import "google/protobuf/empty.proto";
import "proto/data.proto";
package apb.api.characterviewer;
service CharacterviewerService {
rpc CharacterViewerTop (google.protobuf.Empty) returns (CharacterViewerTopResponse);
}
message CharacterViewerTopResponse {
repeated int32 releaseCharacterViewerFieldId = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}

20
src/proto/companion.proto Normal file
View File

@@ -0,0 +1,20 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Companion";
import "proto/data.proto";
package apb.api.companion;
service CompanionService {
rpc Enhance (EnhanceRequest) returns (EnhanceResponse);
}
message EnhanceRequest {
string userCompanionUuid = 1;
int32 addLevelCount = 2;
}
message EnhanceResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

41
src/proto/config.proto Normal file
View File

@@ -0,0 +1,41 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Config";
import "google/protobuf/empty.proto";
import "proto/data.proto";
package apb.api.config;
service ConfigService {
rpc GetReviewServerConfig (google.protobuf.Empty) returns (GetReviewServerConfigResponse);
}
message GetReviewServerConfigResponse {
ApiConfig api = 1;
OctoConfig octo = 2;
WebViewConfig webView = 3;
MasterDataConfig masterData = 4;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ApiConfig {
string hostname = 1;
int32 port = 2;
}
message OctoConfig {
int32 version = 1;
int32 appId = 2;
string clientSecretKey = 3;
string aesKey = 4;
string url = 5;
}
message WebViewConfig {
string baseUrl = 1;
}
message MasterDataConfig {
string urlFormat = 1;
}

View File

@@ -0,0 +1,34 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.ConsumableItem";
import "proto/data.proto";
package apb.api.consumableitem;
service ConsumableitemService {
rpc UseEffectItem (UseEffectItemRequest) returns (UseEffectItemResponse);
rpc Sell (SellRequest) returns (SellResponse);
}
message UseEffectItemRequest {
int32 consumableItemId = 1;
int32 count = 2;
}
message UseEffectItemResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SellRequest {
repeated SellPossession consumableItemPossession = 1;
}
message SellPossession {
int32 consumableItemId = 1;
int32 count = 2;
}
message SellResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

View File

@@ -0,0 +1,19 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.ContentsStory";
import "proto/data.proto";
package apb.api.contentsstory;
service ContentsstoryService {
rpc RegisterPlayed (RegisterPlayedRequest) returns (RegisterPlayedResponse);
}
message RegisterPlayedRequest {
int32 contentsStoryId = 1;
}
message RegisterPlayedResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

92
src/proto/costume.proto Normal file
View File

@@ -0,0 +1,92 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Costume";
import "proto/data.proto";
package apb.api.costume;
service CostumeService {
rpc Enhance (EnhanceRequest) returns (EnhanceResponse);
rpc LimitBreak (LimitBreakRequest) returns (LimitBreakResponse);
rpc Awaken (AwakenRequest) returns (AwakenResponse);
rpc EnhanceActiveSkill (EnhanceActiveSkillRequest) returns (EnhanceActiveSkillResponse);
rpc RegisterLevelBonusConfirmed (RegisterLevelBonusConfirmedRequest) returns (RegisterLevelBonusConfirmedResponse);
rpc UnlockLotteryEffectSlot (UnlockLotteryEffectSlotRequest) returns (UnlockLotteryEffectSlotResponse);
rpc DrawLotteryEffect (DrawLotteryEffectRequest) returns (DrawLotteryEffectResponse);
rpc ConfirmLotteryEffect (ConfirmLotteryEffectRequest) returns (ConfirmLotteryEffectResponse);
}
message EnhanceRequest {
string userCostumeUuid = 1;
map<int32, int32> materials = 2;
}
message EnhanceResponse {
bool isGreatSuccess = 1;
map<int32, int32> surplusEnhanceMaterial = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message LimitBreakRequest {
string userCostumeUuid = 1;
map<int32, int32> materials = 2;
}
message LimitBreakResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message AwakenRequest {
string userCostumeUuid = 1;
map<int32, int32> materials = 2;
}
message AwakenResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message EnhanceActiveSkillRequest {
string userCostumeUuid = 1;
int32 addLevelCount = 2;
}
message EnhanceActiveSkillResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RegisterLevelBonusConfirmedRequest {
int32 costumeId = 1;
int32 level = 2;
}
message RegisterLevelBonusConfirmedResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UnlockLotteryEffectSlotRequest {
string userCostumeUuid = 1;
int32 slotNumber = 2;
}
message UnlockLotteryEffectSlotResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message DrawLotteryEffectRequest {
string userCostumeUuid = 1;
int32 slotNumber = 2;
}
message DrawLotteryEffectResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ConfirmLotteryEffectRequest {
string userCostumeUuid = 1;
bool isAccept = 2;
}
message ConfirmLotteryEffectResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

38
src/proto/data.proto Normal file
View File

@@ -0,0 +1,38 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Data";
import "google/protobuf/empty.proto";
package apb.api.data;
service DataService {
rpc GetLatestMasterDataVersion (google.protobuf.Empty) returns (MasterDataGetLatestVersionResponse);
rpc GetUserDataNameV2 (google.protobuf.Empty) returns (UserDataGetNameResponseV2);
rpc GetUserData (UserDataGetRequest) returns (UserDataGetResponse);
}
message DiffData {
string updateRecordsJson = 1;
string deleteKeysJson = 2;
}
message MasterDataGetLatestVersionResponse {
string latestMasterDataVersion = 1;
}
message UserDataGetNameResponseV2 {
repeated TableNameList tableNameList = 1;
}
message TableNameList {
repeated string tableName = 1;
}
message UserDataGetRequest {
repeated string tableName = 1;
}
message UserDataGetResponse {
map<string, string> userDataJson = 1;
}

158
src/proto/deck.proto Normal file
View File

@@ -0,0 +1,158 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Deck";
import "proto/data.proto";
package apb.api.deck;
service DeckService {
rpc UpdateName (UpdateNameRequest) returns (UpdateNameResponse);
rpc ReplaceDeck (ReplaceDeckRequest) returns (ReplaceDeckResponse);
rpc SetPvpDefenseDeck (SetPvpDefenseDeckRequest) returns (SetPvpDefenseDeckResponse);
rpc CopyDeck (CopyDeckRequest) returns (CopyDeckResponse);
rpc RemoveDeck (RemoveDeckRequest) returns (RemoveDeckResponse);
rpc RefreshDeckPower (RefreshDeckPowerRequest) returns (RefreshDeckPowerResponse);
rpc UpdateTripleDeckName (UpdateTripleDeckNameRequest) returns (UpdateTripleDeckNameResponse);
rpc ReplaceTripleDeck (ReplaceTripleDeckRequest) returns (ReplaceTripleDeckResponse);
rpc ReplaceMultiDeck (ReplaceMultiDeckRequest) returns (ReplaceMultiDeckResponse);
rpc RefreshMultiDeckPower (RefreshMultiDeckPowerRequest) returns (RefreshMultiDeckPowerResponse);
}
message Deck {
DeckCharacter character01 = 1;
DeckCharacter character02 = 2;
DeckCharacter character03 = 3;
}
message DeckCharacter {
string userCostumeUuid = 1;
string mainUserWeaponUuid = 2;
repeated string subUserWeaponUuid = 3;
string userCompanionUuid = 4;
repeated string userPartsUuid = 5;
int32 dressupCostumeId = 6;
string userThoughtUuid = 7;
}
message UpdateNameRequest {
int32 deckType = 1;
int32 userDeckNumber = 2;
string name = 3;
}
message UpdateNameResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReplaceDeckRequest {
int32 deckType = 1;
int32 userDeckNumber = 2;
Deck deck = 3;
}
message ReplaceDeckResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetPvpDefenseDeckRequest {
int32 userDeckNumber = 1;
DeckPower deckPower = 2;
}
message DeckPower {
int32 power = 1;
DeckCharacterPower deckCharacterPower01 = 2;
DeckCharacterPower deckCharacterPower02 = 3;
DeckCharacterPower deckCharacterPower03 = 4;
}
message DeckCharacterPower {
string userDeckCharacterUuid = 1;
int32 power = 2;
}
message SetPvpDefenseDeckResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message CopyDeckRequest {
int32 fromDeckType = 1;
int32 fromUserDeckNumber = 2;
int32 toDeckType = 3;
int32 toUserDeckNumber = 4;
}
message CopyDeckResponse {
int32 resultType = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RemoveDeckRequest {
int32 deckType = 1;
int32 userDeckNumber = 2;
}
message RemoveDeckResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RefreshDeckPowerRequest {
int32 deckType = 1;
int32 userDeckNumber = 2;
DeckPower deckPower = 3;
}
message RefreshDeckPowerResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdateTripleDeckNameRequest {
int32 deckType = 1;
int32 userDeckNumber = 2;
string name = 3;
}
message UpdateTripleDeckNameResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReplaceTripleDeckRequest {
int32 deckType = 1;
int32 userDeckNumber = 2;
DeckDetail deckDetail01 = 3;
DeckDetail deckDetail02 = 4;
DeckDetail deckDetail03 = 5;
}
message DeckDetail {
int32 deckType = 1;
int32 userDeckNumber = 2;
Deck deck = 3;
}
message ReplaceTripleDeckResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReplaceMultiDeckRequest {
repeated DeckDetail deckDetail = 1;
}
message ReplaceMultiDeckResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RefreshMultiDeckPowerRequest {
repeated DeckPowerInfo deckPowerInfo = 1;
}
message DeckPowerInfo {
int32 deckType = 1;
int32 userDeckNumber = 2;
DeckPower deckPower = 3;
}
message RefreshMultiDeckPowerResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

19
src/proto/dokan.proto Normal file
View File

@@ -0,0 +1,19 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Dokan";
import "proto/data.proto";
package apb.api.dokan;
service DokanService {
rpc RegisterDokanConfirmed (RegisterDokanConfirmedRequest) returns (RegisterDokanConfirmedResponse);
}
message RegisterDokanConfirmedRequest {
repeated int32 dokanId = 1;
}
message RegisterDokanConfirmedResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

49
src/proto/explore.proto Normal file
View File

@@ -0,0 +1,49 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Explore";
import "proto/data.proto";
package apb.api.explore;
service ExploreService {
rpc StartExplore (StartExploreRequest) returns (StartExploreResponse);
rpc FinishExplore (FinishExploreRequest) returns (FinishExploreResponse);
rpc RetireExplore (RetireExploreRequest) returns (RetireExploreResponse);
}
message StartExploreRequest {
int32 exploreId = 1;
int32 useConsumableItemId = 2;
}
message StartExploreResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message FinishExploreRequest {
int32 exploreId = 1;
int32 score = 2;
string vt = 200;
}
message FinishExploreResponse {
int32 acquireStaminaCount = 1;
repeated ExploreReward exploreReward = 2;
int32 assetGradeIconId = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ExploreReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message RetireExploreRequest {
int32 exploreId = 1;
}
message RetireExploreResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

135
src/proto/friend.proto Normal file
View File

@@ -0,0 +1,135 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Friend";
import "google/protobuf/empty.proto";
import "proto/data.proto";
import "google/protobuf/timestamp.proto";
import "proto/mission.proto";
package apb.api.friend;
service FriendService {
rpc GetUser (GetUserRequest) returns (GetUserResponse);
rpc SearchRecommendedUsers (google.protobuf.Empty) returns (SearchRecommendedUsersResponse);
rpc GetFriendList (GetFriendListRequest) returns (GetFriendListResponse);
rpc GetFriendRequestList (google.protobuf.Empty) returns (GetFriendRequestListResponse);
rpc SendFriendRequest (SendFriendRequestRequest) returns (SendFriendRequestResponse);
rpc AcceptFriendRequest (AcceptFriendRequestRequest) returns (AcceptFriendRequestResponse);
rpc DeclineFriendRequest (DeclineFriendRequestRequest) returns (DeclineFriendRequestResponse);
rpc DeleteFriend (DeleteFriendRequest) returns (DeleteFriendResponse);
rpc CheerFriend (CheerFriendRequest) returns (CheerFriendResponse);
rpc BulkCheerFriend (google.protobuf.Empty) returns (BulkCheerFriendResponse);
rpc ReceiveCheer (ReceiveCheerRequest) returns (ReceiveCheerResponse);
rpc BulkReceiveCheer (google.protobuf.Empty) returns (BulkReceiveCheerResponse);
}
message GetUserRequest {
int64 playerId = 1;
}
message GetUserResponse {
User user = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message User {
int64 playerId = 1;
string userName = 2;
google.protobuf.Timestamp lastLoginDatetime = 3;
int32 maxDeckPower = 4;
int32 favoriteCostumeId = 5;
int32 level = 6;
}
message SearchRecommendedUsersResponse {
repeated User users = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetFriendListRequest {
apb.api.mission.CageMeasurableValues cageMeasurableValues = 50;
}
message GetFriendListResponse {
repeated FriendUser friendUser = 1;
int32 sendCheerCount = 2;
int32 receivedCheerCount = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message FriendUser {
int64 playerId = 1;
string userName = 2;
google.protobuf.Timestamp lastLoginDatetime = 3;
int32 maxDeckPower = 4;
int32 favoriteCostumeId = 5;
int32 level = 6;
bool cheerReceived = 7;
bool cheerSent = 8;
bool staminaReceived = 9;
}
message GetFriendRequestListResponse {
repeated User user = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SendFriendRequestRequest {
int64 playerId = 1;
}
message SendFriendRequestResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message AcceptFriendRequestRequest {
int64 playerId = 1;
}
message AcceptFriendRequestResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message DeclineFriendRequestRequest {
int64 playerIdOld = 1;
repeated int64 playerId = 2;
}
message DeclineFriendRequestResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message DeleteFriendRequest {
int64 playerId = 1;
}
message DeleteFriendResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message CheerFriendRequest {
int64 playerId = 1;
}
message CheerFriendResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message BulkCheerFriendResponse {
repeated int64 playerId = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveCheerRequest {
int64 playerId = 1;
}
message ReceiveCheerResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message BulkReceiveCheerResponse {
repeated int64 playerId = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}

174
src/proto/gacha.proto Normal file
View File

@@ -0,0 +1,174 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Gacha";
import "google/protobuf/empty.proto";
import "google/protobuf/timestamp.proto";
import "proto/data.proto";
package apb.api.gacha;
service GachaService {
rpc GetGachaList (GetGachaListRequest) returns (GetGachaListResponse);
rpc GetGacha (GetGachaRequest) returns (GetGachaResponse);
rpc Draw (DrawRequest) returns (DrawResponse);
rpc ResetBoxGacha (ResetBoxGachaRequest) returns (ResetBoxGachaResponse);
rpc GetRewardGacha (google.protobuf.Empty) returns (GetRewardGachaResponse);
rpc RewardDraw (RewardDrawRequest) returns (RewardDrawResponse);
}
message MenuGachaBadgeInfo {
google.protobuf.Timestamp displayStartDatetime = 1;
google.protobuf.Timestamp displayEndDatetime = 2;
}
message GetGachaListRequest {
repeated int32 gachaLabelType = 1;
}
message GetGachaListResponse {
repeated Gacha gacha = 1;
ConvertedGachaMedal convertedGachaMedal = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message Gacha {
int32 gachaId = 1;
int32 gachaLabelType = 2;
int32 gachaModeType = 4;
int32 gachaAutoResetType = 5;
int32 gachaAutoResetPeriod = 6;
google.protobuf.Timestamp nextAutoResetDatetime = 7;
repeated GachaUnlockCondition gachaUnlockCondition = 8;
bool isUserGachaUnlock = 9;
google.protobuf.Timestamp startDatetime = 10;
google.protobuf.Timestamp endDatetime = 13;
repeated GachaPricePhase gachaPricePhase = 14;
int32 relatedMainQuestChapterId = 16;
int32 relatedEventQuestChapterId = 17;
int32 promotionMovieAssetId = 18;
int32 gachaMedalId = 19;
int32 gachaDecorationType = 20;
int32 sortOrder = 21;
bool isInactive = 22;
int32 informationId = 23;
bytes gachaMode = 24;
}
message GachaUnlockCondition {
int32 gachaUnlockConditionType = 1;
int32 conditionValue = 2;
}
message GachaPricePhase {
int32 gachaPricePhaseId = 1;
bool isEnabled = 2;
google.protobuf.Timestamp endDatetime = 3;
int32 limitExecCount = 4;
int32 userExecCount = 5;
int32 gachaBadgeType = 6;
int32 priceType = 7;
int32 priceId = 8;
int32 price = 9;
int32 regularPrice = 10;
int32 drawCount = 11;
int32 eachMaxExecCount = 12;
repeated GachaBonus gachaBonus = 13;
GachaOddsFixedRarity gachaOddsFixedRarity = 14;
}
message GachaBonus {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message GachaOddsFixedRarity {
int32 fixedRarityTypeLowerLimit = 1;
int32 fixedCount = 2;
}
message ConvertedGachaMedal {
repeated ConsumableItemPossession convertedMedalPossession = 1;
ConsumableItemPossession obtainPossession = 2;
}
message ConsumableItemPossession {
int32 consumableItemId = 1;
int32 count = 2;
}
message GetGachaRequest {
repeated int32 gachaId = 1;
}
message GetGachaResponse {
map<int32, Gacha> gacha = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message DrawRequest {
int32 gachaId = 1;
int32 gachaPricePhaseId = 2;
int32 execCount = 3;
string consumeUserWeaponUuid = 4;
}
message DrawResponse {
Gacha nextGacha = 1;
repeated DrawGachaOddsItem gachaResult = 2;
repeated GachaBonus gachaBonus = 3;
repeated MenuGachaBadgeInfo menuGachaBadgeInfo = 4;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message DrawGachaOddsItem {
GachaItem gachaItem = 1;
GachaItem gachaItemBonus = 2;
int32 duplicationBonusGrade = 3;
repeated GachaBonus duplicationBonus = 4;
GachaBonus medalBonus = 5;
bool isTarget = 6;
}
message GachaItem {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
int32 promotionOrder = 4;
bool isNew = 5;
}
message ResetBoxGachaRequest {
int32 gachaId = 1;
}
message ResetBoxGachaResponse {
Gacha gacha = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetRewardGachaResponse {
bool available = 1;
int32 todaysCurrentDrawCount = 2;
int32 dailyMaxCount = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RewardDrawRequest {
string placementName = 1;
string rewardName = 2;
string rewardAmount = 3;
}
message RewardDrawResponse {
repeated RewardGachaItem rewardGachaResult = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RewardGachaItem {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
bool isNew = 4;
}

24
src/proto/gameplay.proto Normal file
View File

@@ -0,0 +1,24 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.GamePlay";
import "proto/gacha.proto";
import "proto/data.proto";
package apb.api.gameplay;
service GameplayService {
rpc CheckBeforeGamePlay (CheckBeforeGamePlayRequest) returns (CheckBeforeGamePlayResponse);
}
message CheckBeforeGamePlayRequest {
string tr = 1;
int32 voiceClientSystemLanguageTypeId = 2;
int32 textClientSystemLanguageTypeId = 3;
}
message CheckBeforeGamePlayResponse {
bool isExistUnreadPop = 1;
repeated apb.api.gacha.MenuGachaBadgeInfo menuGachaBadgeInfo = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}

68
src/proto/gift.proto Normal file
View File

@@ -0,0 +1,68 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Gift";
import "google/protobuf/empty.proto";
import "proto/data.proto";
import "google/protobuf/timestamp.proto";
package apb.api.gift;
service GiftService {
rpc ReceiveGift (ReceiveGiftRequest) returns (ReceiveGiftResponse);
rpc GetGiftList (GetGiftListRequest) returns (GetGiftListResponse);
rpc GetGiftReceiveHistoryList (google.protobuf.Empty) returns (GetGiftReceiveHistoryListResponse);
}
message ReceiveGiftRequest {
repeated string userGiftUuid = 1;
}
message ReceiveGiftResponse {
repeated string receivedGiftUuid = 1;
repeated string expiredGiftUuid = 2;
repeated string overflowGiftUuid = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetGiftListRequest {
repeated int32 rewardKindType = 1;
int32 expirationType = 2;
bool isAscendingSort = 3;
int64 nextCursor = 4;
int64 previousCursor = 5;
int32 getCount = 6;
}
message GetGiftListResponse {
repeated NotReceivedGift gift = 1;
int32 totalPageCount = 2;
int64 nextCursor = 3;
int64 previousCursor = 4;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message NotReceivedGift {
GiftCommon giftCommon = 1;
google.protobuf.Timestamp expirationDatetime = 2;
string userGiftUuid = 3;
}
message GiftCommon {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
google.protobuf.Timestamp grantDatetime = 4;
int32 descriptionGiftTextId = 5;
bytes equipmentData = 6;
}
message GetGiftReceiveHistoryListResponse {
repeated ReceivedGift gift = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceivedGift {
GiftCommon giftCommon = 1;
google.protobuf.Timestamp receivedDatetime = 2;
}

64
src/proto/gimmick.proto Normal file
View File

@@ -0,0 +1,64 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Gimmick";
import "google/protobuf/empty.proto";
import "proto/data.proto";
package apb.api.gimmick;
service GimmickService {
rpc UpdateSequence (UpdateSequenceRequest) returns (UpdateSequenceResponse);
rpc UpdateGimmickProgress (UpdateGimmickProgressRequest) returns (UpdateGimmickProgressResponse);
rpc InitSequenceSchedule (google.protobuf.Empty) returns (InitSequenceScheduleResponse);
rpc Unlock (UnlockRequest) returns (UnlockResponse);
}
message UpdateSequenceRequest {
int32 gimmickSequenceScheduleId = 1;
int32 gimmickSequenceId = 2;
}
message UpdateSequenceResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdateGimmickProgressRequest {
int32 gimmickSequenceScheduleId = 1;
int32 gimmickSequenceId = 2;
int32 gimmickId = 3;
int32 gimmickOrnamentIndex = 4;
int32 progressValueBit = 5;
int32 flowType = 6;
}
message UpdateGimmickProgressResponse {
repeated GimmickReward gimmickOrnamentReward = 1;
bool isSequenceCleared = 2;
repeated GimmickReward gimmickSequenceClearReward = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GimmickReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message InitSequenceScheduleResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UnlockRequest {
repeated GimmickKey gimmickKey = 1;
}
message GimmickKey {
int32 gimmickSequenceScheduleId = 1;
int32 gimmickSequenceId = 2;
int32 gimmickId = 3;
}
message UnlockResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

21
src/proto/greet.proto Normal file
View File

@@ -0,0 +1,21 @@
syntax = "proto3";
option csharp_namespace = "MariesWonderland";
package greet;
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply);
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings.
message HelloReply {
string message = 1;
}

View File

@@ -0,0 +1,17 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.IndividualPop";
import "google/protobuf/empty.proto";
import "proto/data.proto";
package apb.api.individualpop;
service IndividualpopService {
rpc GetUnreadPop (google.protobuf.Empty) returns (GetUnreadPopResponse);
}
message GetUnreadPopResponse {
repeated string unreadPop = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}

54
src/proto/labyrinth.proto Normal file
View File

@@ -0,0 +1,54 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Labyrinth";
import "proto/data.proto";
package apb.api.labyrinth;
service LabyrinthService {
rpc UpdateSeasonData (UpdateSeasonDataRequest) returns (UpdateSeasonDataResponse);
rpc ReceiveStageClearReward (ReceiveStageClearRewardRequest) returns (ReceiveStageClearRewardResponse);
rpc ReceiveStageAccumulationReward (ReceiveStageAccumulationRewardRequest) returns (ReceiveStageAccumulationRewardResponse);
}
message LabyrinthSeasonResult {
int32 eventQuestChapterId = 1;
int32 headQuestId = 2;
repeated LabyrinthReward seasonReward = 3;
int32 headStageOrder = 4;
}
message LabyrinthReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message UpdateSeasonDataRequest {
int32 eventQuestChapterId = 1;
}
message UpdateSeasonDataResponse {
repeated LabyrinthSeasonResult seasonResult = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveStageClearRewardRequest {
int32 eventQuestChapterId = 1;
int32 stageOrder = 2;
}
message ReceiveStageClearRewardResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveStageAccumulationRewardRequest {
int32 eventQuestChapterId = 1;
int32 stageOrder = 2;
int32 questMissionClearCount = 3;
}
message ReceiveStageAccumulationRewardResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

View File

@@ -0,0 +1,16 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.LoginBonus";
import "google/protobuf/empty.proto";
import "proto/data.proto";
package apb.api.loginbonus;
service LoginbonusService {
rpc ReceiveStamp (google.protobuf.Empty) returns (ReceiveStampResponse);
}
message ReceiveStampResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

24
src/proto/material.proto Normal file
View File

@@ -0,0 +1,24 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Material";
import "proto/data.proto";
package apb.api.material;
service MaterialService {
rpc Sell (SellRequest) returns (SellResponse);
}
message SellRequest {
repeated SellPossession materialPossession = 1;
}
message SellPossession {
int32 materialId = 1;
int32 count = 2;
}
message SellResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

70
src/proto/mission.proto Normal file
View File

@@ -0,0 +1,70 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Mission";
import "proto/data.proto";
package apb.api.mission;
service MissionService {
rpc ReceiveMissionRewardsById (ReceiveMissionRewardsByIdRequest) returns (ReceiveMissionRewardsResponse);
rpc UpdateMissionProgress (UpdateMissionProgressRequest) returns (UpdateMissionProgressResponse);
rpc ReceiveMissionPassRewards (ReceiveMissionPassRewardsRequest) returns (ReceiveMissionPassRewardsResponse);
}
message CageMeasurableValues {
int32 runningDistanceMeters = 1;
int32 mamaTappedCount = 2;
}
message ReceiveMissionRewardsByIdRequest {
repeated int32 missionId = 1;
}
message ReceiveMissionRewardsResponse {
repeated MissionReward receivedPossession = 1;
repeated MissionReward expiredPossession = 2;
repeated MissionReward overflowPossession = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message MissionReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message UpdateMissionProgressRequest {
CageMeasurableValues cageMeasurableValues = 50;
PictureBookMeasurableValues pictureBookMeasurableValues = 51;
}
message PictureBookMeasurableValues {
int32 defeatWizardCount = 1;
RhythmInteractionMeasurableValues rhythmInteractionMeasurableValues = 2;
}
message RhythmInteractionMeasurableValues {
int32 liveTypeId = 1;
int32 tapCount = 2;
}
message UpdateMissionProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveMissionPassRewardsRequest {
int32 missionPassId = 1;
}
message ReceiveMissionPassRewardsResponse {
repeated MissionPassReward receivedPossession = 1;
repeated MissionPassReward overflowPossession = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message MissionPassReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}

19
src/proto/movie.proto Normal file
View File

@@ -0,0 +1,19 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Movie";
import "proto/data.proto";
package apb.api.movie;
service MovieService {
rpc SaveViewedMovie (SaveViewedMovieRequest) returns (SaveViewedMovieResponse);
}
message SaveViewedMovieRequest {
repeated int32 movieId = 1;
}
message SaveViewedMovieResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

19
src/proto/navicutin.proto Normal file
View File

@@ -0,0 +1,19 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.NaviCutIn";
import "proto/data.proto";
package apb.api.navicutin;
service NavicutinService {
rpc RegisterPlayed (RegisterPlayedRequest) returns (RegisterPlayedResponse);
}
message RegisterPlayedRequest {
int32 naviCutId = 1;
}
message RegisterPlayedResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

View File

@@ -0,0 +1,19 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Notification";
import "google/protobuf/empty.proto";
import "proto/data.proto";
package apb.api.notification;
service NotificationService {
rpc GetHeaderNotification (google.protobuf.Empty) returns (GetHeaderNotificationResponse);
}
message GetHeaderNotificationResponse {
int32 giftNotReceiveCount = 1;
int32 friendRequestReceiveCount = 2;
bool isExistUnreadInformation = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}

27
src/proto/omikuji.proto Normal file
View File

@@ -0,0 +1,27 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Omikuji";
import "proto/data.proto";
package apb.api.omikuji;
service OmikujiService {
rpc OmikujiDraw (OmikujiDrawRequest) returns (OmikujiDrawResponse);
}
message OmikujiDrawRequest {
int32 omikujiId = 1;
}
message OmikujiDrawResponse {
int32 omikujiResultAssetId = 1;
repeated OmikujiItem omikujiItem = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message OmikujiItem {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}

108
src/proto/parts.proto Normal file
View File

@@ -0,0 +1,108 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Parts";
import "proto/data.proto";
package apb.api.parts;
service PartsService {
rpc Sell (SellRequest) returns (SellResponse);
rpc Protect (ProtectRequest) returns (ProtectResponse);
rpc Unprotect (UnprotectRequest) returns (UnprotectResponse);
rpc Enhance (EnhanceRequest) returns (EnhanceResponse);
rpc UpdatePresetName (UpdatePresetNameRequest) returns (UpdatePresetNameResponse);
rpc UpdatePresetTagNumber (UpdatePresetTagNumberRequest) returns (UpdatePresetTagNumberResponse);
rpc UpdatePresetTagName (UpdatePresetTagNameRequest) returns (UpdatePresetTagNameResponse);
rpc ReplacePreset (ReplacePresetRequest) returns (ReplacePresetResponse);
rpc CopyPreset (CopyPresetRequest) returns (CopyPresetResponse);
rpc RemovePreset (RemovePresetRequest) returns (RemovePresetResponse);
}
message SellRequest {
repeated string userPartsUuid = 1;
}
message SellResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ProtectRequest {
repeated string userPartsUuid = 1;
}
message ProtectResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UnprotectRequest {
repeated string userPartsUuid = 1;
}
message UnprotectResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message EnhanceRequest {
string userPartsUuid = 1;
}
message EnhanceResponse {
bool isSuccess = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdatePresetNameRequest {
int32 userPartsPresetNumber = 1;
string name = 2;
}
message UpdatePresetNameResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdatePresetTagNumberRequest {
int32 userPartsPresetNumber = 1;
int32 userPartsPresetTagNumber = 2;
}
message UpdatePresetTagNumberResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdatePresetTagNameRequest {
int32 userPartsPresetTagNumber = 1;
string name = 2;
}
message UpdatePresetTagNameResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReplacePresetRequest {
int32 userPartsPresetNumber = 1;
string userPartsUuid01 = 2;
string userPartsUuid02 = 3;
string userPartsUuid03 = 4;
}
message ReplacePresetResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message CopyPresetRequest {
int32 fromUserPartsPresetNumber = 1;
int32 toUserPartsPresetNumber = 2;
}
message CopyPresetResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RemovePresetRequest {
int32 userPartsPresetNumber = 1;
}
message RemovePresetResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

View File

@@ -0,0 +1,32 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.PortalCage";
import "google/protobuf/empty.proto";
import "proto/data.proto";
package apb.api.portalcage;
service PortalcageService {
rpc UpdatePortalCageSceneProgress (UpdatePortalCageSceneProgressRequest) returns (UpdatePortalCageSceneProgressResponse);
rpc GetDropItem (google.protobuf.Empty) returns (GetDropItemResponse);
}
message UpdatePortalCageSceneProgressRequest {
int32 portalCageSceneId = 1;
}
message UpdatePortalCageSceneProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetDropItemResponse {
repeated PortalCageDropItem portalCageDropItem = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message PortalCageDropItem {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}

279
src/proto/pvp.proto Normal file
View File

@@ -0,0 +1,279 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Pvp";
import "google/protobuf/empty.proto";
import "proto/data.proto";
import "google/protobuf/timestamp.proto";
package apb.api.pvp;
service PvpService {
rpc GetTopData (google.protobuf.Empty) returns (GetTopDataResponse);
rpc GetMatchingList (google.protobuf.Empty) returns (GetMatchingListResponse);
rpc UpdateMatchingList (google.protobuf.Empty) returns (UpdateMatchingListResponse);
rpc StartBattle (StartBattleRequest) returns (StartBattleResponse);
rpc FinishBattle (FinishBattleRequest) returns (FinishBattleResponse);
rpc GetRanking (GetRankingRequest) returns (GetRankingResponse);
rpc GetSeasonResult (google.protobuf.Empty) returns (GetSeasonResultResponse);
rpc GetAttackLogList (google.protobuf.Empty) returns (GetAttackLogListResponse);
rpc GetDefenseLogList (google.protobuf.Empty) returns (GetDefenseLogListResponse);
}
message WeeklyGradeResult {
int32 targetSeasonId = 1;
int32 pvpPoint = 2;
int32 pvpGradeWeeklyRewardGroupId = 3;
}
message SeasonRankResult {
int32 targetSeasonId = 1;
int32 rank = 2;
int32 pvpSeasonRankRewardGroupId = 3;
}
message WeeklyRankResult {
int32 targetSeasonId = 1;
int32 rank = 2;
int32 pvpWeeklyRankRewardGroupId = 3;
}
message GetTopDataResponse {
int32 currentSeasonId = 1;
int32 pvpPoint = 2;
int32 rank = 3;
WeeklyGradeResult weeklyGradeResult = 4;
SeasonRankResult seasonRankResult = 5;
WeeklyRankResult weeklyRankResult = 6;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetMatchingListResponse {
repeated MatchingOpponent matching = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message MatchingOpponent {
int64 playerId = 1;
string name = 2;
int32 pvpPoint = 3;
int32 rank = 4;
int32 deckPower = 5;
repeated int32 deckMainWeaponAttributeType = 6;
int32 mostPowerfulCostumeId = 7;
}
message UpdateMatchingListResponse {
repeated MatchingOpponent matching = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message StartBattleRequest {
int64 opponentPlayerId = 1;
int32 useDeckNumber = 2;
}
message StartBattleResponse {
repeated DeckCharacter opponentDeckCharacter = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message DeckCharacter {
CostumeInfo costume = 1;
CompanionInfo companion = 2;
WeaponInfo mainWeapon = 3;
repeated WeaponInfo subWeapon = 4;
repeated PartsInfo parts = 5;
repeated CharacterBoardAbilityInfo characterBoardAbilities = 6;
repeated CharacterBoardStatusUpInfo characterBoardStatusUps = 7;
repeated CostumeLevelBonusStatusUpInfo costumeLevelBonusStatusUps = 8;
repeated AwakenAbilityInfo awakenAbilities = 9;
repeated AwakenStatusUpInfo awakenStatusUps = 10;
ThoughtInfo thought = 11;
repeated StainedGlassStatusUpInfo stainedGlassStatusUps = 12;
repeated CostumeLotteryEffectAbilityInfo costumeLotteryEffectAbilities = 13;
repeated CostumeLotteryEffectStatusUpInfo costumeLotteryEffectStatusUps = 14;
}
message CostumeInfo {
int32 costumeId = 1;
int32 limitBreakCount = 2;
int32 level = 3;
int32 activeSkillLevel = 4;
int32 characterLevel = 5;
int32 costumeLotteryEffectUnlockedSlotCount = 6;
}
message CompanionInfo {
int32 companionId = 1;
int32 level = 2;
}
message WeaponInfo {
int32 weaponId = 1;
int32 limitBreakCount = 2;
int32 level = 3;
repeated WeaponAbilityInfo weaponAbility = 4;
repeated WeaponSkillInfo weaponSkill = 5;
AwakenAbilityInfo weaponAwakenAbility = 6;
repeated AwakenStatusUpInfo weaponAwakenStatusUps = 7;
}
message WeaponAbilityInfo {
int32 abilityId = 1;
int32 level = 2;
}
message WeaponSkillInfo {
int32 skillId = 1;
int32 level = 2;
}
message AwakenAbilityInfo {
int32 abilityId = 1;
int32 level = 2;
}
message AwakenStatusUpInfo {
int32 statusCalculationType = 1;
int32 hp = 2;
int32 attack = 3;
int32 vitality = 4;
int32 agility = 5;
int32 criticalRatio = 6;
int32 criticalAttack = 7;
}
message PartsInfo {
int32 partsId = 1;
int32 level = 2;
int32 partsMainStatusId = 3;
repeated PartsSubStatusInfo subPartsStatus = 4;
}
message PartsSubStatusInfo {
int32 level = 1;
int32 statusKindType = 2;
int32 statusCalculationType = 3;
int32 statusChangeValue = 4;
}
message CharacterBoardAbilityInfo {
int32 abilityId = 1;
int32 level = 2;
}
message CharacterBoardStatusUpInfo {
int32 statusCalculationType = 1;
int32 hp = 2;
int32 attack = 3;
int32 vitality = 4;
int32 agility = 5;
int32 criticalRatio = 6;
int32 criticalAttack = 7;
}
message CostumeLevelBonusStatusUpInfo {
int32 statusCalculationType = 1;
int32 hp = 2;
int32 attack = 3;
int32 vitality = 4;
int32 agility = 5;
int32 criticalRatio = 6;
int32 criticalAttack = 7;
}
message ThoughtInfo {
int32 thoughtId = 1;
}
message StainedGlassStatusUpInfo {
int32 statusCalculationType = 1;
int32 hp = 2;
int32 attack = 3;
int32 vitality = 4;
int32 agility = 5;
int32 criticalRatio = 6;
int32 criticalAttack = 7;
}
message CostumeLotteryEffectAbilityInfo {
int32 abilityId = 1;
int32 level = 2;
}
message CostumeLotteryEffectStatusUpInfo {
int32 statusCalculationType = 1;
int32 hp = 2;
int32 attack = 3;
int32 vitality = 4;
int32 agility = 5;
int32 criticalRatio = 6;
int32 criticalAttack = 7;
}
message FinishBattleRequest {
int64 opponentPlayerId = 1;
bool isVictory = 2;
}
message FinishBattleResponse {
int32 beforePvpPoint = 1;
int32 beforeRank = 2;
int32 afterPvpPoint = 3;
int32 afterRank = 4;
int32 pvpGradeOneMatchRewardId = 5;
int32 pvpGradeGroupId = 6;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetRankingRequest {
int32 rankFrom = 1;
}
message GetRankingResponse {
repeated RankingUser rankingUser = 1;
int32 userCount = 2;
int32 rankingPosition = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RankingUser {
int32 rank = 1;
int64 playerId = 2;
string name = 3;
int32 pvpPoint = 4;
int32 deckPower = 5;
int32 favoriteCostumeId = 6;
}
message GetSeasonResultResponse {
int32 attackWinCount = 1;
int32 attackLoseCount = 2;
int32 attackPvpPoint = 3;
int32 defenseWinRatePermil = 4;
int32 defensePvpPoint = 5;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetAttackLogListResponse {
repeated BattleLog attackLog = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message BattleLog {
int64 playerId = 1;
string name = 2;
int32 pvpPoint = 3;
int32 deckPower = 4;
repeated int32 deckCostumeId = 5;
bool isVictory = 6;
google.protobuf.Timestamp battleDatetime = 7;
int32 fluctuatedPvpPoint = 8;
int32 rank = 9;
}
message GetDefenseLogListResponse {
repeated BattleLog defenseLog = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}

333
src/proto/quest.proto Normal file
View File

@@ -0,0 +1,333 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Quest";
import "google/protobuf/empty.proto";
import "proto/data.proto";
import "proto/mission.proto";
package apb.api.quest;
service QuestService {
rpc UpdateMainFlowSceneProgress (UpdateMainFlowSceneProgressRequest) returns (UpdateMainFlowSceneProgressResponse);
rpc UpdateReplayFlowSceneProgress (UpdateReplayFlowSceneProgressRequest) returns (UpdateReplayFlowSceneProgressResponse);
rpc UpdateMainQuestSceneProgress (UpdateMainQuestSceneProgressRequest) returns (UpdateMainQuestSceneProgressResponse);
rpc UpdateExtraQuestSceneProgress (UpdateExtraQuestSceneProgressRequest) returns (UpdateExtraQuestSceneProgressResponse);
rpc UpdateEventQuestSceneProgress (UpdateEventQuestSceneProgressRequest) returns (UpdateEventQuestSceneProgressResponse);
rpc StartMainQuest (StartMainQuestRequest) returns (StartMainQuestResponse);
rpc RestartMainQuest (RestartMainQuestRequest) returns (RestartMainQuestResponse);
rpc FinishMainQuest (FinishMainQuestRequest) returns (FinishMainQuestResponse);
rpc StartExtraQuest (StartExtraQuestRequest) returns (StartExtraQuestResponse);
rpc RestartExtraQuest (RestartExtraQuestRequest) returns (RestartExtraQuestResponse);
rpc FinishExtraQuest (FinishExtraQuestRequest) returns (FinishExtraQuestResponse);
rpc StartEventQuest (StartEventQuestRequest) returns (StartEventQuestResponse);
rpc RestartEventQuest (RestartEventQuestRequest) returns (RestartEventQuestResponse);
rpc FinishEventQuest (FinishEventQuestRequest) returns (FinishEventQuestResponse);
rpc FinishAutoOrbit (google.protobuf.Empty) returns (FinishAutoOrbitResponse);
rpc SetRoute (SetRouteRequest) returns (SetRouteResponse);
rpc SetQuestSceneChoice (SetQuestSceneChoiceRequest) returns (SetQuestSceneChoiceResponse);
rpc ReceiveTowerAccumulationReward (ReceiveTowerAccumulationRewardRequest) returns (ReceiveTowerAccumulationRewardResponse);
rpc SkipQuest (SkipQuestRequest) returns (SkipQuestResponse);
rpc SkipQuestBulk (SkipQuestBulkRequest) returns (SkipQuestBulkResponse);
rpc SetAutoSaleSetting (SetAutoSaleSettingRequest) returns (SetAutoSaleSettingResponse);
rpc StartGuerrillaFreeOpen (google.protobuf.Empty) returns (StartGuerrillaFreeOpenResponse);
rpc ResetLimitContentQuestProgress (ResetLimitContentQuestProgressRequest) returns (ResetLimitContentQuestProgressResponse);
rpc ReceiveDailyQuestGroupCompleteReward (google.protobuf.Empty) returns (ReceiveDailyQuestGroupCompleteRewardResponse);
}
message UpdateMainFlowSceneProgressRequest {
int32 questSceneId = 1;
}
message UpdateMainFlowSceneProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdateReplayFlowSceneProgressRequest {
int32 questSceneId = 1;
}
message UpdateReplayFlowSceneProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdateMainQuestSceneProgressRequest {
int32 questSceneId = 1;
}
message UpdateMainQuestSceneProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdateExtraQuestSceneProgressRequest {
int32 questSceneId = 1;
}
message UpdateExtraQuestSceneProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdateEventQuestSceneProgressRequest {
int32 questSceneId = 1;
}
message UpdateEventQuestSceneProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message StartMainQuestRequest {
int32 questId = 1;
bool isMainFlow = 2;
int32 userDeckNumber = 3;
bool isBattleOnly = 4;
int32 maxAutoOrbitCount = 5;
bool isReplayFlow = 6;
apb.api.mission.CageMeasurableValues cageMeasurableValues = 50;
}
message StartMainQuestResponse {
repeated BattleDropReward battleDropReward = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message BattleDropReward {
int32 questSceneId = 1;
int32 battleDropCategoryId = 2;
int32 battleDropEffectId = 3;
}
message RestartMainQuestRequest {
int32 questId = 1;
bool isMainFlow = 2;
}
message RestartMainQuestResponse {
repeated BattleDropReward battleDropReward = 1;
bytes battleBinary = 2;
int32 deckNumber = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message FinishMainQuestRequest {
int32 questId = 1;
bool isRetired = 2;
bool isMainFlow = 3;
bool isAnnihilated = 4;
bool isAutoOrbit = 5;
int32 storySkipType = 6;
bool isReplayFlow = 7;
string vt = 200;
}
message FinishMainQuestResponse {
repeated QuestReward dropReward = 1;
repeated QuestReward firstClearReward = 2;
repeated QuestReward missionClearReward = 3;
repeated QuestReward missionClearCompleteReward = 4;
repeated QuestReward autoOrbitResult = 5;
bool isBigWin = 6;
repeated int32 bigWinClearedQuestMissionIdList = 7;
repeated QuestReward replayFlowFirstClearReward = 8;
repeated QuestReward userStatusCampaignReward = 9;
QuestAutoOrbitResult autoOrbitReward = 10;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message QuestReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
int32 rewardEffectId = 4;
bool isAutoSale = 5;
bytes equipmentData = 6;
}
message QuestAutoOrbitResult {
repeated QuestReward dropReward = 1;
repeated QuestReward userStatusCampaignReward = 2;
}
message StartExtraQuestRequest {
int32 questId = 1;
int32 userDeckNumber = 2;
}
message StartExtraQuestResponse {
repeated BattleDropReward battleDropReward = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RestartExtraQuestRequest {
int32 questId = 1;
}
message RestartExtraQuestResponse {
repeated BattleDropReward battleDropReward = 1;
bytes battleBinary = 2;
int32 deckNumber = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message FinishExtraQuestRequest {
int32 questId = 1;
bool isRetired = 2;
bool isAnnihilated = 3;
int32 storySkipType = 4;
string vt = 200;
}
message FinishExtraQuestResponse {
repeated QuestReward dropReward = 1;
repeated QuestReward firstClearReward = 2;
repeated QuestReward missionClearReward = 3;
repeated QuestReward missionClearCompleteReward = 4;
bool isBigWin = 5;
repeated int32 bigWinClearedQuestMissionIdList = 6;
repeated QuestReward userStatusCampaignReward = 7;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message StartEventQuestRequest {
int32 eventQuestChapterId = 1;
int32 questId = 2;
int32 userDeckNumber = 3;
bool isBattleOnly = 4;
int32 maxAutoOrbitCount = 5;
}
message StartEventQuestResponse {
repeated BattleDropReward battleDropReward = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RestartEventQuestRequest {
int32 eventQuestChapterId = 1;
int32 questId = 2;
}
message RestartEventQuestResponse {
repeated BattleDropReward battleDropReward = 1;
bytes battleBinary = 2;
int32 deckNumber = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message FinishEventQuestRequest {
int32 eventQuestChapterId = 1;
int32 questId = 2;
bool isRetired = 3;
bool isAnnihilated = 4;
bool isAutoOrbit = 5;
int32 storySkipType = 6;
string vt = 200;
}
message FinishEventQuestResponse {
repeated QuestReward dropReward = 1;
repeated QuestReward firstClearReward = 2;
repeated QuestReward missionClearReward = 3;
repeated QuestReward missionClearCompleteReward = 4;
repeated QuestReward autoOrbitResult = 5;
bool isBigWin = 6;
repeated int32 bigWinClearedQuestMissionIdList = 7;
repeated QuestReward userStatusCampaignReward = 8;
QuestAutoOrbitResult autoOrbitReward = 9;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message FinishAutoOrbitResponse {
repeated QuestReward autoOrbitResult = 1;
QuestAutoOrbitResult autoOrbitReward = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetRouteRequest {
int32 mainQuestRouteId = 1;
}
message SetRouteResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetQuestSceneChoiceRequest {
int32 questSceneId = 1;
int32 choiceNumber = 2;
int32 questFlowType = 3;
}
message SetQuestSceneChoiceResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveTowerAccumulationRewardRequest {
int32 eventQuestChapterId = 1;
int32 targetMissionClearCount = 2;
}
message ReceiveTowerAccumulationRewardResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SkipQuestRequest {
int32 questId = 1;
int32 questType = 2;
int32 userDeckNumber = 3;
int32 skipCount = 4;
repeated UseEffectItem useEffectItem = 5;
int32 questChapterId = 6;
}
message UseEffectItem {
int32 consumableItemId = 1;
int32 count = 2;
}
message SkipQuestResponse {
repeated QuestReward dropReward = 1;
repeated QuestReward userStatusCampaignReward = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SkipQuestBulkRequest {
repeated SkipQuestInfo skipQuestInfo = 1;
int32 userDeckNumber = 2;
repeated UseEffectItem useEffectItem = 3;
}
message SkipQuestInfo {
int32 questId = 1;
int32 questType = 2;
int32 questChapterId = 3;
int32 skipCount = 4;
}
message SkipQuestBulkResponse {
repeated QuestReward dropReward = 1;
repeated QuestReward userStatusCampaignReward = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetAutoSaleSettingRequest {
map<int32, string> autoSaleSettingItem = 1;
}
message SetAutoSaleSettingResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message StartGuerrillaFreeOpenResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ResetLimitContentQuestProgressRequest {
int32 eventQuestChapterId = 1;
int32 questId = 2;
}
message ResetLimitContentQuestProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveDailyQuestGroupCompleteRewardResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

43
src/proto/reward.proto Normal file
View File

@@ -0,0 +1,43 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Reward";
import "google/protobuf/empty.proto";
import "proto/pvp.proto";
import "proto/data.proto";
import "proto/bighunt.proto";
import "proto/labyrinth.proto";
package apb.api.reward;
service RewardService {
rpc ReceivePvpReward (google.protobuf.Empty) returns (ReceivePvpRewardResponse);
rpc ReceiveBigHuntReward (google.protobuf.Empty) returns (ReceiveBigHuntRewardResponse);
rpc ReceiveLabyrinthSeasonReward (google.protobuf.Empty) returns (ReceiveLabyrinthSeasonRewardResponse);
rpc ReceiveMissionPassRemainingReward (google.protobuf.Empty) returns (ReceiveMissionPassRemainingRewardResponse);
}
message ReceivePvpRewardResponse {
apb.api.pvp.WeeklyGradeResult weeklyGradeResult = 1;
apb.api.pvp.SeasonRankResult seasonRankResult = 2;
apb.api.pvp.WeeklyRankResult weeklyRankResult = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveBigHuntRewardResponse {
repeated apb.api.bighunt.WeeklyScoreResult weeklyScoreResult = 1;
repeated apb.api.bighunt.BigHuntReward weeklyScoreReward = 2;
bool isReceivedWeeklyScoreReward = 3;
repeated apb.api.bighunt.BigHuntReward lastWeekWeeklyScoreReward = 4;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveLabyrinthSeasonRewardResponse {
repeated apb.api.labyrinth.LabyrinthSeasonResult seasonResult = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveMissionPassRemainingRewardResponse {
int32 rewardReceivedMissionPassId = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}

73
src/proto/shop.proto Normal file
View File

@@ -0,0 +1,73 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Shop";
import "google/protobuf/empty.proto";
import "proto/data.proto";
package apb.api.shop;
service ShopService {
rpc Buy (BuyRequest) returns (BuyResponse);
rpc RefreshUserData (RefreshRequest) returns (RefreshResponse);
rpc GetCesaLimit (google.protobuf.Empty) returns (GetCesaLimitResponse);
rpc CreatePurchaseTransaction (CreatePurchaseTransactionRequest) returns (CreatePurchaseTransactionResponse);
rpc PurchaseGooglePlayStoreProduct (PurchaseGooglePlayStoreProductRequest) returns (PurchaseGooglePlayStoreProductResponse);
}
message BuyRequest {
int32 shopId = 1;
map<int32, int32> shopItems = 2;
}
message BuyResponse {
repeated Possession overflowPossession = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message Possession {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message RefreshRequest {
bool isGemUsed = 1;
}
message RefreshResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetCesaLimitResponse {
repeated CesaLimit cesaLimit = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message CesaLimit {
int32 age = 1;
int32 limit = 2;
}
message CreatePurchaseTransactionRequest {
int32 shopId = 1;
int32 shopItemId = 2;
string productId = 3;
string amazonUserId = 4;
}
message CreatePurchaseTransactionResponse {
string purchaseTransactionId = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message PurchaseGooglePlayStoreProductRequest {
string purchaseTransactionId = 1;
string purchaseData = 2;
string dataSignature = 3;
}
message PurchaseGooglePlayStoreProductResponse {
repeated Possession overflowPossession = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}

View File

@@ -0,0 +1,29 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.SideStoryQuest";
import "proto/data.proto";
package apb.api.sidestoryquest;
service SidestoryquestService {
rpc MoveSideStoryQuestProgress (MoveSideStoryQuestRequest) returns (MoveSideStoryQuestResponse);
rpc UpdateSideStoryQuestSceneProgress (UpdateSideStoryQuestSceneProgressRequest) returns (UpdateSideStoryQuestSceneProgressResponse);
}
message MoveSideStoryQuestRequest {
int32 sideStoryQuestId = 1;
}
message MoveSideStoryQuestResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdateSideStoryQuestSceneProgressRequest {
int32 sideStoryQuestId = 1;
int32 sideStoryQuestSceneId = 2;
}
message UpdateSideStoryQuestSceneProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

42
src/proto/tutorial.proto Normal file
View File

@@ -0,0 +1,42 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Tutorial";
import "proto/data.proto";
import "proto/deck.proto";
package apb.api.tutorial;
service TutorialService {
rpc SetTutorialProgress (SetTutorialProgressRequest) returns (SetTutorialProgressResponse);
rpc SetTutorialProgressAndReplaceDeck (SetTutorialProgressAndReplaceDeckRequest) returns (SetTutorialProgressAndReplaceDeckResponse);
}
message SetTutorialProgressRequest {
int32 tutorialType = 1;
int32 progressPhase = 2;
int32 choiceId = 3;
}
message SetTutorialProgressResponse {
repeated TutorialChoiceReward tutorialChoiceReward = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message TutorialChoiceReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message SetTutorialProgressAndReplaceDeckRequest {
int32 tutorialType = 1;
int32 progressPhase = 2;
int32 deckType = 3;
int32 userDeckNumber = 4;
apb.api.deck.Deck deck = 5;
}
message SetTutorialProgressAndReplaceDeckResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}

262
src/proto/user.proto Normal file
View File

@@ -0,0 +1,262 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.User";
import "google/protobuf/empty.proto";
import "proto/data.proto";
import "google/protobuf/timestamp.proto";
package apb.api.user;
service UserService {
rpc RegisterUser (RegisterUserRequest) returns (RegisterUserResponse);
rpc TransferUser (TransferUserRequest) returns (TransferUserResponse);
rpc Auth (AuthUserRequest) returns (AuthUserResponse);
rpc GameStart (google.protobuf.Empty) returns (GameStartResponse);
rpc SetUserName (SetUserNameRequest) returns (SetUserNameResponse);
rpc SetUserMessage (SetUserMessageRequest) returns (SetUserMessageResponse);
rpc SetUserFavoriteCostumeId (SetUserFavoriteCostumeIdRequest) returns (SetUserFavoriteCostumeIdResponse);
rpc GetUserProfile (GetUserProfileRequest) returns (GetUserProfileResponse);
rpc SetBirthYearMonth (SetBirthYearMonthRequest) returns (SetBirthYearMonthResponse);
rpc GetBirthYearMonth (google.protobuf.Empty) returns (GetBirthYearMonthResponse);
rpc GetChargeMoney (google.protobuf.Empty) returns (GetChargeMoneyResponse);
rpc SetUserSetting (SetUserSettingRequest) returns (SetUserSettingResponse);
rpc GetAndroidArgs (GetAndroidArgsRequest) returns (GetAndroidArgsResponse);
rpc GetBackupToken (GetBackupTokenRequest) returns (GetBackupTokenResponse);
rpc CheckTransferSetting (google.protobuf.Empty) returns (CheckTransferSettingResponse);
rpc SetFacebookAccount (SetFacebookAccountRequest) returns (SetFacebookAccountResponse);
rpc UnsetFacebookAccount (google.protobuf.Empty) returns (UnsetFacebookAccountResponse);
rpc SetAppleAccount (SetAppleAccountRequest) returns (SetAppleAccountResponse);
rpc TransferUserByFacebook (TransferUserByFacebookRequest) returns (TransferUserByFacebookResponse);
rpc TransferUserByApple (TransferUserByAppleRequest) returns (TransferUserByAppleResponse);
rpc GetUserGamePlayNote (GetUserGamePlayNoteRequest) returns (GetUserGamePlayNoteResponse);
}
message RegisterUserRequest {
string uuid = 1;
string terminalId = 2;
string registerSignature = 3;
}
message RegisterUserResponse {
int64 userId = 1;
string signature = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message TransferUserRequest {
string uuid = 1;
}
message TransferUserResponse {
int64 userId = 1;
string signature = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message AuthUserRequest {
string uuid = 1;
string signature = 2;
string advertisingId = 3;
bool isTrackingEnabled = 4;
UserDeviceInherent deviceInherent = 5;
string tr = 6;
}
message UserDeviceInherent {
string identifierForVendor = 1;
string deviceToken = 2;
string macAddress = 3;
string registrationId = 4;
}
message AuthUserResponse {
string sessionKey = 1;
google.protobuf.Timestamp expireDatetime = 2;
string signature = 3;
int64 userId = 4;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GameStartResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetUserNameRequest {
string name = 1;
}
message SetUserNameResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetUserMessageRequest {
string message = 1;
}
message SetUserMessageResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetUserFavoriteCostumeIdRequest {
int32 favoriteCostumeId = 1;
}
message SetUserFavoriteCostumeIdResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetUserProfileRequest {
int64 playerId = 1;
}
message GetUserProfileResponse {
int32 level = 1;
string name = 2;
int32 favoriteCostumeId = 3;
string message = 4;
bool isFriend = 5;
ProfileDeck latestUsedDeck = 6;
ProfilePvpInfo pvpInfo = 7;
GamePlayHistory gamePlayHistory = 8;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ProfileDeck {
int32 power = 1;
repeated ProfileDeckCharacter deckCharacter = 2;
}
message ProfileDeckCharacter {
int32 costumeId = 1;
int32 mainWeaponId = 2;
int32 mainWeaponLevel = 3;
}
message ProfilePvpInfo {
int32 currentRank = 1;
int32 currentGradeId = 2;
int32 maxSeasonRank = 3;
}
message GamePlayHistory {
repeated PlayHistoryItem historyItem = 1;
repeated PlayHistoryCategoryGraphItem historyCategoryGraphItem = 2;
}
message PlayHistoryItem {
int32 historyItemId = 1;
int64 count = 2;
}
message PlayHistoryCategoryGraphItem {
int32 categoryTypeId = 1;
int32 progressPermil = 2;
}
message SetBirthYearMonthRequest {
int32 birthYear = 1;
int32 birthMonth = 2;
}
message SetBirthYearMonthResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetBirthYearMonthResponse {
int32 birthYear = 1;
int32 birthMonth = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetChargeMoneyResponse {
int64 chargeMoneyThisMonth = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetUserSettingRequest {
bool isNotifyPurchaseAlert = 1;
}
message SetUserSettingResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetAndroidArgsRequest {
string uuid = 1;
string signature = 2;
UserDeviceInherent deviceInherent = 3;
string packageName = 4;
}
message GetAndroidArgsResponse {
string nonce = 1;
string apiKey = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetBackupTokenRequest {
string uuid = 1;
}
message GetBackupTokenResponse {
string backupToken = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message CheckTransferSettingResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetFacebookAccountRequest {
string token = 1;
}
message SetFacebookAccountResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UnsetFacebookAccountResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetAppleAccountRequest {
string token = 1;
}
message SetAppleAccountResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message TransferUserByFacebookRequest {
string token = 1;
string uuid = 2;
string terminalId = 3;
}
message TransferUserByFacebookResponse {
int64 userId = 1;
string signature = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message TransferUserByAppleRequest {
string token = 1;
string uuid = 2;
string terminalId = 3;
}
message TransferUserByAppleResponse {
int64 userId = 1;
string signature = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetUserGamePlayNoteRequest {
int32 gamePlayHistoryTypeId = 1;
}
message GetUserGamePlayNoteResponse {
int32 progressValue = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}

121
src/proto/weapon.proto Normal file
View File

@@ -0,0 +1,121 @@
syntax = "proto3";
option csharp_namespace = "Art.Framework.ApiNetwork.Grpc.Api.Weapon";
import "proto/data.proto";
package apb.api.weapon;
service WeaponService {
rpc Sell (SellRequest) returns (SellResponse);
rpc Protect (ProtectRequest) returns (ProtectResponse);
rpc Unprotect (UnprotectRequest) returns (UnprotectResponse);
rpc EnhanceByWeapon (EnhanceByWeaponRequest) returns (EnhanceByWeaponResponse);
rpc EnhanceByMaterial (EnhanceByMaterialRequest) returns (EnhanceByMaterialResponse);
rpc EnhanceSkill (EnhanceSkillRequest) returns (EnhanceSkillResponse);
rpc EnhanceAbility (EnhanceAbilityRequest) returns (EnhanceAbilityResponse);
rpc LimitBreakByWeapon (LimitBreakByWeaponRequest) returns (LimitBreakByWeaponResponse);
rpc LimitBreakByMaterial (LimitBreakByMaterialRequest) returns (LimitBreakByMaterialResponse);
rpc Evolve (EvolveRequest) returns (EvolveResponse);
rpc Awaken (AwakenRequest) returns (AwakenResponse);
}
message SellRequest {
repeated string userWeaponUuid = 1;
}
message SellResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ProtectRequest {
repeated string userWeaponUuid = 1;
}
message ProtectResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UnprotectRequest {
repeated string userWeaponUuid = 1;
}
message UnprotectResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message EnhanceByWeaponRequest {
string userWeaponUuid = 1;
repeated string materialUserWeaponUuids = 2;
}
message EnhanceByWeaponResponse {
bool isGreatSuccess = 1;
repeated string surplusEnhanceWeapon = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message EnhanceByMaterialRequest {
string userWeaponUuid = 1;
map<int32, int32> materials = 2;
}
message EnhanceByMaterialResponse {
bool isGreatSuccess = 1;
map<int32, int32> surplusEnhanceMaterial = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message EnhanceSkillRequest {
string userWeaponUuid = 1;
int32 skillId = 2;
int32 addLevelCount = 3;
}
message EnhanceSkillResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message EnhanceAbilityRequest {
string userWeaponUuid = 1;
int32 abilityId = 2;
int32 addLevelCount = 3;
}
message EnhanceAbilityResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message LimitBreakByWeaponRequest {
string userWeaponUuid = 1;
repeated string materialUserWeaponUuids = 2;
}
message LimitBreakByWeaponResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message LimitBreakByMaterialRequest {
string userWeaponUuid = 1;
map<int32, int32> materials = 2;
}
message LimitBreakByMaterialResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message EvolveRequest {
string userWeaponUuid = 1;
}
message EvolveResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message AwakenRequest {
string userWeaponUuid = 1;
}
message AwakenResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}