dfhack/plugins/proto/DwarfControl.proto

54 lines
1.1 KiB
Protocol Buffer

syntax = "proto2";
package DwarfControl;
//Attempts to provide a complete framework for reading everything from a fortress needed for vizualization
option optimize_for = LITE_RUNTIME;
import "ui_sidebar_mode.proto";
2018-06-28 08:57:12 -06:00
import "RemoteFortressReader.proto";
enum BuildCategory
{
NotCategory = 0;
SiegeEngines = 1;
Traps = 2;
Workshops = 3;
Furnaces = 4;
Constructions = 5;
MachineComponents = 6;
Track = 7;
}
enum MenuAction
{
MenuNone = 0;
MenuSelect = 1;
MenuCancel = 2;
}
message SidebarState
{
optional proto.enums.ui_sidebar_mode.ui_sidebar_mode mode = 1;
2018-06-28 08:57:12 -06:00
repeated MenuItem menu_items = 2;
optional BuildSelector buildSelector = 3;
2018-06-28 08:57:12 -06:00
}
message MenuItem
{
optional RemoteFortressReader.BuildingType building_type = 1;
optional int32 existing_count = 2;
optional BuildCategory build_category = 3;
}
message SidebarCommand
{
optional proto.enums.ui_sidebar_mode.ui_sidebar_mode mode = 1;
optional int32 menu_index = 2;
optional MenuAction action = 3;
}
message BuildSelector
{
optional RemoteFortressReader.BuildingType building_type = 1;
}