seekers-dev/seekers-py

Update seekers.proto

Kiyotoko opened this issue · 0 comments

syntax = "proto3";

option java_multiple_files = true;
option optimize_for = SPEED;
option java_package = "org.seekers.grpc";
option java_outer_classname = "SeekersProto";
option objc_class_prefix = "API";

package world;

service Seekers {
  rpc Join(JoinRequest) returns (JoinReply);
  rpc Properties(PropertiesRequest) returns (PropertiesReply);
  rpc Status(StatusRequest) returns (StatusReply);
  rpc Command(CommandRequest) returns (CommandReply);
}

message JoinRequest {
  string name = 1;  // bot name
  string color = 2; // web color
}

message JoinReply {
  string token = 1;
  string id = 2;
  string version = 3;
}

message PropertiesRequest {

}

message PropertiesReply {
  map<string, string> entries = 1;
}

message StatusRequest {
  string token = 1;
}

message StatusReply {
  message Player {
    string id = 1;
    repeated string seeker_ids = 2;
    string camp_id = 3;
    string name = 4;
    string color = 5;
    int32 score  = 6;
  }
  
  message Camp {
    string id = 1;
    string player_id = 2;
    Vector position = 3;
    double width = 4;
    double height = 5;
  }

  message Physical {
    string id = 1;
    Vector acceleration = 2;
    Vector position = 3;
    Vector velocity = 4;
  }

  message Seeker {
    Physical super = 1;
    string player_id = 2;
    double magnet = 3;
    Vector target = 4;
    double disable_counter = 5;
  }

  message Goal {
    Physical super = 1;
    string camp_id = 2;
    double time_owned = 3;
  }

  repeated Player players = 1;
  repeated Camp camps = 2;
  repeated Seeker seekers = 3;
  repeated Goal goals = 4;
  
  double passed_playtime = 5;
}

message CommandRequest {
  string token = 1;
  string seeker_id = 2;
  Vector target = 3;
  double magnet = 4;
}

message CommandReply {
  
}

message Vector {
  double x = 1;
  double y = 2;
}