Initial Commit
This commit is contained in:
226
crates/dcs-grpc/protos/dcs/coalition/v0/coalition.proto
Normal file
226
crates/dcs-grpc/protos/dcs/coalition/v0/coalition.proto
Normal file
@@ -0,0 +1,226 @@
|
||||
syntax = "proto3";
|
||||
package dcs.coalition.v0;
|
||||
import "dcs/common/v0/common.proto";
|
||||
option csharp_namespace = "RurouniJones.Dcs.Grpc.V0.Coalition";
|
||||
option go_package = "github.com/DCS-gRPC/go-bindings/dcs/v0/coalition";
|
||||
|
||||
// https://wiki.hoggitworld.com/view/DCS_singleton_coalition
|
||||
service CoalitionService {
|
||||
// https://wiki.hoggitworld.com/view/DCS_func_addGroup
|
||||
rpc AddGroup(AddGroupRequest) returns (AddGroupResponse) {}
|
||||
|
||||
// https://wiki.hoggitworld.com/view/DCS_func_getStaticObjects
|
||||
rpc GetStaticObjects(GetStaticObjectsRequest)
|
||||
returns (GetStaticObjectsResponse) {}
|
||||
|
||||
// Focussed on statics (linked statics - see `AddLinkedStatic`)
|
||||
// https://wiki.hoggitworld.com/view/DCS_func_addStaticObject
|
||||
rpc AddStaticObject(AddStaticObjectRequest)
|
||||
returns (AddStaticObjectResponse) {}
|
||||
|
||||
// Focussed on properties relevant to linked static objects
|
||||
// https://wiki.hoggitworld.com/view/DCS_func_addStaticObject
|
||||
rpc AddLinkedStatic(AddLinkedStaticRequest)
|
||||
returns (AddLinkedStaticResponse) {}
|
||||
|
||||
// https://wiki.hoggitworld.com/view/DCS_func_getGroups
|
||||
rpc GetGroups(GetGroupsRequest) returns (GetGroupsResponse) {}
|
||||
|
||||
/*
|
||||
* Get the Bullseye for the coalition
|
||||
*
|
||||
* This position is set at mission start and does not change for the duration
|
||||
* of the mission.
|
||||
*
|
||||
* See https://wiki.hoggitworld.com/view/DCS_func_getMainRefPoint for more
|
||||
* details
|
||||
*/
|
||||
rpc GetBullseye(GetBullseyeRequest) returns (GetBullseyeResponse) {}
|
||||
|
||||
// https://wiki.hoggitworld.com/view/DCS_func_getPlayers
|
||||
rpc GetPlayerUnits(GetPlayerUnitsRequest) returns (GetPlayerUnitsResponse) {}
|
||||
}
|
||||
|
||||
message AddGroupRequest {
|
||||
// The coalition is determined by the provided Country
|
||||
// and the coalition setup of the mission
|
||||
dcs.common.v0.Country country = 2;
|
||||
dcs.common.v0.GroupCategory group_category = 3;
|
||||
oneof template {
|
||||
GroundGroupTemplate ground_template = 4;
|
||||
ShipGroupTemplate ship_template = 5;
|
||||
HelicopterGroupTemplate helicopter_template = 6;
|
||||
PlaneGroupTemplate plane_template = 7;
|
||||
}
|
||||
|
||||
message GroundGroupTemplate {
|
||||
optional uint32 group_id = 1;
|
||||
bool hidden = 2;
|
||||
bool late_activation = 3;
|
||||
string name = 4;
|
||||
dcs.common.v0.InputPosition position = 5;
|
||||
repeated Point waypoints = 6;
|
||||
uint32 start_time = 7;
|
||||
string task = 8;
|
||||
bool task_selected = 9;
|
||||
repeated Task tasks = 10;
|
||||
bool uncontrollable = 11;
|
||||
repeated GroundUnitTemplate units = 12;
|
||||
bool visible = 13;
|
||||
}
|
||||
message GroundUnitTemplate {
|
||||
string name = 1;
|
||||
string type = 2;
|
||||
dcs.common.v0.InputPosition position = 3;
|
||||
optional uint32 unit_id = 4;
|
||||
optional uint32 heading = 5;
|
||||
Skill skill = 6;
|
||||
}
|
||||
|
||||
message ShipGroupTemplate {
|
||||
}
|
||||
message ShipUnitTemplate {
|
||||
}
|
||||
|
||||
message HelicopterGroupTemplate {
|
||||
}
|
||||
message HelicopterUnitTemplate {
|
||||
}
|
||||
|
||||
message PlaneGroupTemplate {
|
||||
}
|
||||
message PlaneUnitTemplate {
|
||||
}
|
||||
|
||||
message Point {
|
||||
enum AltitudeType {
|
||||
ALTITUDE_TYPE_UNSPECIFIED = 0;
|
||||
ALTITUDE_TYPE_BAROMETRIC = 1;
|
||||
ALTITUDE_TYPE_RADIO = 2;
|
||||
}
|
||||
|
||||
enum PointType {
|
||||
// protolint:disable:next ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
|
||||
POINT_TYPE_RANDOM = 0;
|
||||
POINT_TYPE_TAKEOFF = 1;
|
||||
POINT_TYPE_TAKEOFF_PARKING = 2;
|
||||
POINT_TYPE_TURNING_POINT = 3;
|
||||
POINT_TYPE_TAKEOFF_PARKING_HOT = 4;
|
||||
POINT_TYPE_LAND = 5;
|
||||
}
|
||||
|
||||
dcs.common.v0.InputPosition position = 1;
|
||||
AltitudeType altitude_type = 2;
|
||||
PointType type = 3;
|
||||
string action = 4;
|
||||
string form = 5;
|
||||
double speed = 6;
|
||||
}
|
||||
|
||||
enum Skill {
|
||||
// protolint:disable:next ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
|
||||
SKILL_RANDOM = 0;
|
||||
SKILL_AVERAGE = 1;
|
||||
SKILL_GOOD = 2;
|
||||
SKILL_HIGH = 3;
|
||||
SKILL_EXCELLENT = 4;
|
||||
SKILL_PLAYER = 5;
|
||||
}
|
||||
|
||||
message Task {
|
||||
}
|
||||
}
|
||||
|
||||
message AddGroupResponse {
|
||||
dcs.common.v0.Group group = 1;
|
||||
}
|
||||
|
||||
message GetStaticObjectsRequest {
|
||||
// the coalition which the statics belong to
|
||||
dcs.common.v0.Coalition coalition = 1;
|
||||
}
|
||||
|
||||
message GetStaticObjectsResponse {
|
||||
// the list of statics
|
||||
repeated dcs.common.v0.Static statics = 1;
|
||||
}
|
||||
|
||||
message AddStaticObjectRequest {
|
||||
// the name of the static; must be unique or would destroy previous object
|
||||
string name = 1;
|
||||
// country the unit belongs to
|
||||
dcs.common.v0.Country country = 2;
|
||||
// type of the static object (e.g. "Farm A", "AS32-31A")
|
||||
string type = 3;
|
||||
// string name of the livery for the aircraft
|
||||
string livery = 4;
|
||||
// boolean for whether or not the object will appear as a wreck
|
||||
bool dead = 5;
|
||||
// number value for the "score" of the object when it is killed
|
||||
optional uint32 rate = 6;
|
||||
|
||||
double heading = 7;
|
||||
dcs.common.v0.InputPosition position = 8;
|
||||
// cargo mass in kilograms
|
||||
uint32 cargo_mass = 9;
|
||||
}
|
||||
|
||||
message AddStaticObjectResponse {
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
message AddLinkedStaticRequest {
|
||||
// the name of the static; must be unique or would destroy previous object
|
||||
string name = 1;
|
||||
// country the unit belongs to
|
||||
dcs.common.v0.Country country = 2;
|
||||
// type of the static object (e.g. "Farm A", "AS32-31A")
|
||||
string type = 3;
|
||||
// string name of the livery for the aircraft
|
||||
string livery = 4;
|
||||
// boolean for whether or not the object will appear as a wreck
|
||||
bool dead = 5;
|
||||
// number value for the "score" of the object when it is killed
|
||||
optional uint32 rate = 6;
|
||||
// the name of the unit to offset from
|
||||
string unit = 7;
|
||||
// the angle to relative to the linked unit, in a clockwise direction.
|
||||
// negative values are anti-clockwise
|
||||
double angle = 8;
|
||||
// x offset from linked unit center (positive is forward; negative is aft)
|
||||
double x = 9;
|
||||
// y offset from linked unit center (positive is starboard-side;
|
||||
// negative is port-side)
|
||||
double y = 10;
|
||||
}
|
||||
|
||||
message AddLinkedStaticResponse {
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
message GetGroupsRequest {
|
||||
dcs.common.v0.Coalition coalition = 1;
|
||||
dcs.common.v0.GroupCategory category = 2;
|
||||
}
|
||||
|
||||
message GetGroupsResponse {
|
||||
repeated dcs.common.v0.Group groups = 1;
|
||||
}
|
||||
|
||||
message GetBullseyeRequest {
|
||||
// A specific coalition must be used for this API call. Do not use
|
||||
// `COALITION_ALL`
|
||||
dcs.common.v0.Coalition coalition = 1;
|
||||
}
|
||||
|
||||
message GetBullseyeResponse {
|
||||
dcs.common.v0.Position position = 1;
|
||||
}
|
||||
|
||||
message GetPlayerUnitsRequest {
|
||||
dcs.common.v0.Coalition coalition = 1;
|
||||
}
|
||||
|
||||
message GetPlayerUnitsResponse {
|
||||
repeated dcs.common.v0.Unit units = 1;
|
||||
}
|
||||
Reference in New Issue
Block a user