dfhack_proto/generated/messages/
DwarfControl.rs

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