syntax = "proto3";

option go_package = "git.hlsq.asia/mmorpg/service-common/proto/rs/grpc_pb";
import "rs_common.proto";

service Scene {
  rpc Enter(EnterReq) returns (EnterResp) {}
  rpc Leave(LeaveReq) returns (LeaveResp) {}
  rpc Action(stream ActionReq) returns (ActionResp) {}
}

message EnterReq {
  string USN = 1; // 用户ID
  string GatewaySID = 2; // 网关服务ID
  int32 InstanceID = 3; // 副本ID
}

message EnterResp {
  string SceneSID = 1; // 场景服务ID
  string UniqueNo = 2; // 副本唯一编号
  int32 MessageID = 3; // 发送给客户端的消息ID
  bytes Payload = 4; // 消息负载
}

message LeaveReq {
  string USN = 1; // 用户ID
  string UniqueNo = 2; // 副本唯一编号
}

message LeaveResp {
}

message ActionReq {
  string UniqueNo = 1; // 副本唯一编号
  string USN = 2; // 用户ID
  int32 Action = 3; // 指令ID
  sint32 DirX = 4; // 移动-X方向（×1000 缩放）
  sint32 DirY = 5; // 移动-Y方向（×1000 缩放）
  int32 SkillID = 6; // 攻击-技能ID
}

message ActionResp {
}