syntax = "proto3";
option go_package = ".;pb";
import "pvp/pvp_db.proto";
import "battle/battle_msg.proto";
import "errorcode.proto";



//战斗列表 请求
message PvpListReq {

}
//战斗列表 请求回应
message PvpListResp {
    repeated DBPvpBattle list = 1;
}

//战斗列表推送
message PvpIntoReq {
    string battleid = 1;        //战斗id
}

//战斗列表推送
message PvpIntoResp {
    ErrorCode code = 1;         //是否成功
    string battleid = 2;        //战斗id
    BattleStateInfo info=3;     //战斗状态数据
}

//Pvp 战斗准备推送
message PvpReadyPush {
    string servicePath = 1;     //战斗区服地址
    string battleid = 2;        //战斗id
    PvpUserInfo red = 3;        //红方用户信息
    PvpUserInfo blue = 4;       //蓝方用户信息
    int32 countdown = 5;        //布阵倒计时
}

//加载完毕请求
message PvpLoadCompleteReq {
    string battleid = 1;        //战斗id
}
//加载完毕请求
message PvpLoadCompleteResp {
    string battleid = 1;        //战斗id
    bool issucc = 2;
}
//加载完毕 通知
message PvpLoadCompleteNoticePush {
    string battleid = 1;        //战斗id
    int32 side = 2;
}


//Pvp 战斗准备推送
message PvpCancelPush {
    string servicePath = 1;     //战斗区服地址
    string battleid = 2;        //战斗id
}

message PvpActiveCancelReq {
    string battleid = 1;            //战斗id
}
message PvpActiveCancelResp {
    bool issucc = 1;
}

//布阵  请求
message PvpFormationReq {
    string battleid = 1;            //战斗id
    BattleFormation formation = 2;  //阵型
}

//布阵  请求 回应
message PvpFormationResp {
   bool issucc = 1;
}

//战斗开始推送
message PvpStartPush{
    ErrorCode code = 1; //是否成功
    BattleInfo info = 2;
}

//实时Pvp 指令推送
message PvpOutCmdPush {
    string battleid = 1;
    repeated BattleCmd cmd = 2;
}

//pvp 输入指令请求
message PvpInCmdReq {
    string battleid = 1;
    BattleCmd cmd =2;
}

//pvp  输入指令请求 回应
message PvpInCmdResp {
    ErrorCode code = 1; //是否成功
    string battleid = 2;
    BattleCmd cmd = 3;
}

//实时Pvp 战斗结束推送
message PvpFinishPush {
    string battleid = 1;
}

message RPC_PVPTrusteeshipReq {
    repeated string battleid = 1;
    string uid = 2;
}

message RPC_PVPTrusteeshipResp {
    
}