dfhack_proto/generated/messages/
DwarfControl.rs

1// This file is generated by rust-protobuf 3.4.0. Do not edit
2// .proto file is parsed by pure
3// @generated
4
5// https://github.com/rust-lang/rust-clippy/issues/702
6#![allow(unknown_lints)]
7#![allow(clippy::all)]
8
9#![allow(unused_attributes)]
10#![cfg_attr(rustfmt, rustfmt::skip)]
11
12#![allow(box_pointers)]
13#![allow(dead_code)]
14#![allow(missing_docs)]
15#![allow(non_camel_case_types)]
16#![allow(non_snake_case)]
17#![allow(non_upper_case_globals)]
18#![allow(trivial_casts)]
19#![allow(unused_results)]
20#![allow(unused_mut)]
21
22//! Generated file from `DwarfControl.proto`
23
24/// Generated files are compatible only with the same version
25/// of protobuf runtime.
26const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_4_0;
27
28// @@protoc_insertion_point(message:DwarfControl.SidebarState)
29#[derive(PartialEq,Clone,Default,Debug)]
30pub struct SidebarState {
31    // message fields
32    // @@protoc_insertion_point(field:DwarfControl.SidebarState.mode)
33    pub mode: ::std::option::Option<::protobuf::EnumOrUnknown<super::ui_sidebar_mode::Ui_sidebar_mode>>,
34    // @@protoc_insertion_point(field:DwarfControl.SidebarState.menu_items)
35    pub menu_items: ::std::vec::Vec<MenuItem>,
36    // @@protoc_insertion_point(field:DwarfControl.SidebarState.build_selector)
37    pub build_selector: ::protobuf::MessageField<BuildSelector>,
38    // special fields
39    // @@protoc_insertion_point(special_field:DwarfControl.SidebarState.special_fields)
40    pub special_fields: ::protobuf::SpecialFields,
41}
42
43impl<'a> ::std::default::Default for &'a SidebarState {
44    fn default() -> &'a SidebarState {
45        <SidebarState as ::protobuf::Message>::default_instance()
46    }
47}
48
49impl SidebarState {
50    pub fn new() -> SidebarState {
51        ::std::default::Default::default()
52    }
53
54    // optional .proto.enums.ui_sidebar_mode.ui_sidebar_mode mode = 1;
55
56    pub fn mode(&self) -> super::ui_sidebar_mode::Ui_sidebar_mode {
57        match self.mode {
58            Some(e) => e.enum_value_or(super::ui_sidebar_mode::Ui_sidebar_mode::Default),
59            None => super::ui_sidebar_mode::Ui_sidebar_mode::Default,
60        }
61    }
62
63    pub fn clear_mode(&mut self) {
64        self.mode = ::std::option::Option::None;
65    }
66
67    pub fn has_mode(&self) -> bool {
68        self.mode.is_some()
69    }
70
71    // Param is passed by value, moved
72    pub fn set_mode(&mut self, v: super::ui_sidebar_mode::Ui_sidebar_mode) {
73        self.mode = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v));
74    }
75
76    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
77        let mut fields = ::std::vec::Vec::with_capacity(3);
78        let mut oneofs = ::std::vec::Vec::with_capacity(0);
79        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
80            "mode",
81            |m: &SidebarState| { &m.mode },
82            |m: &mut SidebarState| { &mut m.mode },
83        ));
84        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
85            "menu_items",
86            |m: &SidebarState| { &m.menu_items },
87            |m: &mut SidebarState| { &mut m.menu_items },
88        ));
89        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, BuildSelector>(
90            "build_selector",
91            |m: &SidebarState| { &m.build_selector },
92            |m: &mut SidebarState| { &mut m.build_selector },
93        ));
94        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<SidebarState>(
95            "SidebarState",
96            fields,
97            oneofs,
98        )
99    }
100}
101
102impl ::protobuf::Message for SidebarState {
103    const NAME: &'static str = "SidebarState";
104
105    fn is_initialized(&self) -> bool {
106        for v in &self.menu_items {
107            if !v.is_initialized() {
108                return false;
109            }
110        };
111        for v in &self.build_selector {
112            if !v.is_initialized() {
113                return false;
114            }
115        };
116        true
117    }
118
119    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
120        while let Some(tag) = is.read_raw_tag_or_eof()? {
121            match tag {
122                8 => {
123                    self.mode = ::std::option::Option::Some(is.read_enum_or_unknown()?);
124                },
125                18 => {
126                    self.menu_items.push(is.read_message()?);
127                },
128                26 => {
129                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.build_selector)?;
130                },
131                tag => {
132                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
133                },
134            };
135        }
136        ::std::result::Result::Ok(())
137    }
138
139    // Compute sizes of nested messages
140    #[allow(unused_variables)]
141    fn compute_size(&self) -> u64 {
142        let mut my_size = 0;
143        if let Some(v) = self.mode {
144            my_size += ::protobuf::rt::int32_size(1, v.value());
145        }
146        for value in &self.menu_items {
147            let len = value.compute_size();
148            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
149        };
150        if let Some(v) = self.build_selector.as_ref() {
151            let len = v.compute_size();
152            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
153        }
154        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
155        self.special_fields.cached_size().set(my_size as u32);
156        my_size
157    }
158
159    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
160        if let Some(v) = self.mode {
161            os.write_enum(1, ::protobuf::EnumOrUnknown::value(&v))?;
162        }
163        for v in &self.menu_items {
164            ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
165        };
166        if let Some(v) = self.build_selector.as_ref() {
167            ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?;
168        }
169        os.write_unknown_fields(self.special_fields.unknown_fields())?;
170        ::std::result::Result::Ok(())
171    }
172
173    fn special_fields(&self) -> &::protobuf::SpecialFields {
174        &self.special_fields
175    }
176
177    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
178        &mut self.special_fields
179    }
180
181    fn new() -> SidebarState {
182        SidebarState::new()
183    }
184
185    fn clear(&mut self) {
186        self.mode = ::std::option::Option::None;
187        self.menu_items.clear();
188        self.build_selector.clear();
189        self.special_fields.clear();
190    }
191
192    fn default_instance() -> &'static SidebarState {
193        static instance: SidebarState = SidebarState {
194            mode: ::std::option::Option::None,
195            menu_items: ::std::vec::Vec::new(),
196            build_selector: ::protobuf::MessageField::none(),
197            special_fields: ::protobuf::SpecialFields::new(),
198        };
199        &instance
200    }
201}
202
203impl ::protobuf::MessageFull for SidebarState {
204    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
205        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
206        descriptor.get(|| file_descriptor().message_by_package_relative_name("SidebarState").unwrap()).clone()
207    }
208}
209
210impl ::std::fmt::Display for SidebarState {
211    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
212        ::protobuf::text_format::fmt(self, f)
213    }
214}
215
216impl ::protobuf::reflect::ProtobufValue for SidebarState {
217    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
218}
219
220// @@protoc_insertion_point(message:DwarfControl.MenuItem)
221#[derive(PartialEq,Clone,Default,Debug)]
222pub struct MenuItem {
223    // message fields
224    // @@protoc_insertion_point(field:DwarfControl.MenuItem.building_type)
225    pub building_type: ::protobuf::MessageField<super::RemoteFortressReader::BuildingType>,
226    // @@protoc_insertion_point(field:DwarfControl.MenuItem.existing_count)
227    pub existing_count: ::std::option::Option<i32>,
228    // @@protoc_insertion_point(field:DwarfControl.MenuItem.build_category)
229    pub build_category: ::std::option::Option<::protobuf::EnumOrUnknown<BuildCategory>>,
230    // special fields
231    // @@protoc_insertion_point(special_field:DwarfControl.MenuItem.special_fields)
232    pub special_fields: ::protobuf::SpecialFields,
233}
234
235impl<'a> ::std::default::Default for &'a MenuItem {
236    fn default() -> &'a MenuItem {
237        <MenuItem as ::protobuf::Message>::default_instance()
238    }
239}
240
241impl MenuItem {
242    pub fn new() -> MenuItem {
243        ::std::default::Default::default()
244    }
245
246    // optional int32 existing_count = 2;
247
248    pub fn existing_count(&self) -> i32 {
249        self.existing_count.unwrap_or(0)
250    }
251
252    pub fn clear_existing_count(&mut self) {
253        self.existing_count = ::std::option::Option::None;
254    }
255
256    pub fn has_existing_count(&self) -> bool {
257        self.existing_count.is_some()
258    }
259
260    // Param is passed by value, moved
261    pub fn set_existing_count(&mut self, v: i32) {
262        self.existing_count = ::std::option::Option::Some(v);
263    }
264
265    // optional .DwarfControl.BuildCategory build_category = 3;
266
267    pub fn build_category(&self) -> BuildCategory {
268        match self.build_category {
269            Some(e) => e.enum_value_or(BuildCategory::NotCategory),
270            None => BuildCategory::NotCategory,
271        }
272    }
273
274    pub fn clear_build_category(&mut self) {
275        self.build_category = ::std::option::Option::None;
276    }
277
278    pub fn has_build_category(&self) -> bool {
279        self.build_category.is_some()
280    }
281
282    // Param is passed by value, moved
283    pub fn set_build_category(&mut self, v: BuildCategory) {
284        self.build_category = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v));
285    }
286
287    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
288        let mut fields = ::std::vec::Vec::with_capacity(3);
289        let mut oneofs = ::std::vec::Vec::with_capacity(0);
290        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::RemoteFortressReader::BuildingType>(
291            "building_type",
292            |m: &MenuItem| { &m.building_type },
293            |m: &mut MenuItem| { &mut m.building_type },
294        ));
295        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
296            "existing_count",
297            |m: &MenuItem| { &m.existing_count },
298            |m: &mut MenuItem| { &mut m.existing_count },
299        ));
300        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
301            "build_category",
302            |m: &MenuItem| { &m.build_category },
303            |m: &mut MenuItem| { &mut m.build_category },
304        ));
305        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<MenuItem>(
306            "MenuItem",
307            fields,
308            oneofs,
309        )
310    }
311}
312
313impl ::protobuf::Message for MenuItem {
314    const NAME: &'static str = "MenuItem";
315
316    fn is_initialized(&self) -> bool {
317        for v in &self.building_type {
318            if !v.is_initialized() {
319                return false;
320            }
321        };
322        true
323    }
324
325    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
326        while let Some(tag) = is.read_raw_tag_or_eof()? {
327            match tag {
328                10 => {
329                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.building_type)?;
330                },
331                16 => {
332                    self.existing_count = ::std::option::Option::Some(is.read_int32()?);
333                },
334                24 => {
335                    self.build_category = ::std::option::Option::Some(is.read_enum_or_unknown()?);
336                },
337                tag => {
338                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
339                },
340            };
341        }
342        ::std::result::Result::Ok(())
343    }
344
345    // Compute sizes of nested messages
346    #[allow(unused_variables)]
347    fn compute_size(&self) -> u64 {
348        let mut my_size = 0;
349        if let Some(v) = self.building_type.as_ref() {
350            let len = v.compute_size();
351            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
352        }
353        if let Some(v) = self.existing_count {
354            my_size += ::protobuf::rt::int32_size(2, v);
355        }
356        if let Some(v) = self.build_category {
357            my_size += ::protobuf::rt::int32_size(3, v.value());
358        }
359        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
360        self.special_fields.cached_size().set(my_size as u32);
361        my_size
362    }
363
364    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
365        if let Some(v) = self.building_type.as_ref() {
366            ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
367        }
368        if let Some(v) = self.existing_count {
369            os.write_int32(2, v)?;
370        }
371        if let Some(v) = self.build_category {
372            os.write_enum(3, ::protobuf::EnumOrUnknown::value(&v))?;
373        }
374        os.write_unknown_fields(self.special_fields.unknown_fields())?;
375        ::std::result::Result::Ok(())
376    }
377
378    fn special_fields(&self) -> &::protobuf::SpecialFields {
379        &self.special_fields
380    }
381
382    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
383        &mut self.special_fields
384    }
385
386    fn new() -> MenuItem {
387        MenuItem::new()
388    }
389
390    fn clear(&mut self) {
391        self.building_type.clear();
392        self.existing_count = ::std::option::Option::None;
393        self.build_category = ::std::option::Option::None;
394        self.special_fields.clear();
395    }
396
397    fn default_instance() -> &'static MenuItem {
398        static instance: MenuItem = MenuItem {
399            building_type: ::protobuf::MessageField::none(),
400            existing_count: ::std::option::Option::None,
401            build_category: ::std::option::Option::None,
402            special_fields: ::protobuf::SpecialFields::new(),
403        };
404        &instance
405    }
406}
407
408impl ::protobuf::MessageFull for MenuItem {
409    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
410        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
411        descriptor.get(|| file_descriptor().message_by_package_relative_name("MenuItem").unwrap()).clone()
412    }
413}
414
415impl ::std::fmt::Display for MenuItem {
416    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
417        ::protobuf::text_format::fmt(self, f)
418    }
419}
420
421impl ::protobuf::reflect::ProtobufValue for MenuItem {
422    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
423}
424
425// @@protoc_insertion_point(message:DwarfControl.SidebarCommand)
426#[derive(PartialEq,Clone,Default,Debug)]
427pub struct SidebarCommand {
428    // message fields
429    // @@protoc_insertion_point(field:DwarfControl.SidebarCommand.mode)
430    pub mode: ::std::option::Option<::protobuf::EnumOrUnknown<super::ui_sidebar_mode::Ui_sidebar_mode>>,
431    // @@protoc_insertion_point(field:DwarfControl.SidebarCommand.menu_index)
432    pub menu_index: ::std::option::Option<i32>,
433    // @@protoc_insertion_point(field:DwarfControl.SidebarCommand.action)
434    pub action: ::std::option::Option<::protobuf::EnumOrUnknown<MenuAction>>,
435    // @@protoc_insertion_point(field:DwarfControl.SidebarCommand.selection_coord)
436    pub selection_coord: ::protobuf::MessageField<super::RemoteFortressReader::Coord>,
437    // special fields
438    // @@protoc_insertion_point(special_field:DwarfControl.SidebarCommand.special_fields)
439    pub special_fields: ::protobuf::SpecialFields,
440}
441
442impl<'a> ::std::default::Default for &'a SidebarCommand {
443    fn default() -> &'a SidebarCommand {
444        <SidebarCommand as ::protobuf::Message>::default_instance()
445    }
446}
447
448impl SidebarCommand {
449    pub fn new() -> SidebarCommand {
450        ::std::default::Default::default()
451    }
452
453    // optional .proto.enums.ui_sidebar_mode.ui_sidebar_mode mode = 1;
454
455    pub fn mode(&self) -> super::ui_sidebar_mode::Ui_sidebar_mode {
456        match self.mode {
457            Some(e) => e.enum_value_or(super::ui_sidebar_mode::Ui_sidebar_mode::Default),
458            None => super::ui_sidebar_mode::Ui_sidebar_mode::Default,
459        }
460    }
461
462    pub fn clear_mode(&mut self) {
463        self.mode = ::std::option::Option::None;
464    }
465
466    pub fn has_mode(&self) -> bool {
467        self.mode.is_some()
468    }
469
470    // Param is passed by value, moved
471    pub fn set_mode(&mut self, v: super::ui_sidebar_mode::Ui_sidebar_mode) {
472        self.mode = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v));
473    }
474
475    // optional int32 menu_index = 2;
476
477    pub fn menu_index(&self) -> i32 {
478        self.menu_index.unwrap_or(0)
479    }
480
481    pub fn clear_menu_index(&mut self) {
482        self.menu_index = ::std::option::Option::None;
483    }
484
485    pub fn has_menu_index(&self) -> bool {
486        self.menu_index.is_some()
487    }
488
489    // Param is passed by value, moved
490    pub fn set_menu_index(&mut self, v: i32) {
491        self.menu_index = ::std::option::Option::Some(v);
492    }
493
494    // optional .DwarfControl.MenuAction action = 3;
495
496    pub fn action(&self) -> MenuAction {
497        match self.action {
498            Some(e) => e.enum_value_or(MenuAction::MenuNone),
499            None => MenuAction::MenuNone,
500        }
501    }
502
503    pub fn clear_action(&mut self) {
504        self.action = ::std::option::Option::None;
505    }
506
507    pub fn has_action(&self) -> bool {
508        self.action.is_some()
509    }
510
511    // Param is passed by value, moved
512    pub fn set_action(&mut self, v: MenuAction) {
513        self.action = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v));
514    }
515
516    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
517        let mut fields = ::std::vec::Vec::with_capacity(4);
518        let mut oneofs = ::std::vec::Vec::with_capacity(0);
519        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
520            "mode",
521            |m: &SidebarCommand| { &m.mode },
522            |m: &mut SidebarCommand| { &mut m.mode },
523        ));
524        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
525            "menu_index",
526            |m: &SidebarCommand| { &m.menu_index },
527            |m: &mut SidebarCommand| { &mut m.menu_index },
528        ));
529        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
530            "action",
531            |m: &SidebarCommand| { &m.action },
532            |m: &mut SidebarCommand| { &mut m.action },
533        ));
534        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::RemoteFortressReader::Coord>(
535            "selection_coord",
536            |m: &SidebarCommand| { &m.selection_coord },
537            |m: &mut SidebarCommand| { &mut m.selection_coord },
538        ));
539        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<SidebarCommand>(
540            "SidebarCommand",
541            fields,
542            oneofs,
543        )
544    }
545}
546
547impl ::protobuf::Message for SidebarCommand {
548    const NAME: &'static str = "SidebarCommand";
549
550    fn is_initialized(&self) -> bool {
551        true
552    }
553
554    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
555        while let Some(tag) = is.read_raw_tag_or_eof()? {
556            match tag {
557                8 => {
558                    self.mode = ::std::option::Option::Some(is.read_enum_or_unknown()?);
559                },
560                16 => {
561                    self.menu_index = ::std::option::Option::Some(is.read_int32()?);
562                },
563                24 => {
564                    self.action = ::std::option::Option::Some(is.read_enum_or_unknown()?);
565                },
566                34 => {
567                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.selection_coord)?;
568                },
569                tag => {
570                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
571                },
572            };
573        }
574        ::std::result::Result::Ok(())
575    }
576
577    // Compute sizes of nested messages
578    #[allow(unused_variables)]
579    fn compute_size(&self) -> u64 {
580        let mut my_size = 0;
581        if let Some(v) = self.mode {
582            my_size += ::protobuf::rt::int32_size(1, v.value());
583        }
584        if let Some(v) = self.menu_index {
585            my_size += ::protobuf::rt::int32_size(2, v);
586        }
587        if let Some(v) = self.action {
588            my_size += ::protobuf::rt::int32_size(3, v.value());
589        }
590        if let Some(v) = self.selection_coord.as_ref() {
591            let len = v.compute_size();
592            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
593        }
594        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
595        self.special_fields.cached_size().set(my_size as u32);
596        my_size
597    }
598
599    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
600        if let Some(v) = self.mode {
601            os.write_enum(1, ::protobuf::EnumOrUnknown::value(&v))?;
602        }
603        if let Some(v) = self.menu_index {
604            os.write_int32(2, v)?;
605        }
606        if let Some(v) = self.action {
607            os.write_enum(3, ::protobuf::EnumOrUnknown::value(&v))?;
608        }
609        if let Some(v) = self.selection_coord.as_ref() {
610            ::protobuf::rt::write_message_field_with_cached_size(4, v, os)?;
611        }
612        os.write_unknown_fields(self.special_fields.unknown_fields())?;
613        ::std::result::Result::Ok(())
614    }
615
616    fn special_fields(&self) -> &::protobuf::SpecialFields {
617        &self.special_fields
618    }
619
620    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
621        &mut self.special_fields
622    }
623
624    fn new() -> SidebarCommand {
625        SidebarCommand::new()
626    }
627
628    fn clear(&mut self) {
629        self.mode = ::std::option::Option::None;
630        self.menu_index = ::std::option::Option::None;
631        self.action = ::std::option::Option::None;
632        self.selection_coord.clear();
633        self.special_fields.clear();
634    }
635
636    fn default_instance() -> &'static SidebarCommand {
637        static instance: SidebarCommand = SidebarCommand {
638            mode: ::std::option::Option::None,
639            menu_index: ::std::option::Option::None,
640            action: ::std::option::Option::None,
641            selection_coord: ::protobuf::MessageField::none(),
642            special_fields: ::protobuf::SpecialFields::new(),
643        };
644        &instance
645    }
646}
647
648impl ::protobuf::MessageFull for SidebarCommand {
649    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
650        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
651        descriptor.get(|| file_descriptor().message_by_package_relative_name("SidebarCommand").unwrap()).clone()
652    }
653}
654
655impl ::std::fmt::Display for SidebarCommand {
656    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
657        ::protobuf::text_format::fmt(self, f)
658    }
659}
660
661impl ::protobuf::reflect::ProtobufValue for SidebarCommand {
662    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
663}
664
665// @@protoc_insertion_point(message:DwarfControl.BuiildReqChoice)
666#[derive(PartialEq,Clone,Default,Debug)]
667pub struct BuiildReqChoice {
668    // message fields
669    // @@protoc_insertion_point(field:DwarfControl.BuiildReqChoice.distance)
670    pub distance: ::std::option::Option<i32>,
671    // @@protoc_insertion_point(field:DwarfControl.BuiildReqChoice.name)
672    pub name: ::std::option::Option<::std::string::String>,
673    // @@protoc_insertion_point(field:DwarfControl.BuiildReqChoice.num_candidates)
674    pub num_candidates: ::std::option::Option<i32>,
675    // @@protoc_insertion_point(field:DwarfControl.BuiildReqChoice.used_count)
676    pub used_count: ::std::option::Option<i32>,
677    // special fields
678    // @@protoc_insertion_point(special_field:DwarfControl.BuiildReqChoice.special_fields)
679    pub special_fields: ::protobuf::SpecialFields,
680}
681
682impl<'a> ::std::default::Default for &'a BuiildReqChoice {
683    fn default() -> &'a BuiildReqChoice {
684        <BuiildReqChoice as ::protobuf::Message>::default_instance()
685    }
686}
687
688impl BuiildReqChoice {
689    pub fn new() -> BuiildReqChoice {
690        ::std::default::Default::default()
691    }
692
693    // optional int32 distance = 1;
694
695    pub fn distance(&self) -> i32 {
696        self.distance.unwrap_or(0)
697    }
698
699    pub fn clear_distance(&mut self) {
700        self.distance = ::std::option::Option::None;
701    }
702
703    pub fn has_distance(&self) -> bool {
704        self.distance.is_some()
705    }
706
707    // Param is passed by value, moved
708    pub fn set_distance(&mut self, v: i32) {
709        self.distance = ::std::option::Option::Some(v);
710    }
711
712    // optional string name = 2;
713
714    pub fn name(&self) -> &str {
715        match self.name.as_ref() {
716            Some(v) => v,
717            None => "",
718        }
719    }
720
721    pub fn clear_name(&mut self) {
722        self.name = ::std::option::Option::None;
723    }
724
725    pub fn has_name(&self) -> bool {
726        self.name.is_some()
727    }
728
729    // Param is passed by value, moved
730    pub fn set_name(&mut self, v: ::std::string::String) {
731        self.name = ::std::option::Option::Some(v);
732    }
733
734    // Mutable pointer to the field.
735    // If field is not initialized, it is initialized with default value first.
736    pub fn mut_name(&mut self) -> &mut ::std::string::String {
737        if self.name.is_none() {
738            self.name = ::std::option::Option::Some(::std::string::String::new());
739        }
740        self.name.as_mut().unwrap()
741    }
742
743    // Take field
744    pub fn take_name(&mut self) -> ::std::string::String {
745        self.name.take().unwrap_or_else(|| ::std::string::String::new())
746    }
747
748    // optional int32 num_candidates = 3;
749
750    pub fn num_candidates(&self) -> i32 {
751        self.num_candidates.unwrap_or(0)
752    }
753
754    pub fn clear_num_candidates(&mut self) {
755        self.num_candidates = ::std::option::Option::None;
756    }
757
758    pub fn has_num_candidates(&self) -> bool {
759        self.num_candidates.is_some()
760    }
761
762    // Param is passed by value, moved
763    pub fn set_num_candidates(&mut self, v: i32) {
764        self.num_candidates = ::std::option::Option::Some(v);
765    }
766
767    // optional int32 used_count = 4;
768
769    pub fn used_count(&self) -> i32 {
770        self.used_count.unwrap_or(0)
771    }
772
773    pub fn clear_used_count(&mut self) {
774        self.used_count = ::std::option::Option::None;
775    }
776
777    pub fn has_used_count(&self) -> bool {
778        self.used_count.is_some()
779    }
780
781    // Param is passed by value, moved
782    pub fn set_used_count(&mut self, v: i32) {
783        self.used_count = ::std::option::Option::Some(v);
784    }
785
786    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
787        let mut fields = ::std::vec::Vec::with_capacity(4);
788        let mut oneofs = ::std::vec::Vec::with_capacity(0);
789        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
790            "distance",
791            |m: &BuiildReqChoice| { &m.distance },
792            |m: &mut BuiildReqChoice| { &mut m.distance },
793        ));
794        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
795            "name",
796            |m: &BuiildReqChoice| { &m.name },
797            |m: &mut BuiildReqChoice| { &mut m.name },
798        ));
799        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
800            "num_candidates",
801            |m: &BuiildReqChoice| { &m.num_candidates },
802            |m: &mut BuiildReqChoice| { &mut m.num_candidates },
803        ));
804        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
805            "used_count",
806            |m: &BuiildReqChoice| { &m.used_count },
807            |m: &mut BuiildReqChoice| { &mut m.used_count },
808        ));
809        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<BuiildReqChoice>(
810            "BuiildReqChoice",
811            fields,
812            oneofs,
813        )
814    }
815}
816
817impl ::protobuf::Message for BuiildReqChoice {
818    const NAME: &'static str = "BuiildReqChoice";
819
820    fn is_initialized(&self) -> bool {
821        true
822    }
823
824    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
825        while let Some(tag) = is.read_raw_tag_or_eof()? {
826            match tag {
827                8 => {
828                    self.distance = ::std::option::Option::Some(is.read_int32()?);
829                },
830                18 => {
831                    self.name = ::std::option::Option::Some(is.read_string()?);
832                },
833                24 => {
834                    self.num_candidates = ::std::option::Option::Some(is.read_int32()?);
835                },
836                32 => {
837                    self.used_count = ::std::option::Option::Some(is.read_int32()?);
838                },
839                tag => {
840                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
841                },
842            };
843        }
844        ::std::result::Result::Ok(())
845    }
846
847    // Compute sizes of nested messages
848    #[allow(unused_variables)]
849    fn compute_size(&self) -> u64 {
850        let mut my_size = 0;
851        if let Some(v) = self.distance {
852            my_size += ::protobuf::rt::int32_size(1, v);
853        }
854        if let Some(v) = self.name.as_ref() {
855            my_size += ::protobuf::rt::string_size(2, &v);
856        }
857        if let Some(v) = self.num_candidates {
858            my_size += ::protobuf::rt::int32_size(3, v);
859        }
860        if let Some(v) = self.used_count {
861            my_size += ::protobuf::rt::int32_size(4, v);
862        }
863        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
864        self.special_fields.cached_size().set(my_size as u32);
865        my_size
866    }
867
868    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
869        if let Some(v) = self.distance {
870            os.write_int32(1, v)?;
871        }
872        if let Some(v) = self.name.as_ref() {
873            os.write_string(2, v)?;
874        }
875        if let Some(v) = self.num_candidates {
876            os.write_int32(3, v)?;
877        }
878        if let Some(v) = self.used_count {
879            os.write_int32(4, v)?;
880        }
881        os.write_unknown_fields(self.special_fields.unknown_fields())?;
882        ::std::result::Result::Ok(())
883    }
884
885    fn special_fields(&self) -> &::protobuf::SpecialFields {
886        &self.special_fields
887    }
888
889    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
890        &mut self.special_fields
891    }
892
893    fn new() -> BuiildReqChoice {
894        BuiildReqChoice::new()
895    }
896
897    fn clear(&mut self) {
898        self.distance = ::std::option::Option::None;
899        self.name = ::std::option::Option::None;
900        self.num_candidates = ::std::option::Option::None;
901        self.used_count = ::std::option::Option::None;
902        self.special_fields.clear();
903    }
904
905    fn default_instance() -> &'static BuiildReqChoice {
906        static instance: BuiildReqChoice = BuiildReqChoice {
907            distance: ::std::option::Option::None,
908            name: ::std::option::Option::None,
909            num_candidates: ::std::option::Option::None,
910            used_count: ::std::option::Option::None,
911            special_fields: ::protobuf::SpecialFields::new(),
912        };
913        &instance
914    }
915}
916
917impl ::protobuf::MessageFull for BuiildReqChoice {
918    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
919        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
920        descriptor.get(|| file_descriptor().message_by_package_relative_name("BuiildReqChoice").unwrap()).clone()
921    }
922}
923
924impl ::std::fmt::Display for BuiildReqChoice {
925    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
926        ::protobuf::text_format::fmt(self, f)
927    }
928}
929
930impl ::protobuf::reflect::ProtobufValue for BuiildReqChoice {
931    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
932}
933
934// @@protoc_insertion_point(message:DwarfControl.BuildItemReq)
935#[derive(PartialEq,Clone,Default,Debug)]
936pub struct BuildItemReq {
937    // message fields
938    // @@protoc_insertion_point(field:DwarfControl.BuildItemReq.count_required)
939    pub count_required: ::std::option::Option<i32>,
940    // @@protoc_insertion_point(field:DwarfControl.BuildItemReq.count_max)
941    pub count_max: ::std::option::Option<i32>,
942    // @@protoc_insertion_point(field:DwarfControl.BuildItemReq.count_provided)
943    pub count_provided: ::std::option::Option<i32>,
944    // special fields
945    // @@protoc_insertion_point(special_field:DwarfControl.BuildItemReq.special_fields)
946    pub special_fields: ::protobuf::SpecialFields,
947}
948
949impl<'a> ::std::default::Default for &'a BuildItemReq {
950    fn default() -> &'a BuildItemReq {
951        <BuildItemReq as ::protobuf::Message>::default_instance()
952    }
953}
954
955impl BuildItemReq {
956    pub fn new() -> BuildItemReq {
957        ::std::default::Default::default()
958    }
959
960    // optional int32 count_required = 2;
961
962    pub fn count_required(&self) -> i32 {
963        self.count_required.unwrap_or(0)
964    }
965
966    pub fn clear_count_required(&mut self) {
967        self.count_required = ::std::option::Option::None;
968    }
969
970    pub fn has_count_required(&self) -> bool {
971        self.count_required.is_some()
972    }
973
974    // Param is passed by value, moved
975    pub fn set_count_required(&mut self, v: i32) {
976        self.count_required = ::std::option::Option::Some(v);
977    }
978
979    // optional int32 count_max = 3;
980
981    pub fn count_max(&self) -> i32 {
982        self.count_max.unwrap_or(0)
983    }
984
985    pub fn clear_count_max(&mut self) {
986        self.count_max = ::std::option::Option::None;
987    }
988
989    pub fn has_count_max(&self) -> bool {
990        self.count_max.is_some()
991    }
992
993    // Param is passed by value, moved
994    pub fn set_count_max(&mut self, v: i32) {
995        self.count_max = ::std::option::Option::Some(v);
996    }
997
998    // optional int32 count_provided = 4;
999
1000    pub fn count_provided(&self) -> i32 {
1001        self.count_provided.unwrap_or(0)
1002    }
1003
1004    pub fn clear_count_provided(&mut self) {
1005        self.count_provided = ::std::option::Option::None;
1006    }
1007
1008    pub fn has_count_provided(&self) -> bool {
1009        self.count_provided.is_some()
1010    }
1011
1012    // Param is passed by value, moved
1013    pub fn set_count_provided(&mut self, v: i32) {
1014        self.count_provided = ::std::option::Option::Some(v);
1015    }
1016
1017    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
1018        let mut fields = ::std::vec::Vec::with_capacity(3);
1019        let mut oneofs = ::std::vec::Vec::with_capacity(0);
1020        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1021            "count_required",
1022            |m: &BuildItemReq| { &m.count_required },
1023            |m: &mut BuildItemReq| { &mut m.count_required },
1024        ));
1025        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1026            "count_max",
1027            |m: &BuildItemReq| { &m.count_max },
1028            |m: &mut BuildItemReq| { &mut m.count_max },
1029        ));
1030        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1031            "count_provided",
1032            |m: &BuildItemReq| { &m.count_provided },
1033            |m: &mut BuildItemReq| { &mut m.count_provided },
1034        ));
1035        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<BuildItemReq>(
1036            "BuildItemReq",
1037            fields,
1038            oneofs,
1039        )
1040    }
1041}
1042
1043impl ::protobuf::Message for BuildItemReq {
1044    const NAME: &'static str = "BuildItemReq";
1045
1046    fn is_initialized(&self) -> bool {
1047        true
1048    }
1049
1050    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
1051        while let Some(tag) = is.read_raw_tag_or_eof()? {
1052            match tag {
1053                16 => {
1054                    self.count_required = ::std::option::Option::Some(is.read_int32()?);
1055                },
1056                24 => {
1057                    self.count_max = ::std::option::Option::Some(is.read_int32()?);
1058                },
1059                32 => {
1060                    self.count_provided = ::std::option::Option::Some(is.read_int32()?);
1061                },
1062                tag => {
1063                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
1064                },
1065            };
1066        }
1067        ::std::result::Result::Ok(())
1068    }
1069
1070    // Compute sizes of nested messages
1071    #[allow(unused_variables)]
1072    fn compute_size(&self) -> u64 {
1073        let mut my_size = 0;
1074        if let Some(v) = self.count_required {
1075            my_size += ::protobuf::rt::int32_size(2, v);
1076        }
1077        if let Some(v) = self.count_max {
1078            my_size += ::protobuf::rt::int32_size(3, v);
1079        }
1080        if let Some(v) = self.count_provided {
1081            my_size += ::protobuf::rt::int32_size(4, v);
1082        }
1083        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
1084        self.special_fields.cached_size().set(my_size as u32);
1085        my_size
1086    }
1087
1088    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
1089        if let Some(v) = self.count_required {
1090            os.write_int32(2, v)?;
1091        }
1092        if let Some(v) = self.count_max {
1093            os.write_int32(3, v)?;
1094        }
1095        if let Some(v) = self.count_provided {
1096            os.write_int32(4, v)?;
1097        }
1098        os.write_unknown_fields(self.special_fields.unknown_fields())?;
1099        ::std::result::Result::Ok(())
1100    }
1101
1102    fn special_fields(&self) -> &::protobuf::SpecialFields {
1103        &self.special_fields
1104    }
1105
1106    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
1107        &mut self.special_fields
1108    }
1109
1110    fn new() -> BuildItemReq {
1111        BuildItemReq::new()
1112    }
1113
1114    fn clear(&mut self) {
1115        self.count_required = ::std::option::Option::None;
1116        self.count_max = ::std::option::Option::None;
1117        self.count_provided = ::std::option::Option::None;
1118        self.special_fields.clear();
1119    }
1120
1121    fn default_instance() -> &'static BuildItemReq {
1122        static instance: BuildItemReq = BuildItemReq {
1123            count_required: ::std::option::Option::None,
1124            count_max: ::std::option::Option::None,
1125            count_provided: ::std::option::Option::None,
1126            special_fields: ::protobuf::SpecialFields::new(),
1127        };
1128        &instance
1129    }
1130}
1131
1132impl ::protobuf::MessageFull for BuildItemReq {
1133    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
1134        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
1135        descriptor.get(|| file_descriptor().message_by_package_relative_name("BuildItemReq").unwrap()).clone()
1136    }
1137}
1138
1139impl ::std::fmt::Display for BuildItemReq {
1140    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1141        ::protobuf::text_format::fmt(self, f)
1142    }
1143}
1144
1145impl ::protobuf::reflect::ProtobufValue for BuildItemReq {
1146    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
1147}
1148
1149// @@protoc_insertion_point(message:DwarfControl.BuildSelector)
1150#[derive(PartialEq,Clone,Default,Debug)]
1151pub struct BuildSelector {
1152    // message fields
1153    // @@protoc_insertion_point(field:DwarfControl.BuildSelector.building_type)
1154    pub building_type: ::protobuf::MessageField<super::RemoteFortressReader::BuildingType>,
1155    // @@protoc_insertion_point(field:DwarfControl.BuildSelector.stage)
1156    pub stage: ::std::option::Option<::protobuf::EnumOrUnknown<BuildSelectorStage>>,
1157    // @@protoc_insertion_point(field:DwarfControl.BuildSelector.choices)
1158    pub choices: ::std::vec::Vec<BuiildReqChoice>,
1159    // @@protoc_insertion_point(field:DwarfControl.BuildSelector.sel_index)
1160    pub sel_index: ::std::option::Option<i32>,
1161    // @@protoc_insertion_point(field:DwarfControl.BuildSelector.requirements)
1162    pub requirements: ::std::vec::Vec<BuildItemReq>,
1163    // @@protoc_insertion_point(field:DwarfControl.BuildSelector.req_index)
1164    pub req_index: ::std::option::Option<i32>,
1165    // @@protoc_insertion_point(field:DwarfControl.BuildSelector.errors)
1166    pub errors: ::std::vec::Vec<::std::string::String>,
1167    // @@protoc_insertion_point(field:DwarfControl.BuildSelector.radius_x_low)
1168    pub radius_x_low: ::std::option::Option<i32>,
1169    // @@protoc_insertion_point(field:DwarfControl.BuildSelector.radius_y_low)
1170    pub radius_y_low: ::std::option::Option<i32>,
1171    // @@protoc_insertion_point(field:DwarfControl.BuildSelector.radius_x_high)
1172    pub radius_x_high: ::std::option::Option<i32>,
1173    // @@protoc_insertion_point(field:DwarfControl.BuildSelector.radius_y_high)
1174    pub radius_y_high: ::std::option::Option<i32>,
1175    // @@protoc_insertion_point(field:DwarfControl.BuildSelector.cursor)
1176    pub cursor: ::protobuf::MessageField<super::RemoteFortressReader::Coord>,
1177    // @@protoc_insertion_point(field:DwarfControl.BuildSelector.tiles)
1178    pub tiles: ::std::vec::Vec<i32>,
1179    // special fields
1180    // @@protoc_insertion_point(special_field:DwarfControl.BuildSelector.special_fields)
1181    pub special_fields: ::protobuf::SpecialFields,
1182}
1183
1184impl<'a> ::std::default::Default for &'a BuildSelector {
1185    fn default() -> &'a BuildSelector {
1186        <BuildSelector as ::protobuf::Message>::default_instance()
1187    }
1188}
1189
1190impl BuildSelector {
1191    pub fn new() -> BuildSelector {
1192        ::std::default::Default::default()
1193    }
1194
1195    // optional .DwarfControl.BuildSelectorStage stage = 2;
1196
1197    pub fn stage(&self) -> BuildSelectorStage {
1198        match self.stage {
1199            Some(e) => e.enum_value_or(BuildSelectorStage::StageNoMat),
1200            None => BuildSelectorStage::StageNoMat,
1201        }
1202    }
1203
1204    pub fn clear_stage(&mut self) {
1205        self.stage = ::std::option::Option::None;
1206    }
1207
1208    pub fn has_stage(&self) -> bool {
1209        self.stage.is_some()
1210    }
1211
1212    // Param is passed by value, moved
1213    pub fn set_stage(&mut self, v: BuildSelectorStage) {
1214        self.stage = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v));
1215    }
1216
1217    // optional int32 sel_index = 4;
1218
1219    pub fn sel_index(&self) -> i32 {
1220        self.sel_index.unwrap_or(0)
1221    }
1222
1223    pub fn clear_sel_index(&mut self) {
1224        self.sel_index = ::std::option::Option::None;
1225    }
1226
1227    pub fn has_sel_index(&self) -> bool {
1228        self.sel_index.is_some()
1229    }
1230
1231    // Param is passed by value, moved
1232    pub fn set_sel_index(&mut self, v: i32) {
1233        self.sel_index = ::std::option::Option::Some(v);
1234    }
1235
1236    // optional int32 req_index = 6;
1237
1238    pub fn req_index(&self) -> i32 {
1239        self.req_index.unwrap_or(0)
1240    }
1241
1242    pub fn clear_req_index(&mut self) {
1243        self.req_index = ::std::option::Option::None;
1244    }
1245
1246    pub fn has_req_index(&self) -> bool {
1247        self.req_index.is_some()
1248    }
1249
1250    // Param is passed by value, moved
1251    pub fn set_req_index(&mut self, v: i32) {
1252        self.req_index = ::std::option::Option::Some(v);
1253    }
1254
1255    // optional int32 radius_x_low = 8;
1256
1257    pub fn radius_x_low(&self) -> i32 {
1258        self.radius_x_low.unwrap_or(0)
1259    }
1260
1261    pub fn clear_radius_x_low(&mut self) {
1262        self.radius_x_low = ::std::option::Option::None;
1263    }
1264
1265    pub fn has_radius_x_low(&self) -> bool {
1266        self.radius_x_low.is_some()
1267    }
1268
1269    // Param is passed by value, moved
1270    pub fn set_radius_x_low(&mut self, v: i32) {
1271        self.radius_x_low = ::std::option::Option::Some(v);
1272    }
1273
1274    // optional int32 radius_y_low = 9;
1275
1276    pub fn radius_y_low(&self) -> i32 {
1277        self.radius_y_low.unwrap_or(0)
1278    }
1279
1280    pub fn clear_radius_y_low(&mut self) {
1281        self.radius_y_low = ::std::option::Option::None;
1282    }
1283
1284    pub fn has_radius_y_low(&self) -> bool {
1285        self.radius_y_low.is_some()
1286    }
1287
1288    // Param is passed by value, moved
1289    pub fn set_radius_y_low(&mut self, v: i32) {
1290        self.radius_y_low = ::std::option::Option::Some(v);
1291    }
1292
1293    // optional int32 radius_x_high = 10;
1294
1295    pub fn radius_x_high(&self) -> i32 {
1296        self.radius_x_high.unwrap_or(0)
1297    }
1298
1299    pub fn clear_radius_x_high(&mut self) {
1300        self.radius_x_high = ::std::option::Option::None;
1301    }
1302
1303    pub fn has_radius_x_high(&self) -> bool {
1304        self.radius_x_high.is_some()
1305    }
1306
1307    // Param is passed by value, moved
1308    pub fn set_radius_x_high(&mut self, v: i32) {
1309        self.radius_x_high = ::std::option::Option::Some(v);
1310    }
1311
1312    // optional int32 radius_y_high = 11;
1313
1314    pub fn radius_y_high(&self) -> i32 {
1315        self.radius_y_high.unwrap_or(0)
1316    }
1317
1318    pub fn clear_radius_y_high(&mut self) {
1319        self.radius_y_high = ::std::option::Option::None;
1320    }
1321
1322    pub fn has_radius_y_high(&self) -> bool {
1323        self.radius_y_high.is_some()
1324    }
1325
1326    // Param is passed by value, moved
1327    pub fn set_radius_y_high(&mut self, v: i32) {
1328        self.radius_y_high = ::std::option::Option::Some(v);
1329    }
1330
1331    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
1332        let mut fields = ::std::vec::Vec::with_capacity(13);
1333        let mut oneofs = ::std::vec::Vec::with_capacity(0);
1334        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::RemoteFortressReader::BuildingType>(
1335            "building_type",
1336            |m: &BuildSelector| { &m.building_type },
1337            |m: &mut BuildSelector| { &mut m.building_type },
1338        ));
1339        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1340            "stage",
1341            |m: &BuildSelector| { &m.stage },
1342            |m: &mut BuildSelector| { &mut m.stage },
1343        ));
1344        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1345            "choices",
1346            |m: &BuildSelector| { &m.choices },
1347            |m: &mut BuildSelector| { &mut m.choices },
1348        ));
1349        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1350            "sel_index",
1351            |m: &BuildSelector| { &m.sel_index },
1352            |m: &mut BuildSelector| { &mut m.sel_index },
1353        ));
1354        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1355            "requirements",
1356            |m: &BuildSelector| { &m.requirements },
1357            |m: &mut BuildSelector| { &mut m.requirements },
1358        ));
1359        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1360            "req_index",
1361            |m: &BuildSelector| { &m.req_index },
1362            |m: &mut BuildSelector| { &mut m.req_index },
1363        ));
1364        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1365            "errors",
1366            |m: &BuildSelector| { &m.errors },
1367            |m: &mut BuildSelector| { &mut m.errors },
1368        ));
1369        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1370            "radius_x_low",
1371            |m: &BuildSelector| { &m.radius_x_low },
1372            |m: &mut BuildSelector| { &mut m.radius_x_low },
1373        ));
1374        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1375            "radius_y_low",
1376            |m: &BuildSelector| { &m.radius_y_low },
1377            |m: &mut BuildSelector| { &mut m.radius_y_low },
1378        ));
1379        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1380            "radius_x_high",
1381            |m: &BuildSelector| { &m.radius_x_high },
1382            |m: &mut BuildSelector| { &mut m.radius_x_high },
1383        ));
1384        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
1385            "radius_y_high",
1386            |m: &BuildSelector| { &m.radius_y_high },
1387            |m: &mut BuildSelector| { &mut m.radius_y_high },
1388        ));
1389        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::RemoteFortressReader::Coord>(
1390            "cursor",
1391            |m: &BuildSelector| { &m.cursor },
1392            |m: &mut BuildSelector| { &mut m.cursor },
1393        ));
1394        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1395            "tiles",
1396            |m: &BuildSelector| { &m.tiles },
1397            |m: &mut BuildSelector| { &mut m.tiles },
1398        ));
1399        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<BuildSelector>(
1400            "BuildSelector",
1401            fields,
1402            oneofs,
1403        )
1404    }
1405}
1406
1407impl ::protobuf::Message for BuildSelector {
1408    const NAME: &'static str = "BuildSelector";
1409
1410    fn is_initialized(&self) -> bool {
1411        for v in &self.building_type {
1412            if !v.is_initialized() {
1413                return false;
1414            }
1415        };
1416        for v in &self.choices {
1417            if !v.is_initialized() {
1418                return false;
1419            }
1420        };
1421        for v in &self.requirements {
1422            if !v.is_initialized() {
1423                return false;
1424            }
1425        };
1426        for v in &self.cursor {
1427            if !v.is_initialized() {
1428                return false;
1429            }
1430        };
1431        true
1432    }
1433
1434    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
1435        while let Some(tag) = is.read_raw_tag_or_eof()? {
1436            match tag {
1437                10 => {
1438                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.building_type)?;
1439                },
1440                16 => {
1441                    self.stage = ::std::option::Option::Some(is.read_enum_or_unknown()?);
1442                },
1443                26 => {
1444                    self.choices.push(is.read_message()?);
1445                },
1446                32 => {
1447                    self.sel_index = ::std::option::Option::Some(is.read_int32()?);
1448                },
1449                42 => {
1450                    self.requirements.push(is.read_message()?);
1451                },
1452                48 => {
1453                    self.req_index = ::std::option::Option::Some(is.read_int32()?);
1454                },
1455                58 => {
1456                    self.errors.push(is.read_string()?);
1457                },
1458                64 => {
1459                    self.radius_x_low = ::std::option::Option::Some(is.read_int32()?);
1460                },
1461                72 => {
1462                    self.radius_y_low = ::std::option::Option::Some(is.read_int32()?);
1463                },
1464                80 => {
1465                    self.radius_x_high = ::std::option::Option::Some(is.read_int32()?);
1466                },
1467                88 => {
1468                    self.radius_y_high = ::std::option::Option::Some(is.read_int32()?);
1469                },
1470                98 => {
1471                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.cursor)?;
1472                },
1473                106 => {
1474                    is.read_repeated_packed_int32_into(&mut self.tiles)?;
1475                },
1476                104 => {
1477                    self.tiles.push(is.read_int32()?);
1478                },
1479                tag => {
1480                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
1481                },
1482            };
1483        }
1484        ::std::result::Result::Ok(())
1485    }
1486
1487    // Compute sizes of nested messages
1488    #[allow(unused_variables)]
1489    fn compute_size(&self) -> u64 {
1490        let mut my_size = 0;
1491        if let Some(v) = self.building_type.as_ref() {
1492            let len = v.compute_size();
1493            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
1494        }
1495        if let Some(v) = self.stage {
1496            my_size += ::protobuf::rt::int32_size(2, v.value());
1497        }
1498        for value in &self.choices {
1499            let len = value.compute_size();
1500            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
1501        };
1502        if let Some(v) = self.sel_index {
1503            my_size += ::protobuf::rt::int32_size(4, v);
1504        }
1505        for value in &self.requirements {
1506            let len = value.compute_size();
1507            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
1508        };
1509        if let Some(v) = self.req_index {
1510            my_size += ::protobuf::rt::int32_size(6, v);
1511        }
1512        for value in &self.errors {
1513            my_size += ::protobuf::rt::string_size(7, &value);
1514        };
1515        if let Some(v) = self.radius_x_low {
1516            my_size += ::protobuf::rt::int32_size(8, v);
1517        }
1518        if let Some(v) = self.radius_y_low {
1519            my_size += ::protobuf::rt::int32_size(9, v);
1520        }
1521        if let Some(v) = self.radius_x_high {
1522            my_size += ::protobuf::rt::int32_size(10, v);
1523        }
1524        if let Some(v) = self.radius_y_high {
1525            my_size += ::protobuf::rt::int32_size(11, v);
1526        }
1527        if let Some(v) = self.cursor.as_ref() {
1528            let len = v.compute_size();
1529            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
1530        }
1531        for value in &self.tiles {
1532            my_size += ::protobuf::rt::int32_size(13, *value);
1533        };
1534        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
1535        self.special_fields.cached_size().set(my_size as u32);
1536        my_size
1537    }
1538
1539    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
1540        if let Some(v) = self.building_type.as_ref() {
1541            ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
1542        }
1543        if let Some(v) = self.stage {
1544            os.write_enum(2, ::protobuf::EnumOrUnknown::value(&v))?;
1545        }
1546        for v in &self.choices {
1547            ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?;
1548        };
1549        if let Some(v) = self.sel_index {
1550            os.write_int32(4, v)?;
1551        }
1552        for v in &self.requirements {
1553            ::protobuf::rt::write_message_field_with_cached_size(5, v, os)?;
1554        };
1555        if let Some(v) = self.req_index {
1556            os.write_int32(6, v)?;
1557        }
1558        for v in &self.errors {
1559            os.write_string(7, &v)?;
1560        };
1561        if let Some(v) = self.radius_x_low {
1562            os.write_int32(8, v)?;
1563        }
1564        if let Some(v) = self.radius_y_low {
1565            os.write_int32(9, v)?;
1566        }
1567        if let Some(v) = self.radius_x_high {
1568            os.write_int32(10, v)?;
1569        }
1570        if let Some(v) = self.radius_y_high {
1571            os.write_int32(11, v)?;
1572        }
1573        if let Some(v) = self.cursor.as_ref() {
1574            ::protobuf::rt::write_message_field_with_cached_size(12, v, os)?;
1575        }
1576        for v in &self.tiles {
1577            os.write_int32(13, *v)?;
1578        };
1579        os.write_unknown_fields(self.special_fields.unknown_fields())?;
1580        ::std::result::Result::Ok(())
1581    }
1582
1583    fn special_fields(&self) -> &::protobuf::SpecialFields {
1584        &self.special_fields
1585    }
1586
1587    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
1588        &mut self.special_fields
1589    }
1590
1591    fn new() -> BuildSelector {
1592        BuildSelector::new()
1593    }
1594
1595    fn clear(&mut self) {
1596        self.building_type.clear();
1597        self.stage = ::std::option::Option::None;
1598        self.choices.clear();
1599        self.sel_index = ::std::option::Option::None;
1600        self.requirements.clear();
1601        self.req_index = ::std::option::Option::None;
1602        self.errors.clear();
1603        self.radius_x_low = ::std::option::Option::None;
1604        self.radius_y_low = ::std::option::Option::None;
1605        self.radius_x_high = ::std::option::Option::None;
1606        self.radius_y_high = ::std::option::Option::None;
1607        self.cursor.clear();
1608        self.tiles.clear();
1609        self.special_fields.clear();
1610    }
1611
1612    fn default_instance() -> &'static BuildSelector {
1613        static instance: BuildSelector = BuildSelector {
1614            building_type: ::protobuf::MessageField::none(),
1615            stage: ::std::option::Option::None,
1616            choices: ::std::vec::Vec::new(),
1617            sel_index: ::std::option::Option::None,
1618            requirements: ::std::vec::Vec::new(),
1619            req_index: ::std::option::Option::None,
1620            errors: ::std::vec::Vec::new(),
1621            radius_x_low: ::std::option::Option::None,
1622            radius_y_low: ::std::option::Option::None,
1623            radius_x_high: ::std::option::Option::None,
1624            radius_y_high: ::std::option::Option::None,
1625            cursor: ::protobuf::MessageField::none(),
1626            tiles: ::std::vec::Vec::new(),
1627            special_fields: ::protobuf::SpecialFields::new(),
1628        };
1629        &instance
1630    }
1631}
1632
1633impl ::protobuf::MessageFull for BuildSelector {
1634    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
1635        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
1636        descriptor.get(|| file_descriptor().message_by_package_relative_name("BuildSelector").unwrap()).clone()
1637    }
1638}
1639
1640impl ::std::fmt::Display for BuildSelector {
1641    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1642        ::protobuf::text_format::fmt(self, f)
1643    }
1644}
1645
1646impl ::protobuf::reflect::ProtobufValue for BuildSelector {
1647    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
1648}
1649
1650#[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
1651// @@protoc_insertion_point(enum:DwarfControl.BuildCategory)
1652pub enum BuildCategory {
1653    // @@protoc_insertion_point(enum_value:DwarfControl.BuildCategory.NotCategory)
1654    NotCategory = 0,
1655    // @@protoc_insertion_point(enum_value:DwarfControl.BuildCategory.SiegeEngines)
1656    SiegeEngines = 1,
1657    // @@protoc_insertion_point(enum_value:DwarfControl.BuildCategory.Traps)
1658    Traps = 2,
1659    // @@protoc_insertion_point(enum_value:DwarfControl.BuildCategory.Workshops)
1660    Workshops = 3,
1661    // @@protoc_insertion_point(enum_value:DwarfControl.BuildCategory.Furnaces)
1662    Furnaces = 4,
1663    // @@protoc_insertion_point(enum_value:DwarfControl.BuildCategory.Constructions)
1664    Constructions = 5,
1665    // @@protoc_insertion_point(enum_value:DwarfControl.BuildCategory.MachineComponents)
1666    MachineComponents = 6,
1667    // @@protoc_insertion_point(enum_value:DwarfControl.BuildCategory.Track)
1668    Track = 7,
1669}
1670
1671impl ::protobuf::Enum for BuildCategory {
1672    const NAME: &'static str = "BuildCategory";
1673
1674    fn value(&self) -> i32 {
1675        *self as i32
1676    }
1677
1678    fn from_i32(value: i32) -> ::std::option::Option<BuildCategory> {
1679        match value {
1680            0 => ::std::option::Option::Some(BuildCategory::NotCategory),
1681            1 => ::std::option::Option::Some(BuildCategory::SiegeEngines),
1682            2 => ::std::option::Option::Some(BuildCategory::Traps),
1683            3 => ::std::option::Option::Some(BuildCategory::Workshops),
1684            4 => ::std::option::Option::Some(BuildCategory::Furnaces),
1685            5 => ::std::option::Option::Some(BuildCategory::Constructions),
1686            6 => ::std::option::Option::Some(BuildCategory::MachineComponents),
1687            7 => ::std::option::Option::Some(BuildCategory::Track),
1688            _ => ::std::option::Option::None
1689        }
1690    }
1691
1692    fn from_str(str: &str) -> ::std::option::Option<BuildCategory> {
1693        match str {
1694            "NotCategory" => ::std::option::Option::Some(BuildCategory::NotCategory),
1695            "SiegeEngines" => ::std::option::Option::Some(BuildCategory::SiegeEngines),
1696            "Traps" => ::std::option::Option::Some(BuildCategory::Traps),
1697            "Workshops" => ::std::option::Option::Some(BuildCategory::Workshops),
1698            "Furnaces" => ::std::option::Option::Some(BuildCategory::Furnaces),
1699            "Constructions" => ::std::option::Option::Some(BuildCategory::Constructions),
1700            "MachineComponents" => ::std::option::Option::Some(BuildCategory::MachineComponents),
1701            "Track" => ::std::option::Option::Some(BuildCategory::Track),
1702            _ => ::std::option::Option::None
1703        }
1704    }
1705
1706    const VALUES: &'static [BuildCategory] = &[
1707        BuildCategory::NotCategory,
1708        BuildCategory::SiegeEngines,
1709        BuildCategory::Traps,
1710        BuildCategory::Workshops,
1711        BuildCategory::Furnaces,
1712        BuildCategory::Constructions,
1713        BuildCategory::MachineComponents,
1714        BuildCategory::Track,
1715    ];
1716}
1717
1718impl ::protobuf::EnumFull for BuildCategory {
1719    fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
1720        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
1721        descriptor.get(|| file_descriptor().enum_by_package_relative_name("BuildCategory").unwrap()).clone()
1722    }
1723
1724    fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
1725        let index = *self as usize;
1726        Self::enum_descriptor().value_by_index(index)
1727    }
1728}
1729
1730impl ::std::default::Default for BuildCategory {
1731    fn default() -> Self {
1732        BuildCategory::NotCategory
1733    }
1734}
1735
1736impl BuildCategory {
1737    fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
1738        ::protobuf::reflect::GeneratedEnumDescriptorData::new::<BuildCategory>("BuildCategory")
1739    }
1740}
1741
1742#[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
1743// @@protoc_insertion_point(enum:DwarfControl.MenuAction)
1744pub enum MenuAction {
1745    // @@protoc_insertion_point(enum_value:DwarfControl.MenuAction.MenuNone)
1746    MenuNone = 0,
1747    // @@protoc_insertion_point(enum_value:DwarfControl.MenuAction.MenuSelect)
1748    MenuSelect = 1,
1749    // @@protoc_insertion_point(enum_value:DwarfControl.MenuAction.MenuCancel)
1750    MenuCancel = 2,
1751    // @@protoc_insertion_point(enum_value:DwarfControl.MenuAction.MenuSelectAll)
1752    MenuSelectAll = 3,
1753}
1754
1755impl ::protobuf::Enum for MenuAction {
1756    const NAME: &'static str = "MenuAction";
1757
1758    fn value(&self) -> i32 {
1759        *self as i32
1760    }
1761
1762    fn from_i32(value: i32) -> ::std::option::Option<MenuAction> {
1763        match value {
1764            0 => ::std::option::Option::Some(MenuAction::MenuNone),
1765            1 => ::std::option::Option::Some(MenuAction::MenuSelect),
1766            2 => ::std::option::Option::Some(MenuAction::MenuCancel),
1767            3 => ::std::option::Option::Some(MenuAction::MenuSelectAll),
1768            _ => ::std::option::Option::None
1769        }
1770    }
1771
1772    fn from_str(str: &str) -> ::std::option::Option<MenuAction> {
1773        match str {
1774            "MenuNone" => ::std::option::Option::Some(MenuAction::MenuNone),
1775            "MenuSelect" => ::std::option::Option::Some(MenuAction::MenuSelect),
1776            "MenuCancel" => ::std::option::Option::Some(MenuAction::MenuCancel),
1777            "MenuSelectAll" => ::std::option::Option::Some(MenuAction::MenuSelectAll),
1778            _ => ::std::option::Option::None
1779        }
1780    }
1781
1782    const VALUES: &'static [MenuAction] = &[
1783        MenuAction::MenuNone,
1784        MenuAction::MenuSelect,
1785        MenuAction::MenuCancel,
1786        MenuAction::MenuSelectAll,
1787    ];
1788}
1789
1790impl ::protobuf::EnumFull for MenuAction {
1791    fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
1792        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
1793        descriptor.get(|| file_descriptor().enum_by_package_relative_name("MenuAction").unwrap()).clone()
1794    }
1795
1796    fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
1797        let index = *self as usize;
1798        Self::enum_descriptor().value_by_index(index)
1799    }
1800}
1801
1802impl ::std::default::Default for MenuAction {
1803    fn default() -> Self {
1804        MenuAction::MenuNone
1805    }
1806}
1807
1808impl MenuAction {
1809    fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
1810        ::protobuf::reflect::GeneratedEnumDescriptorData::new::<MenuAction>("MenuAction")
1811    }
1812}
1813
1814#[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
1815// @@protoc_insertion_point(enum:DwarfControl.BuildSelectorStage)
1816pub enum BuildSelectorStage {
1817    // @@protoc_insertion_point(enum_value:DwarfControl.BuildSelectorStage.StageNoMat)
1818    StageNoMat = 0,
1819    // @@protoc_insertion_point(enum_value:DwarfControl.BuildSelectorStage.StagePlace)
1820    StagePlace = 1,
1821    // @@protoc_insertion_point(enum_value:DwarfControl.BuildSelectorStage.StageItemSelect)
1822    StageItemSelect = 2,
1823}
1824
1825impl ::protobuf::Enum for BuildSelectorStage {
1826    const NAME: &'static str = "BuildSelectorStage";
1827
1828    fn value(&self) -> i32 {
1829        *self as i32
1830    }
1831
1832    fn from_i32(value: i32) -> ::std::option::Option<BuildSelectorStage> {
1833        match value {
1834            0 => ::std::option::Option::Some(BuildSelectorStage::StageNoMat),
1835            1 => ::std::option::Option::Some(BuildSelectorStage::StagePlace),
1836            2 => ::std::option::Option::Some(BuildSelectorStage::StageItemSelect),
1837            _ => ::std::option::Option::None
1838        }
1839    }
1840
1841    fn from_str(str: &str) -> ::std::option::Option<BuildSelectorStage> {
1842        match str {
1843            "StageNoMat" => ::std::option::Option::Some(BuildSelectorStage::StageNoMat),
1844            "StagePlace" => ::std::option::Option::Some(BuildSelectorStage::StagePlace),
1845            "StageItemSelect" => ::std::option::Option::Some(BuildSelectorStage::StageItemSelect),
1846            _ => ::std::option::Option::None
1847        }
1848    }
1849
1850    const VALUES: &'static [BuildSelectorStage] = &[
1851        BuildSelectorStage::StageNoMat,
1852        BuildSelectorStage::StagePlace,
1853        BuildSelectorStage::StageItemSelect,
1854    ];
1855}
1856
1857impl ::protobuf::EnumFull for BuildSelectorStage {
1858    fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
1859        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
1860        descriptor.get(|| file_descriptor().enum_by_package_relative_name("BuildSelectorStage").unwrap()).clone()
1861    }
1862
1863    fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
1864        let index = *self as usize;
1865        Self::enum_descriptor().value_by_index(index)
1866    }
1867}
1868
1869impl ::std::default::Default for BuildSelectorStage {
1870    fn default() -> Self {
1871        BuildSelectorStage::StageNoMat
1872    }
1873}
1874
1875impl BuildSelectorStage {
1876    fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
1877        ::protobuf::reflect::GeneratedEnumDescriptorData::new::<BuildSelectorStage>("BuildSelectorStage")
1878    }
1879}
1880
1881static file_descriptor_proto_data: &'static [u8] = b"\
1882    \n\x12DwarfControl.proto\x12\x0cDwarfControl\x1a\x15ui_sidebar_mode.prot\
1883    o\x1a\x1aRemoteFortressReader.proto\"\xcb\x01\n\x0cSidebarState\x12@\n\
1884    \x04mode\x18\x01\x20\x01(\x0e2,.proto.enums.ui_sidebar_mode.ui_sidebar_m\
1885    odeR\x04mode\x125\n\nmenu_items\x18\x02\x20\x03(\x0b2\x16.DwarfControl.M\
1886    enuItemR\tmenuItems\x12B\n\x0ebuild_selector\x18\x03\x20\x01(\x0b2\x1b.D\
1887    warfControl.BuildSelectorR\rbuildSelector\"\xbe\x01\n\x08MenuItem\x12G\n\
1888    \rbuilding_type\x18\x01\x20\x01(\x0b2\".RemoteFortressReader.BuildingTyp\
1889    eR\x0cbuildingType\x12%\n\x0eexisting_count\x18\x02\x20\x01(\x05R\rexist\
1890    ingCount\x12B\n\x0ebuild_category\x18\x03\x20\x01(\x0e2\x1b.DwarfControl\
1891    .BuildCategoryR\rbuildCategory\"\xe9\x01\n\x0eSidebarCommand\x12@\n\x04m\
1892    ode\x18\x01\x20\x01(\x0e2,.proto.enums.ui_sidebar_mode.ui_sidebar_modeR\
1893    \x04mode\x12\x1d\n\nmenu_index\x18\x02\x20\x01(\x05R\tmenuIndex\x120\n\
1894    \x06action\x18\x03\x20\x01(\x0e2\x18.DwarfControl.MenuActionR\x06action\
1895    \x12D\n\x0fselection_coord\x18\x04\x20\x01(\x0b2\x1b.RemoteFortressReade\
1896    r.CoordR\x0eselectionCoord\"\x87\x01\n\x0fBuiildReqChoice\x12\x1a\n\x08d\
1897    istance\x18\x01\x20\x01(\x05R\x08distance\x12\x12\n\x04name\x18\x02\x20\
1898    \x01(\tR\x04name\x12%\n\x0enum_candidates\x18\x03\x20\x01(\x05R\rnumCand\
1899    idates\x12\x1d\n\nused_count\x18\x04\x20\x01(\x05R\tusedCount\"y\n\x0cBu\
1900    ildItemReq\x12%\n\x0ecount_required\x18\x02\x20\x01(\x05R\rcountRequired\
1901    \x12\x1b\n\tcount_max\x18\x03\x20\x01(\x05R\x08countMax\x12%\n\x0ecount_\
1902    provided\x18\x04\x20\x01(\x05R\rcountProvided\"\xb2\x04\n\rBuildSelector\
1903    \x12G\n\rbuilding_type\x18\x01\x20\x01(\x0b2\".RemoteFortressReader.Buil\
1904    dingTypeR\x0cbuildingType\x126\n\x05stage\x18\x02\x20\x01(\x0e2\x20.Dwar\
1905    fControl.BuildSelectorStageR\x05stage\x127\n\x07choices\x18\x03\x20\x03(\
1906    \x0b2\x1d.DwarfControl.BuiildReqChoiceR\x07choices\x12\x1b\n\tsel_index\
1907    \x18\x04\x20\x01(\x05R\x08selIndex\x12>\n\x0crequirements\x18\x05\x20\
1908    \x03(\x0b2\x1a.DwarfControl.BuildItemReqR\x0crequirements\x12\x1b\n\treq\
1909    _index\x18\x06\x20\x01(\x05R\x08reqIndex\x12\x16\n\x06errors\x18\x07\x20\
1910    \x03(\tR\x06errors\x12\x20\n\x0cradius_x_low\x18\x08\x20\x01(\x05R\nradi\
1911    usXLow\x12\x20\n\x0cradius_y_low\x18\t\x20\x01(\x05R\nradiusYLow\x12\"\n\
1912    \rradius_x_high\x18\n\x20\x01(\x05R\x0bradiusXHigh\x12\"\n\rradius_y_hig\
1913    h\x18\x0b\x20\x01(\x05R\x0bradiusYHigh\x123\n\x06cursor\x18\x0c\x20\x01(\
1914    \x0b2\x1b.RemoteFortressReader.CoordR\x06cursor\x12\x14\n\x05tiles\x18\r\
1915    \x20\x03(\x05R\x05tiles*\x8f\x01\n\rBuildCategory\x12\x0f\n\x0bNotCatego\
1916    ry\x10\0\x12\x10\n\x0cSiegeEngines\x10\x01\x12\t\n\x05Traps\x10\x02\x12\
1917    \r\n\tWorkshops\x10\x03\x12\x0c\n\x08Furnaces\x10\x04\x12\x11\n\rConstru\
1918    ctions\x10\x05\x12\x15\n\x11MachineComponents\x10\x06\x12\t\n\x05Track\
1919    \x10\x07*M\n\nMenuAction\x12\x0c\n\x08MenuNone\x10\0\x12\x0e\n\nMenuSele\
1920    ct\x10\x01\x12\x0e\n\nMenuCancel\x10\x02\x12\x11\n\rMenuSelectAll\x10\
1921    \x03*I\n\x12BuildSelectorStage\x12\x0e\n\nStageNoMat\x10\0\x12\x0e\n\nSt\
1922    agePlace\x10\x01\x12\x13\n\x0fStageItemSelect\x10\x02B\x02H\x03b\x06prot\
1923    o2\
1924";
1925
1926/// `FileDescriptorProto` object which was a source for this generated file
1927fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
1928    static file_descriptor_proto_lazy: ::protobuf::rt::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::Lazy::new();
1929    file_descriptor_proto_lazy.get(|| {
1930        ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
1931    })
1932}
1933
1934/// `FileDescriptor` object which allows dynamic access to files
1935pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
1936    static generated_file_descriptor_lazy: ::protobuf::rt::Lazy<::protobuf::reflect::GeneratedFileDescriptor> = ::protobuf::rt::Lazy::new();
1937    static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
1938    file_descriptor.get(|| {
1939        let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
1940            let mut deps = ::std::vec::Vec::with_capacity(2);
1941            deps.push(super::ui_sidebar_mode::file_descriptor().clone());
1942            deps.push(super::RemoteFortressReader::file_descriptor().clone());
1943            let mut messages = ::std::vec::Vec::with_capacity(6);
1944            messages.push(SidebarState::generated_message_descriptor_data());
1945            messages.push(MenuItem::generated_message_descriptor_data());
1946            messages.push(SidebarCommand::generated_message_descriptor_data());
1947            messages.push(BuiildReqChoice::generated_message_descriptor_data());
1948            messages.push(BuildItemReq::generated_message_descriptor_data());
1949            messages.push(BuildSelector::generated_message_descriptor_data());
1950            let mut enums = ::std::vec::Vec::with_capacity(3);
1951            enums.push(BuildCategory::generated_enum_descriptor_data());
1952            enums.push(MenuAction::generated_enum_descriptor_data());
1953            enums.push(BuildSelectorStage::generated_enum_descriptor_data());
1954            ::protobuf::reflect::GeneratedFileDescriptor::new_generated(
1955                file_descriptor_proto(),
1956                deps,
1957                messages,
1958                enums,
1959            )
1960        });
1961        ::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor)
1962    })
1963}