BWAPI
Undermind/proxy/gen/cpp/unit.pb.h
Go to the documentation of this file.
00001 // Generated by the protocol buffer compiler.  DO NOT EDIT!
00002 // source: unit.proto
00003 
00004 #ifndef PROTOBUF_unit_2eproto__INCLUDED
00005 #define PROTOBUF_unit_2eproto__INCLUDED
00006 
00007 #include <string>
00008 
00009 #include <google/protobuf/stubs/common.h>
00010 
00011 #if GOOGLE_PROTOBUF_VERSION < 2003000
00012 #error This file was generated by a newer version of protoc which is
00013 #error incompatible with your Protocol Buffer headers.  Please update
00014 #error your headers.
00015 #endif
00016 #if 2003000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
00017 #error This file was generated by an older version of protoc which is
00018 #error incompatible with your Protocol Buffer headers.  Please
00019 #error regenerate this file with a newer version of protoc.
00020 #endif
00021 
00022 #include <google/protobuf/generated_message_util.h>
00023 #include <google/protobuf/repeated_field.h>
00024 #include <google/protobuf/extension_set.h>
00025 #include <google/protobuf/generated_message_reflection.h>
00026 #include "types.pb.h"
00027 #include "draw.pb.h"
00028 // @@protoc_insertion_point(includes)
00029 
00030 namespace messages {
00031 
00032 // Internal implementation detail -- do not call these.
00033 void  protobuf_AddDesc_unit_2eproto();
00034 void protobuf_AssignDesc_unit_2eproto();
00035 void protobuf_ShutdownFile_unit_2eproto();
00036 
00037 class UnitId;
00038 class UnitType;
00039 class UnitTypeData;
00040 class UpgradeTypeData;
00041 class Unit;
00042 class RaceData;
00043 class PlayerStatus;
00044 class UnitTypeIntPair;
00045 class Player;
00046 class UpgradeLevel;
00047 class TechType;
00048 class UpgradeType;
00049 class TechTypeData;
00050 class WeaponType;
00051 class WeaponTypeData;
00052 class StaticGameData;
00053 class Bullet;
00054 
00055 enum UnitSizeType {
00056   Independent = 0,
00057   Small = 1,
00058   Medium = 2,
00059   Large = 3,
00060   NoneSize = 4,
00061   UnknownSize = 5
00062 };
00063 bool UnitSizeType_IsValid(int value);
00064 const UnitSizeType UnitSizeType_MIN = Independent;
00065 const UnitSizeType UnitSizeType_MAX = UnknownSize;
00066 const int UnitSizeType_ARRAYSIZE = UnitSizeType_MAX + 1;
00067 
00068 const ::google::protobuf::EnumDescriptor* UnitSizeType_descriptor();
00069 inline const ::std::string& UnitSizeType_Name(UnitSizeType value) {
00070   return ::google::protobuf::internal::NameOfEnum(
00071     UnitSizeType_descriptor(), value);
00072 }
00073 inline bool UnitSizeType_Parse(
00074     const ::std::string& name, UnitSizeType* value) {
00075   return ::google::protobuf::internal::ParseNamedEnum<UnitSizeType>(
00076     UnitSizeType_descriptor(), name, value);
00077 }
00078 enum Race {
00079   Zerg = 0,
00080   Terran = 1,
00081   Protoss = 2,
00082   Random = 3,
00083   Other = 4,
00084   None = 5,
00085   Unknown = 6
00086 };
00087 bool Race_IsValid(int value);
00088 const Race Race_MIN = Zerg;
00089 const Race Race_MAX = Unknown;
00090 const int Race_ARRAYSIZE = Race_MAX + 1;
00091 
00092 const ::google::protobuf::EnumDescriptor* Race_descriptor();
00093 inline const ::std::string& Race_Name(Race value) {
00094   return ::google::protobuf::internal::NameOfEnum(
00095     Race_descriptor(), value);
00096 }
00097 inline bool Race_Parse(
00098     const ::std::string& name, Race* value) {
00099   return ::google::protobuf::internal::ParseNamedEnum<Race>(
00100     Race_descriptor(), name, value);
00101 }
00102 enum PlayerStance {
00103   Neutral = 1,
00104   Ally = 2,
00105   Enemy = 3
00106 };
00107 bool PlayerStance_IsValid(int value);
00108 const PlayerStance PlayerStance_MIN = Neutral;
00109 const PlayerStance PlayerStance_MAX = Enemy;
00110 const int PlayerStance_ARRAYSIZE = PlayerStance_MAX + 1;
00111 
00112 const ::google::protobuf::EnumDescriptor* PlayerStance_descriptor();
00113 inline const ::std::string& PlayerStance_Name(PlayerStance value) {
00114   return ::google::protobuf::internal::NameOfEnum(
00115     PlayerStance_descriptor(), value);
00116 }
00117 inline bool PlayerStance_Parse(
00118     const ::std::string& name, PlayerStance* value) {
00119   return ::google::protobuf::internal::ParseNamedEnum<PlayerStance>(
00120     PlayerStance_descriptor(), name, value);
00121 }
00122 enum DamageType {
00123   IndependentDamage = 0,
00124   Explosive = 1,
00125   Concussive = 2,
00126   Normal = 3,
00127   IgnoreArmor = 4,
00128   NoneDamage = 5,
00129   UnknownDamage = 6
00130 };
00131 bool DamageType_IsValid(int value);
00132 const DamageType DamageType_MIN = IndependentDamage;
00133 const DamageType DamageType_MAX = UnknownDamage;
00134 const int DamageType_ARRAYSIZE = DamageType_MAX + 1;
00135 
00136 const ::google::protobuf::EnumDescriptor* DamageType_descriptor();
00137 inline const ::std::string& DamageType_Name(DamageType value) {
00138   return ::google::protobuf::internal::NameOfEnum(
00139     DamageType_descriptor(), value);
00140 }
00141 inline bool DamageType_Parse(
00142     const ::std::string& name, DamageType* value) {
00143   return ::google::protobuf::internal::ParseNamedEnum<DamageType>(
00144     DamageType_descriptor(), name, value);
00145 }
00146 enum ExplosionType {
00147   ExplosionNone = 0,
00148   ExplosionNormal = 1,
00149   Radial_Splash = 2,
00150   Enemy_Splash = 3,
00151   Lockdown = 4,
00152   Nuclear_Missile = 5,
00153   Parasite = 6,
00154   Broodlings = 7,
00155   EMP_Shockwave = 8,
00156   Irradiate = 9,
00157   Ensnare = 10,
00158   Plague = 11,
00159   Stasis_Field = 12,
00160   Dark_Swarm = 13,
00161   Consume = 14,
00162   Yamato_Gun = 15,
00163   Restoration = 16,
00164   Disruption_Web = 17,
00165   Corrosive_Acid = 18,
00166   Mind_Control = 19,
00167   Feedback = 20,
00168   Optical_Flare = 21,
00169   Maelstrom = 22,
00170   Air_Splash = 24,
00171   ExplosionUnknown = 25
00172 };
00173 bool ExplosionType_IsValid(int value);
00174 const ExplosionType ExplosionType_MIN = ExplosionNone;
00175 const ExplosionType ExplosionType_MAX = ExplosionUnknown;
00176 const int ExplosionType_ARRAYSIZE = ExplosionType_MAX + 1;
00177 
00178 const ::google::protobuf::EnumDescriptor* ExplosionType_descriptor();
00179 inline const ::std::string& ExplosionType_Name(ExplosionType value) {
00180   return ::google::protobuf::internal::NameOfEnum(
00181     ExplosionType_descriptor(), value);
00182 }
00183 inline bool ExplosionType_Parse(
00184     const ::std::string& name, ExplosionType* value) {
00185   return ::google::protobuf::internal::ParseNamedEnum<ExplosionType>(
00186     ExplosionType_descriptor(), name, value);
00187 }
00188 enum BulletType {
00189   Melee = 0,
00190   Fusion_Cutter_Hit = 141,
00191   Gauss_Rifle_Hit = 142,
00192   C_10_Canister_Rifle_Hit = 143,
00193   Gemini_Missiles = 144,
00194   Fragmentation_Grenade = 145,
00195   Longbolt_Missile = 146,
00196   ATS_ATA_Laser_Battery = 148,
00197   Burst_Lasers = 149,
00198   Arclite_Shock_Cannon_Hit = 150,
00199   EMP_Missile = 151,
00200   Dual_Photon_Blasters_Hit = 152,
00201   Particle_Beam_Hit = 153,
00202   Anti_Matter_Missile = 154,
00203   Pulse_Cannon = 155,
00204   Psionic_Shockwave_Hit = 156,
00205   Psionic_Storm = 157,
00206   Yamato_Gun_Bullet = 158,
00207   Phase_Disruptor = 159,
00208   STA_STS_Cannon_Overlay = 160,
00209   Sunken_Colony_Tentacle = 161,
00210   Acid_Spore = 163,
00211   Glave_Wurm = 165,
00212   Seeker_Spores = 166,
00213   Queen_Spell_Carrier = 167,
00214   Plague_Cloud = 168,
00215   ConsumeBullet = 169,
00216   Needle_Spine_Hit = 171,
00217   Invisible = 172,
00218   Optical_Flare_Grenade = 201,
00219   Halo_Rockets = 202,
00220   Subterranean_Spines = 203,
00221   Corrosive_Acid_Shot = 204,
00222   Neutron_Flare = 206,
00223   NoneBullet = 209,
00224   UnknownBullet = 210
00225 };
00226 bool BulletType_IsValid(int value);
00227 const BulletType BulletType_MIN = Melee;
00228 const BulletType BulletType_MAX = UnknownBullet;
00229 const int BulletType_ARRAYSIZE = BulletType_MAX + 1;
00230 
00231 const ::google::protobuf::EnumDescriptor* BulletType_descriptor();
00232 inline const ::std::string& BulletType_Name(BulletType value) {
00233   return ::google::protobuf::internal::NameOfEnum(
00234     BulletType_descriptor(), value);
00235 }
00236 inline bool BulletType_Parse(
00237     const ::std::string& name, BulletType* value) {
00238   return ::google::protobuf::internal::ParseNamedEnum<BulletType>(
00239     BulletType_descriptor(), name, value);
00240 }
00241 // ===================================================================
00242 
00243 class UnitId : public ::google::protobuf::Message {
00244  public:
00245   UnitId();
00246   virtual ~UnitId();
00247   
00248   UnitId(const UnitId& from);
00249   
00250   inline UnitId& operator=(const UnitId& from) {
00251     CopyFrom(from);
00252     return *this;
00253   }
00254   
00255   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
00256     return _unknown_fields_;
00257   }
00258   
00259   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
00260     return &_unknown_fields_;
00261   }
00262   
00263   static const ::google::protobuf::Descriptor* descriptor();
00264   static const UnitId& default_instance();
00265   
00266   void Swap(UnitId* other);
00267   
00268   // implements Message ----------------------------------------------
00269   
00270   UnitId* New() const;
00271   void CopyFrom(const ::google::protobuf::Message& from);
00272   void MergeFrom(const ::google::protobuf::Message& from);
00273   void CopyFrom(const UnitId& from);
00274   void MergeFrom(const UnitId& from);
00275   void Clear();
00276   bool IsInitialized() const;
00277   
00278   int ByteSize() const;
00279   bool MergePartialFromCodedStream(
00280       ::google::protobuf::io::CodedInputStream* input);
00281   void SerializeWithCachedSizes(
00282       ::google::protobuf::io::CodedOutputStream* output) const;
00283   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
00284   int GetCachedSize() const { return _cached_size_; }
00285   private:
00286   void SharedCtor();
00287   void SharedDtor();
00288   void SetCachedSize(int size) const;
00289   public:
00290   
00291   ::google::protobuf::Metadata GetMetadata() const;
00292   
00293   // nested types ----------------------------------------------------
00294   
00295   // accessors -------------------------------------------------------
00296   
00297   // required int32 id = 1;
00298   inline bool has_id() const;
00299   inline void clear_id();
00300   static const int kIdFieldNumber = 1;
00301   inline ::google::protobuf::int32 id() const;
00302   inline void set_id(::google::protobuf::int32 value);
00303   
00304   // @@protoc_insertion_point(class_scope:messages.UnitId)
00305  private:
00306   ::google::protobuf::UnknownFieldSet _unknown_fields_;
00307   mutable int _cached_size_;
00308   
00309   ::google::protobuf::int32 id_;
00310   friend void  protobuf_AddDesc_unit_2eproto();
00311   friend void protobuf_AssignDesc_unit_2eproto();
00312   friend void protobuf_ShutdownFile_unit_2eproto();
00313   
00314   ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
00315   
00316   // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
00317   inline bool _has_bit(int index) const {
00318     return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
00319   }
00320   inline void _set_bit(int index) {
00321     _has_bits_[index / 32] |= (1u << (index % 32));
00322   }
00323   inline void _clear_bit(int index) {
00324     _has_bits_[index / 32] &= ~(1u << (index % 32));
00325   }
00326   
00327   void InitAsDefaultInstance();
00328   static UnitId* default_instance_;
00329 };
00330 // -------------------------------------------------------------------
00331 
00332 class UnitType : public ::google::protobuf::Message {
00333  public:
00334   UnitType();
00335   virtual ~UnitType();
00336   
00337   UnitType(const UnitType& from);
00338   
00339   inline UnitType& operator=(const UnitType& from) {
00340     CopyFrom(from);
00341     return *this;
00342   }
00343   
00344   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
00345     return _unknown_fields_;
00346   }
00347   
00348   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
00349     return &_unknown_fields_;
00350   }
00351   
00352   static const ::google::protobuf::Descriptor* descriptor();
00353   static const UnitType& default_instance();
00354   
00355   void Swap(UnitType* other);
00356   
00357   // implements Message ----------------------------------------------
00358   
00359   UnitType* New() const;
00360   void CopyFrom(const ::google::protobuf::Message& from);
00361   void MergeFrom(const ::google::protobuf::Message& from);
00362   void CopyFrom(const UnitType& from);
00363   void MergeFrom(const UnitType& from);
00364   void Clear();
00365   bool IsInitialized() const;
00366   
00367   int ByteSize() const;
00368   bool MergePartialFromCodedStream(
00369       ::google::protobuf::io::CodedInputStream* input);
00370   void SerializeWithCachedSizes(
00371       ::google::protobuf::io::CodedOutputStream* output) const;
00372   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
00373   int GetCachedSize() const { return _cached_size_; }
00374   private:
00375   void SharedCtor();
00376   void SharedDtor();
00377   void SetCachedSize(int size) const;
00378   public:
00379   
00380   ::google::protobuf::Metadata GetMetadata() const;
00381   
00382   // nested types ----------------------------------------------------
00383   
00384   // accessors -------------------------------------------------------
00385   
00386   // required int32 id = 1;
00387   inline bool has_id() const;
00388   inline void clear_id();
00389   static const int kIdFieldNumber = 1;
00390   inline ::google::protobuf::int32 id() const;
00391   inline void set_id(::google::protobuf::int32 value);
00392   
00393   // @@protoc_insertion_point(class_scope:messages.UnitType)
00394  private:
00395   ::google::protobuf::UnknownFieldSet _unknown_fields_;
00396   mutable int _cached_size_;
00397   
00398   ::google::protobuf::int32 id_;
00399   friend void  protobuf_AddDesc_unit_2eproto();
00400   friend void protobuf_AssignDesc_unit_2eproto();
00401   friend void protobuf_ShutdownFile_unit_2eproto();
00402   
00403   ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
00404   
00405   // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
00406   inline bool _has_bit(int index) const {
00407     return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
00408   }
00409   inline void _set_bit(int index) {
00410     _has_bits_[index / 32] |= (1u << (index % 32));
00411   }
00412   inline void _clear_bit(int index) {
00413     _has_bits_[index / 32] &= ~(1u << (index % 32));
00414   }
00415   
00416   void InitAsDefaultInstance();
00417   static UnitType* default_instance_;
00418 };
00419 // -------------------------------------------------------------------
00420 
00421 class UnitTypeData : public ::google::protobuf::Message {
00422  public:
00423   UnitTypeData();
00424   virtual ~UnitTypeData();
00425   
00426   UnitTypeData(const UnitTypeData& from);
00427   
00428   inline UnitTypeData& operator=(const UnitTypeData& from) {
00429     CopyFrom(from);
00430     return *this;
00431   }
00432   
00433   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
00434     return _unknown_fields_;
00435   }
00436   
00437   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
00438     return &_unknown_fields_;
00439   }
00440   
00441   static const ::google::protobuf::Descriptor* descriptor();
00442   static const UnitTypeData& default_instance();
00443   
00444   void Swap(UnitTypeData* other);
00445   
00446   // implements Message ----------------------------------------------
00447   
00448   UnitTypeData* New() const;
00449   void CopyFrom(const ::google::protobuf::Message& from);
00450   void MergeFrom(const ::google::protobuf::Message& from);
00451   void CopyFrom(const UnitTypeData& from);
00452   void MergeFrom(const UnitTypeData& from);
00453   void Clear();
00454   bool IsInitialized() const;
00455   
00456   int ByteSize() const;
00457   bool MergePartialFromCodedStream(
00458       ::google::protobuf::io::CodedInputStream* input);
00459   void SerializeWithCachedSizes(
00460       ::google::protobuf::io::CodedOutputStream* output) const;
00461   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
00462   int GetCachedSize() const { return _cached_size_; }
00463   private:
00464   void SharedCtor();
00465   void SharedDtor();
00466   void SetCachedSize(int size) const;
00467   public:
00468   
00469   ::google::protobuf::Metadata GetMetadata() const;
00470   
00471   // nested types ----------------------------------------------------
00472   
00473   // accessors -------------------------------------------------------
00474   
00475   // required int32 id = 1;
00476   inline bool has_id() const;
00477   inline void clear_id();
00478   static const int kIdFieldNumber = 1;
00479   inline ::google::protobuf::int32 id() const;
00480   inline void set_id(::google::protobuf::int32 value);
00481   
00482   // required string name = 2;
00483   inline bool has_name() const;
00484   inline void clear_name();
00485   static const int kNameFieldNumber = 2;
00486   inline const ::std::string& name() const;
00487   inline void set_name(const ::std::string& value);
00488   inline void set_name(const char* value);
00489   inline void set_name(const char* value, size_t size);
00490   inline ::std::string* mutable_name();
00491   
00492   // required string sublabel = 3;
00493   inline bool has_sublabel() const;
00494   inline void clear_sublabel();
00495   static const int kSublabelFieldNumber = 3;
00496   inline const ::std::string& sublabel() const;
00497   inline void set_sublabel(const ::std::string& value);
00498   inline void set_sublabel(const char* value);
00499   inline void set_sublabel(const char* value, size_t size);
00500   inline ::std::string* mutable_sublabel();
00501   
00502   // required .messages.Race race = 4;
00503   inline bool has_race() const;
00504   inline void clear_race();
00505   static const int kRaceFieldNumber = 4;
00506   inline messages::Race race() const;
00507   inline void set_race(messages::Race value);
00508   
00509   // required .messages.UnitType whatBuildsType = 5;
00510   inline bool has_whatbuildstype() const;
00511   inline void clear_whatbuildstype();
00512   static const int kWhatBuildsTypeFieldNumber = 5;
00513   inline const ::messages::UnitType& whatbuildstype() const;
00514   inline ::messages::UnitType* mutable_whatbuildstype();
00515   
00516   // required int32 whatBuildsNumber = 6;
00517   inline bool has_whatbuildsnumber() const;
00518   inline void clear_whatbuildsnumber();
00519   static const int kWhatBuildsNumberFieldNumber = 6;
00520   inline ::google::protobuf::int32 whatbuildsnumber() const;
00521   inline void set_whatbuildsnumber(::google::protobuf::int32 value);
00522   
00523   // repeated .messages.UnitTypeIntPair requiredUnits = 7;
00524   inline int requiredunits_size() const;
00525   inline void clear_requiredunits();
00526   static const int kRequiredUnitsFieldNumber = 7;
00527   inline const ::messages::UnitTypeIntPair& requiredunits(int index) const;
00528   inline ::messages::UnitTypeIntPair* mutable_requiredunits(int index);
00529   inline ::messages::UnitTypeIntPair* add_requiredunits();
00530   inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >&
00531       requiredunits() const;
00532   inline ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >*
00533       mutable_requiredunits();
00534   
00535   // required .messages.TechType requiredTech = 8;
00536   inline bool has_requiredtech() const;
00537   inline void clear_requiredtech();
00538   static const int kRequiredTechFieldNumber = 8;
00539   inline const ::messages::TechType& requiredtech() const;
00540   inline ::messages::TechType* mutable_requiredtech();
00541   
00542   // repeated .messages.TechType abilities = 9;
00543   inline int abilities_size() const;
00544   inline void clear_abilities();
00545   static const int kAbilitiesFieldNumber = 9;
00546   inline const ::messages::TechType& abilities(int index) const;
00547   inline ::messages::TechType* mutable_abilities(int index);
00548   inline ::messages::TechType* add_abilities();
00549   inline const ::google::protobuf::RepeatedPtrField< ::messages::TechType >&
00550       abilities() const;
00551   inline ::google::protobuf::RepeatedPtrField< ::messages::TechType >*
00552       mutable_abilities();
00553   
00554   // repeated .messages.UpgradeType upgrades = 10;
00555   inline int upgrades_size() const;
00556   inline void clear_upgrades();
00557   static const int kUpgradesFieldNumber = 10;
00558   inline const ::messages::UpgradeType& upgrades(int index) const;
00559   inline ::messages::UpgradeType* mutable_upgrades(int index);
00560   inline ::messages::UpgradeType* add_upgrades();
00561   inline const ::google::protobuf::RepeatedPtrField< ::messages::UpgradeType >&
00562       upgrades() const;
00563   inline ::google::protobuf::RepeatedPtrField< ::messages::UpgradeType >*
00564       mutable_upgrades();
00565   
00566   // required .messages.UpgradeType armorUpgrade = 11;
00567   inline bool has_armorupgrade() const;
00568   inline void clear_armorupgrade();
00569   static const int kArmorUpgradeFieldNumber = 11;
00570   inline const ::messages::UpgradeType& armorupgrade() const;
00571   inline ::messages::UpgradeType* mutable_armorupgrade();
00572   
00573   // required int32 maxHitPoints = 12;
00574   inline bool has_maxhitpoints() const;
00575   inline void clear_maxhitpoints();
00576   static const int kMaxHitPointsFieldNumber = 12;
00577   inline ::google::protobuf::int32 maxhitpoints() const;
00578   inline void set_maxhitpoints(::google::protobuf::int32 value);
00579   
00580   // required int32 maxShields = 13;
00581   inline bool has_maxshields() const;
00582   inline void clear_maxshields();
00583   static const int kMaxShieldsFieldNumber = 13;
00584   inline ::google::protobuf::int32 maxshields() const;
00585   inline void set_maxshields(::google::protobuf::int32 value);
00586   
00587   // required int32 maxEnergy = 14;
00588   inline bool has_maxenergy() const;
00589   inline void clear_maxenergy();
00590   static const int kMaxEnergyFieldNumber = 14;
00591   inline ::google::protobuf::int32 maxenergy() const;
00592   inline void set_maxenergy(::google::protobuf::int32 value);
00593   
00594   // required int32 armor = 15;
00595   inline bool has_armor() const;
00596   inline void clear_armor();
00597   static const int kArmorFieldNumber = 15;
00598   inline ::google::protobuf::int32 armor() const;
00599   inline void set_armor(::google::protobuf::int32 value);
00600   
00601   // required int32 mineralPrice = 16;
00602   inline bool has_mineralprice() const;
00603   inline void clear_mineralprice();
00604   static const int kMineralPriceFieldNumber = 16;
00605   inline ::google::protobuf::int32 mineralprice() const;
00606   inline void set_mineralprice(::google::protobuf::int32 value);
00607   
00608   // required int32 gasPrice = 17;
00609   inline bool has_gasprice() const;
00610   inline void clear_gasprice();
00611   static const int kGasPriceFieldNumber = 17;
00612   inline ::google::protobuf::int32 gasprice() const;
00613   inline void set_gasprice(::google::protobuf::int32 value);
00614   
00615   // required int32 buildTime = 18;
00616   inline bool has_buildtime() const;
00617   inline void clear_buildtime();
00618   static const int kBuildTimeFieldNumber = 18;
00619   inline ::google::protobuf::int32 buildtime() const;
00620   inline void set_buildtime(::google::protobuf::int32 value);
00621   
00622   // required int32 supplyRequired = 19;
00623   inline bool has_supplyrequired() const;
00624   inline void clear_supplyrequired();
00625   static const int kSupplyRequiredFieldNumber = 19;
00626   inline ::google::protobuf::int32 supplyrequired() const;
00627   inline void set_supplyrequired(::google::protobuf::int32 value);
00628   
00629   // required int32 supplyProvided = 20;
00630   inline bool has_supplyprovided() const;
00631   inline void clear_supplyprovided();
00632   static const int kSupplyProvidedFieldNumber = 20;
00633   inline ::google::protobuf::int32 supplyprovided() const;
00634   inline void set_supplyprovided(::google::protobuf::int32 value);
00635   
00636   // required int32 spaceRequired = 21;
00637   inline bool has_spacerequired() const;
00638   inline void clear_spacerequired();
00639   static const int kSpaceRequiredFieldNumber = 21;
00640   inline ::google::protobuf::int32 spacerequired() const;
00641   inline void set_spacerequired(::google::protobuf::int32 value);
00642   
00643   // required int32 spaceProvided = 66;
00644   inline bool has_spaceprovided() const;
00645   inline void clear_spaceprovided();
00646   static const int kSpaceProvidedFieldNumber = 66;
00647   inline ::google::protobuf::int32 spaceprovided() const;
00648   inline void set_spaceprovided(::google::protobuf::int32 value);
00649   
00650   // required int32 buildScore = 22;
00651   inline bool has_buildscore() const;
00652   inline void clear_buildscore();
00653   static const int kBuildScoreFieldNumber = 22;
00654   inline ::google::protobuf::int32 buildscore() const;
00655   inline void set_buildscore(::google::protobuf::int32 value);
00656   
00657   // required int32 destroyScore = 23;
00658   inline bool has_destroyscore() const;
00659   inline void clear_destroyscore();
00660   static const int kDestroyScoreFieldNumber = 23;
00661   inline ::google::protobuf::int32 destroyscore() const;
00662   inline void set_destroyscore(::google::protobuf::int32 value);
00663   
00664   // required .messages.UnitSizeType size = 24;
00665   inline bool has_size() const;
00666   inline void clear_size();
00667   static const int kSizeFieldNumber = 24;
00668   inline messages::UnitSizeType size() const;
00669   inline void set_size(messages::UnitSizeType value);
00670   
00671   // required int32 tileWidth = 25;
00672   inline bool has_tilewidth() const;
00673   inline void clear_tilewidth();
00674   static const int kTileWidthFieldNumber = 25;
00675   inline ::google::protobuf::int32 tilewidth() const;
00676   inline void set_tilewidth(::google::protobuf::int32 value);
00677   
00678   // required int32 tileHeight = 26;
00679   inline bool has_tileheight() const;
00680   inline void clear_tileheight();
00681   static const int kTileHeightFieldNumber = 26;
00682   inline ::google::protobuf::int32 tileheight() const;
00683   inline void set_tileheight(::google::protobuf::int32 value);
00684   
00685   // required int32 dimensionLeft = 27;
00686   inline bool has_dimensionleft() const;
00687   inline void clear_dimensionleft();
00688   static const int kDimensionLeftFieldNumber = 27;
00689   inline ::google::protobuf::int32 dimensionleft() const;
00690   inline void set_dimensionleft(::google::protobuf::int32 value);
00691   
00692   // required int32 dimensionUp = 28;
00693   inline bool has_dimensionup() const;
00694   inline void clear_dimensionup();
00695   static const int kDimensionUpFieldNumber = 28;
00696   inline ::google::protobuf::int32 dimensionup() const;
00697   inline void set_dimensionup(::google::protobuf::int32 value);
00698   
00699   // required int32 dimensionRight = 29;
00700   inline bool has_dimensionright() const;
00701   inline void clear_dimensionright();
00702   static const int kDimensionRightFieldNumber = 29;
00703   inline ::google::protobuf::int32 dimensionright() const;
00704   inline void set_dimensionright(::google::protobuf::int32 value);
00705   
00706   // required int32 dimensionDown = 30;
00707   inline bool has_dimensiondown() const;
00708   inline void clear_dimensiondown();
00709   static const int kDimensionDownFieldNumber = 30;
00710   inline ::google::protobuf::int32 dimensiondown() const;
00711   inline void set_dimensiondown(::google::protobuf::int32 value);
00712   
00713   // required int32 seekRange = 31;
00714   inline bool has_seekrange() const;
00715   inline void clear_seekrange();
00716   static const int kSeekRangeFieldNumber = 31;
00717   inline ::google::protobuf::int32 seekrange() const;
00718   inline void set_seekrange(::google::protobuf::int32 value);
00719   
00720   // required int32 sightRange = 32;
00721   inline bool has_sightrange() const;
00722   inline void clear_sightrange();
00723   static const int kSightRangeFieldNumber = 32;
00724   inline ::google::protobuf::int32 sightrange() const;
00725   inline void set_sightrange(::google::protobuf::int32 value);
00726   
00727   // required .messages.WeaponType groundWeapon = 33;
00728   inline bool has_groundweapon() const;
00729   inline void clear_groundweapon();
00730   static const int kGroundWeaponFieldNumber = 33;
00731   inline const ::messages::WeaponType& groundweapon() const;
00732   inline ::messages::WeaponType* mutable_groundweapon();
00733   
00734   // required int32 maxGroundHits = 34;
00735   inline bool has_maxgroundhits() const;
00736   inline void clear_maxgroundhits();
00737   static const int kMaxGroundHitsFieldNumber = 34;
00738   inline ::google::protobuf::int32 maxgroundhits() const;
00739   inline void set_maxgroundhits(::google::protobuf::int32 value);
00740   
00741   // required .messages.WeaponType airWeapon = 35;
00742   inline bool has_airweapon() const;
00743   inline void clear_airweapon();
00744   static const int kAirWeaponFieldNumber = 35;
00745   inline const ::messages::WeaponType& airweapon() const;
00746   inline ::messages::WeaponType* mutable_airweapon();
00747   
00748   // required int32 maxAirHits = 36;
00749   inline bool has_maxairhits() const;
00750   inline void clear_maxairhits();
00751   static const int kMaxAirHitsFieldNumber = 36;
00752   inline ::google::protobuf::int32 maxairhits() const;
00753   inline void set_maxairhits(::google::protobuf::int32 value);
00754   
00755   // required double topSpeed = 37;
00756   inline bool has_topspeed() const;
00757   inline void clear_topspeed();
00758   static const int kTopSpeedFieldNumber = 37;
00759   inline double topspeed() const;
00760   inline void set_topspeed(double value);
00761   
00762   // required int32 acceleration = 38;
00763   inline bool has_acceleration() const;
00764   inline void clear_acceleration();
00765   static const int kAccelerationFieldNumber = 38;
00766   inline ::google::protobuf::int32 acceleration() const;
00767   inline void set_acceleration(::google::protobuf::int32 value);
00768   
00769   // required int32 haltDistance = 39;
00770   inline bool has_haltdistance() const;
00771   inline void clear_haltdistance();
00772   static const int kHaltDistanceFieldNumber = 39;
00773   inline ::google::protobuf::int32 haltdistance() const;
00774   inline void set_haltdistance(::google::protobuf::int32 value);
00775   
00776   // required int32 turnRadius = 40;
00777   inline bool has_turnradius() const;
00778   inline void clear_turnradius();
00779   static const int kTurnRadiusFieldNumber = 40;
00780   inline ::google::protobuf::int32 turnradius() const;
00781   inline void set_turnradius(::google::protobuf::int32 value);
00782   
00783   // required bool canProduce = 41;
00784   inline bool has_canproduce() const;
00785   inline void clear_canproduce();
00786   static const int kCanProduceFieldNumber = 41;
00787   inline bool canproduce() const;
00788   inline void set_canproduce(bool value);
00789   
00790   // required bool canAttack = 42;
00791   inline bool has_canattack() const;
00792   inline void clear_canattack();
00793   static const int kCanAttackFieldNumber = 42;
00794   inline bool canattack() const;
00795   inline void set_canattack(bool value);
00796   
00797   // required bool canMove = 43;
00798   inline bool has_canmove() const;
00799   inline void clear_canmove();
00800   static const int kCanMoveFieldNumber = 43;
00801   inline bool canmove() const;
00802   inline void set_canmove(bool value);
00803   
00804   // required bool isFlyer = 44;
00805   inline bool has_isflyer() const;
00806   inline void clear_isflyer();
00807   static const int kIsFlyerFieldNumber = 44;
00808   inline bool isflyer() const;
00809   inline void set_isflyer(bool value);
00810   
00811   // required bool regeneratesHP = 45;
00812   inline bool has_regenerateshp() const;
00813   inline void clear_regenerateshp();
00814   static const int kRegeneratesHPFieldNumber = 45;
00815   inline bool regenerateshp() const;
00816   inline void set_regenerateshp(bool value);
00817   
00818   // required bool isSpellcaster = 46;
00819   inline bool has_isspellcaster() const;
00820   inline void clear_isspellcaster();
00821   static const int kIsSpellcasterFieldNumber = 46;
00822   inline bool isspellcaster() const;
00823   inline void set_isspellcaster(bool value);
00824   
00825   // required bool hasPermanentCloak = 47;
00826   inline bool has_haspermanentcloak() const;
00827   inline void clear_haspermanentcloak();
00828   static const int kHasPermanentCloakFieldNumber = 47;
00829   inline bool haspermanentcloak() const;
00830   inline void set_haspermanentcloak(bool value);
00831   
00832   // required bool isInvincible = 48;
00833   inline bool has_isinvincible() const;
00834   inline void clear_isinvincible();
00835   static const int kIsInvincibleFieldNumber = 48;
00836   inline bool isinvincible() const;
00837   inline void set_isinvincible(bool value);
00838   
00839   // required bool isOrganic = 49;
00840   inline bool has_isorganic() const;
00841   inline void clear_isorganic();
00842   static const int kIsOrganicFieldNumber = 49;
00843   inline bool isorganic() const;
00844   inline void set_isorganic(bool value);
00845   
00846   // required bool isMechanical = 50;
00847   inline bool has_ismechanical() const;
00848   inline void clear_ismechanical();
00849   static const int kIsMechanicalFieldNumber = 50;
00850   inline bool ismechanical() const;
00851   inline void set_ismechanical(bool value);
00852   
00853   // required bool isRobotic = 51;
00854   inline bool has_isrobotic() const;
00855   inline void clear_isrobotic();
00856   static const int kIsRoboticFieldNumber = 51;
00857   inline bool isrobotic() const;
00858   inline void set_isrobotic(bool value);
00859   
00860   // required bool isDetector = 52;
00861   inline bool has_isdetector() const;
00862   inline void clear_isdetector();
00863   static const int kIsDetectorFieldNumber = 52;
00864   inline bool isdetector() const;
00865   inline void set_isdetector(bool value);
00866   
00867   // required bool isResourceContainer = 53;
00868   inline bool has_isresourcecontainer() const;
00869   inline void clear_isresourcecontainer();
00870   static const int kIsResourceContainerFieldNumber = 53;
00871   inline bool isresourcecontainer() const;
00872   inline void set_isresourcecontainer(bool value);
00873   
00874   // required bool isResourceDepot = 54;
00875   inline bool has_isresourcedepot() const;
00876   inline void clear_isresourcedepot();
00877   static const int kIsResourceDepotFieldNumber = 54;
00878   inline bool isresourcedepot() const;
00879   inline void set_isresourcedepot(bool value);
00880   
00881   // required bool isRefinery = 55;
00882   inline bool has_isrefinery() const;
00883   inline void clear_isrefinery();
00884   static const int kIsRefineryFieldNumber = 55;
00885   inline bool isrefinery() const;
00886   inline void set_isrefinery(bool value);
00887   
00888   // required bool isWorker = 56;
00889   inline bool has_isworker() const;
00890   inline void clear_isworker();
00891   static const int kIsWorkerFieldNumber = 56;
00892   inline bool isworker() const;
00893   inline void set_isworker(bool value);
00894   
00895   // required bool requiresPsi = 57;
00896   inline bool has_requirespsi() const;
00897   inline void clear_requirespsi();
00898   static const int kRequiresPsiFieldNumber = 57;
00899   inline bool requirespsi() const;
00900   inline void set_requirespsi(bool value);
00901   
00902   // required bool requiresCreep = 58;
00903   inline bool has_requirescreep() const;
00904   inline void clear_requirescreep();
00905   static const int kRequiresCreepFieldNumber = 58;
00906   inline bool requirescreep() const;
00907   inline void set_requirescreep(bool value);
00908   
00909   // required bool isTwoUnitsInOneEgg = 59;
00910   inline bool has_istwounitsinoneegg() const;
00911   inline void clear_istwounitsinoneegg();
00912   static const int kIsTwoUnitsInOneEggFieldNumber = 59;
00913   inline bool istwounitsinoneegg() const;
00914   inline void set_istwounitsinoneegg(bool value);
00915   
00916   // required bool isBurrowable = 60;
00917   inline bool has_isburrowable() const;
00918   inline void clear_isburrowable();
00919   static const int kIsBurrowableFieldNumber = 60;
00920   inline bool isburrowable() const;
00921   inline void set_isburrowable(bool value);
00922   
00923   // required bool isCloakable = 61;
00924   inline bool has_iscloakable() const;
00925   inline void clear_iscloakable();
00926   static const int kIsCloakableFieldNumber = 61;
00927   inline bool iscloakable() const;
00928   inline void set_iscloakable(bool value);
00929   
00930   // required bool isBuilding = 62;
00931   inline bool has_isbuilding() const;
00932   inline void clear_isbuilding();
00933   static const int kIsBuildingFieldNumber = 62;
00934   inline bool isbuilding() const;
00935   inline void set_isbuilding(bool value);
00936   
00937   // required bool isAddon = 63;
00938   inline bool has_isaddon() const;
00939   inline void clear_isaddon();
00940   static const int kIsAddonFieldNumber = 63;
00941   inline bool isaddon() const;
00942   inline void set_isaddon(bool value);
00943   
00944   // required bool isFlyingBuilding = 64;
00945   inline bool has_isflyingbuilding() const;
00946   inline void clear_isflyingbuilding();
00947   static const int kIsFlyingBuildingFieldNumber = 64;
00948   inline bool isflyingbuilding() const;
00949   inline void set_isflyingbuilding(bool value);
00950   
00951   // required bool isNeutral = 65;
00952   inline bool has_isneutral() const;
00953   inline void clear_isneutral();
00954   static const int kIsNeutralFieldNumber = 65;
00955   inline bool isneutral() const;
00956   inline void set_isneutral(bool value);
00957   
00958   // @@protoc_insertion_point(class_scope:messages.UnitTypeData)
00959  private:
00960   ::google::protobuf::UnknownFieldSet _unknown_fields_;
00961   mutable int _cached_size_;
00962   
00963   ::google::protobuf::int32 id_;
00964   ::std::string* name_;
00965   static const ::std::string _default_name_;
00966   ::std::string* sublabel_;
00967   static const ::std::string _default_sublabel_;
00968   int race_;
00969   ::messages::UnitType* whatbuildstype_;
00970   ::google::protobuf::int32 whatbuildsnumber_;
00971   ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair > requiredunits_;
00972   ::messages::TechType* requiredtech_;
00973   ::google::protobuf::RepeatedPtrField< ::messages::TechType > abilities_;
00974   ::google::protobuf::RepeatedPtrField< ::messages::UpgradeType > upgrades_;
00975   ::messages::UpgradeType* armorupgrade_;
00976   ::google::protobuf::int32 maxhitpoints_;
00977   ::google::protobuf::int32 maxshields_;
00978   ::google::protobuf::int32 maxenergy_;
00979   ::google::protobuf::int32 armor_;
00980   ::google::protobuf::int32 mineralprice_;
00981   ::google::protobuf::int32 gasprice_;
00982   ::google::protobuf::int32 buildtime_;
00983   ::google::protobuf::int32 supplyrequired_;
00984   ::google::protobuf::int32 supplyprovided_;
00985   ::google::protobuf::int32 spacerequired_;
00986   ::google::protobuf::int32 spaceprovided_;
00987   ::google::protobuf::int32 buildscore_;
00988   ::google::protobuf::int32 destroyscore_;
00989   int size_;
00990   ::google::protobuf::int32 tilewidth_;
00991   ::google::protobuf::int32 tileheight_;
00992   ::google::protobuf::int32 dimensionleft_;
00993   ::google::protobuf::int32 dimensionup_;
00994   ::google::protobuf::int32 dimensionright_;
00995   ::google::protobuf::int32 dimensiondown_;
00996   ::google::protobuf::int32 seekrange_;
00997   ::google::protobuf::int32 sightrange_;
00998   ::messages::WeaponType* groundweapon_;
00999   ::google::protobuf::int32 maxgroundhits_;
01000   ::messages::WeaponType* airweapon_;
01001   ::google::protobuf::int32 maxairhits_;
01002   double topspeed_;
01003   ::google::protobuf::int32 acceleration_;
01004   ::google::protobuf::int32 haltdistance_;
01005   ::google::protobuf::int32 turnradius_;
01006   bool canproduce_;
01007   bool canattack_;
01008   bool canmove_;
01009   bool isflyer_;
01010   bool regenerateshp_;
01011   bool isspellcaster_;
01012   bool haspermanentcloak_;
01013   bool isinvincible_;
01014   bool isorganic_;
01015   bool ismechanical_;
01016   bool isrobotic_;
01017   bool isdetector_;
01018   bool isresourcecontainer_;
01019   bool isresourcedepot_;
01020   bool isrefinery_;
01021   bool isworker_;
01022   bool requirespsi_;
01023   bool requirescreep_;
01024   bool istwounitsinoneegg_;
01025   bool isburrowable_;
01026   bool iscloakable_;
01027   bool isbuilding_;
01028   bool isaddon_;
01029   bool isflyingbuilding_;
01030   bool isneutral_;
01031   friend void  protobuf_AddDesc_unit_2eproto();
01032   friend void protobuf_AssignDesc_unit_2eproto();
01033   friend void protobuf_ShutdownFile_unit_2eproto();
01034   
01035   ::google::protobuf::uint32 _has_bits_[(66 + 31) / 32];
01036   
01037   // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
01038   inline bool _has_bit(int index) const {
01039     return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
01040   }
01041   inline void _set_bit(int index) {
01042     _has_bits_[index / 32] |= (1u << (index % 32));
01043   }
01044   inline void _clear_bit(int index) {
01045     _has_bits_[index / 32] &= ~(1u << (index % 32));
01046   }
01047   
01048   void InitAsDefaultInstance();
01049   static UnitTypeData* default_instance_;
01050 };
01051 // -------------------------------------------------------------------
01052 
01053 class UpgradeTypeData : public ::google::protobuf::Message {
01054  public:
01055   UpgradeTypeData();
01056   virtual ~UpgradeTypeData();
01057   
01058   UpgradeTypeData(const UpgradeTypeData& from);
01059   
01060   inline UpgradeTypeData& operator=(const UpgradeTypeData& from) {
01061     CopyFrom(from);
01062     return *this;
01063   }
01064   
01065   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
01066     return _unknown_fields_;
01067   }
01068   
01069   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
01070     return &_unknown_fields_;
01071   }
01072   
01073   static const ::google::protobuf::Descriptor* descriptor();
01074   static const UpgradeTypeData& default_instance();
01075   
01076   void Swap(UpgradeTypeData* other);
01077   
01078   // implements Message ----------------------------------------------
01079   
01080   UpgradeTypeData* New() const;
01081   void CopyFrom(const ::google::protobuf::Message& from);
01082   void MergeFrom(const ::google::protobuf::Message& from);
01083   void CopyFrom(const UpgradeTypeData& from);
01084   void MergeFrom(const UpgradeTypeData& from);
01085   void Clear();
01086   bool IsInitialized() const;
01087   
01088   int ByteSize() const;
01089   bool MergePartialFromCodedStream(
01090       ::google::protobuf::io::CodedInputStream* input);
01091   void SerializeWithCachedSizes(
01092       ::google::protobuf::io::CodedOutputStream* output) const;
01093   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
01094   int GetCachedSize() const { return _cached_size_; }
01095   private:
01096   void SharedCtor();
01097   void SharedDtor();
01098   void SetCachedSize(int size) const;
01099   public:
01100   
01101   ::google::protobuf::Metadata GetMetadata() const;
01102   
01103   // nested types ----------------------------------------------------
01104   
01105   // accessors -------------------------------------------------------
01106   
01107   // required int32 id = 1;
01108   inline bool has_id() const;
01109   inline void clear_id();
01110   static const int kIdFieldNumber = 1;
01111   inline ::google::protobuf::int32 id() const;
01112   inline void set_id(::google::protobuf::int32 value);
01113   
01114   // required string name = 2;
01115   inline bool has_name() const;
01116   inline void clear_name();
01117   static const int kNameFieldNumber = 2;
01118   inline const ::std::string& name() const;
01119   inline void set_name(const ::std::string& value);
01120   inline void set_name(const char* value);
01121   inline void set_name(const char* value, size_t size);
01122   inline ::std::string* mutable_name();
01123   
01124   // required .messages.Race race = 3;
01125   inline bool has_race() const;
01126   inline void clear_race();
01127   static const int kRaceFieldNumber = 3;
01128   inline messages::Race race() const;
01129   inline void set_race(messages::Race value);
01130   
01131   // required int32 mineralPriceBase = 4;
01132   inline bool has_mineralpricebase() const;
01133   inline void clear_mineralpricebase();
01134   static const int kMineralPriceBaseFieldNumber = 4;
01135   inline ::google::protobuf::int32 mineralpricebase() const;
01136   inline void set_mineralpricebase(::google::protobuf::int32 value);
01137   
01138   // required int32 mineralPriceFactor = 5;
01139   inline bool has_mineralpricefactor() const;
01140   inline void clear_mineralpricefactor();
01141   static const int kMineralPriceFactorFieldNumber = 5;
01142   inline ::google::protobuf::int32 mineralpricefactor() const;
01143   inline void set_mineralpricefactor(::google::protobuf::int32 value);
01144   
01145   // required int32 gasPriceBase = 6;
01146   inline bool has_gaspricebase() const;
01147   inline void clear_gaspricebase();
01148   static const int kGasPriceBaseFieldNumber = 6;
01149   inline ::google::protobuf::int32 gaspricebase() const;
01150   inline void set_gaspricebase(::google::protobuf::int32 value);
01151   
01152   // required int32 gasPriceFactor = 7;
01153   inline bool has_gaspricefactor() const;
01154   inline void clear_gaspricefactor();
01155   static const int kGasPriceFactorFieldNumber = 7;
01156   inline ::google::protobuf::int32 gaspricefactor() const;
01157   inline void set_gaspricefactor(::google::protobuf::int32 value);
01158   
01159   // required int32 upgradeTimeBase = 8;
01160   inline bool has_upgradetimebase() const;
01161   inline void clear_upgradetimebase();
01162   static const int kUpgradeTimeBaseFieldNumber = 8;
01163   inline ::google::protobuf::int32 upgradetimebase() const;
01164   inline void set_upgradetimebase(::google::protobuf::int32 value);
01165   
01166   // required int32 upgradeTimeFactor = 9;
01167   inline bool has_upgradetimefactor() const;
01168   inline void clear_upgradetimefactor();
01169   static const int kUpgradeTimeFactorFieldNumber = 9;
01170   inline ::google::protobuf::int32 upgradetimefactor() const;
01171   inline void set_upgradetimefactor(::google::protobuf::int32 value);
01172   
01173   // required int32 maxRepeats = 10;
01174   inline bool has_maxrepeats() const;
01175   inline void clear_maxrepeats();
01176   static const int kMaxRepeatsFieldNumber = 10;
01177   inline ::google::protobuf::int32 maxrepeats() const;
01178   inline void set_maxrepeats(::google::protobuf::int32 value);
01179   
01180   // required .messages.UnitType whatUpgrades = 11;
01181   inline bool has_whatupgrades() const;
01182   inline void clear_whatupgrades();
01183   static const int kWhatUpgradesFieldNumber = 11;
01184   inline const ::messages::UnitType& whatupgrades() const;
01185   inline ::messages::UnitType* mutable_whatupgrades();
01186   
01187   // repeated .messages.UnitType whatUses = 12;
01188   inline int whatuses_size() const;
01189   inline void clear_whatuses();
01190   static const int kWhatUsesFieldNumber = 12;
01191   inline const ::messages::UnitType& whatuses(int index) const;
01192   inline ::messages::UnitType* mutable_whatuses(int index);
01193   inline ::messages::UnitType* add_whatuses();
01194   inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitType >&
01195       whatuses() const;
01196   inline ::google::protobuf::RepeatedPtrField< ::messages::UnitType >*
01197       mutable_whatuses();
01198   
01199   // @@protoc_insertion_point(class_scope:messages.UpgradeTypeData)
01200  private:
01201   ::google::protobuf::UnknownFieldSet _unknown_fields_;
01202   mutable int _cached_size_;
01203   
01204   ::google::protobuf::int32 id_;
01205   ::std::string* name_;
01206   static const ::std::string _default_name_;
01207   int race_;
01208   ::google::protobuf::int32 mineralpricebase_;
01209   ::google::protobuf::int32 mineralpricefactor_;
01210   ::google::protobuf::int32 gaspricebase_;
01211   ::google::protobuf::int32 gaspricefactor_;
01212   ::google::protobuf::int32 upgradetimebase_;
01213   ::google::protobuf::int32 upgradetimefactor_;
01214   ::google::protobuf::int32 maxrepeats_;
01215   ::messages::UnitType* whatupgrades_;
01216   ::google::protobuf::RepeatedPtrField< ::messages::UnitType > whatuses_;
01217   friend void  protobuf_AddDesc_unit_2eproto();
01218   friend void protobuf_AssignDesc_unit_2eproto();
01219   friend void protobuf_ShutdownFile_unit_2eproto();
01220   
01221   ::google::protobuf::uint32 _has_bits_[(12 + 31) / 32];
01222   
01223   // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
01224   inline bool _has_bit(int index) const {
01225     return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
01226   }
01227   inline void _set_bit(int index) {
01228     _has_bits_[index / 32] |= (1u << (index % 32));
01229   }
01230   inline void _clear_bit(int index) {
01231     _has_bits_[index / 32] &= ~(1u << (index % 32));
01232   }
01233   
01234   void InitAsDefaultInstance();
01235   static UpgradeTypeData* default_instance_;
01236 };
01237 // -------------------------------------------------------------------
01238 
01239 class Unit : public ::google::protobuf::Message {
01240  public:
01241   Unit();
01242   virtual ~Unit();
01243   
01244   Unit(const Unit& from);
01245   
01246   inline Unit& operator=(const Unit& from) {
01247     CopyFrom(from);
01248     return *this;
01249   }
01250   
01251   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
01252     return _unknown_fields_;
01253   }
01254   
01255   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
01256     return &_unknown_fields_;
01257   }
01258   
01259   static const ::google::protobuf::Descriptor* descriptor();
01260   static const Unit& default_instance();
01261   
01262   void Swap(Unit* other);
01263   
01264   // implements Message ----------------------------------------------
01265   
01266   Unit* New() const;
01267   void CopyFrom(const ::google::protobuf::Message& from);
01268   void MergeFrom(const ::google::protobuf::Message& from);
01269   void CopyFrom(const Unit& from);
01270   void MergeFrom(const Unit& from);
01271   void Clear();
01272   bool IsInitialized() const;
01273   
01274   int ByteSize() const;
01275   bool MergePartialFromCodedStream(
01276       ::google::protobuf::io::CodedInputStream* input);
01277   void SerializeWithCachedSizes(
01278       ::google::protobuf::io::CodedOutputStream* output) const;
01279   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
01280   int GetCachedSize() const { return _cached_size_; }
01281   private:
01282   void SharedCtor();
01283   void SharedDtor();
01284   void SetCachedSize(int size) const;
01285   public:
01286   
01287   ::google::protobuf::Metadata GetMetadata() const;
01288   
01289   // nested types ----------------------------------------------------
01290   
01291   // accessors -------------------------------------------------------
01292   
01293   // required .messages.UnitId theID = 1;
01294   inline bool has_theid() const;
01295   inline void clear_theid();
01296   static const int kTheIDFieldNumber = 1;
01297   inline const ::messages::UnitId& theid() const;
01298   inline ::messages::UnitId* mutable_theid();
01299   
01300   // required int32 player = 2;
01301   inline bool has_player() const;
01302   inline void clear_player();
01303   static const int kPlayerFieldNumber = 2;
01304   inline ::google::protobuf::int32 player() const;
01305   inline void set_player(::google::protobuf::int32 value);
01306   
01307   // required .messages.UnitType type = 3;
01308   inline bool has_type() const;
01309   inline void clear_type();
01310   static const int kTypeFieldNumber = 3;
01311   inline const ::messages::UnitType& type() const;
01312   inline ::messages::UnitType* mutable_type();
01313   
01314   // required .messages.UnitType initialType = 4;
01315   inline bool has_initialtype() const;
01316   inline void clear_initialtype();
01317   static const int kInitialTypeFieldNumber = 4;
01318   inline const ::messages::UnitType& initialtype() const;
01319   inline ::messages::UnitType* mutable_initialtype();
01320   
01321   // required int32 hitPoints = 5;
01322   inline bool has_hitpoints() const;
01323   inline void clear_hitpoints();
01324   static const int kHitPointsFieldNumber = 5;
01325   inline ::google::protobuf::int32 hitpoints() const;
01326   inline void set_hitpoints(::google::protobuf::int32 value);
01327   
01328   // required int32 initialHitPoints = 6;
01329   inline bool has_initialhitpoints() const;
01330   inline void clear_initialhitpoints();
01331   static const int kInitialHitPointsFieldNumber = 6;
01332   inline ::google::protobuf::int32 initialhitpoints() const;
01333   inline void set_initialhitpoints(::google::protobuf::int32 value);
01334   
01335   // required int32 shields = 7;
01336   inline bool has_shields() const;
01337   inline void clear_shields();
01338   static const int kShieldsFieldNumber = 7;
01339   inline ::google::protobuf::int32 shields() const;
01340   inline void set_shields(::google::protobuf::int32 value);
01341   
01342   // required int32 energy = 8;
01343   inline bool has_energy() const;
01344   inline void clear_energy();
01345   static const int kEnergyFieldNumber = 8;
01346   inline ::google::protobuf::int32 energy() const;
01347   inline void set_energy(::google::protobuf::int32 value);
01348   
01349   // required int32 resources = 9;
01350   inline bool has_resources() const;
01351   inline void clear_resources();
01352   static const int kResourcesFieldNumber = 9;
01353   inline ::google::protobuf::int32 resources() const;
01354   inline void set_resources(::google::protobuf::int32 value);
01355   
01356   // required int32 resourceGroup = 103;
01357   inline bool has_resourcegroup() const;
01358   inline void clear_resourcegroup();
01359   static const int kResourceGroupFieldNumber = 103;
01360   inline ::google::protobuf::int32 resourcegroup() const;
01361   inline void set_resourcegroup(::google::protobuf::int32 value);
01362   
01363   // required int32 initialResources = 10;
01364   inline bool has_initialresources() const;
01365   inline void clear_initialresources();
01366   static const int kInitialResourcesFieldNumber = 10;
01367   inline ::google::protobuf::int32 initialresources() const;
01368   inline void set_initialresources(::google::protobuf::int32 value);
01369   
01370   // required int32 killCount = 11;
01371   inline bool has_killcount() const;
01372   inline void clear_killcount();
01373   static const int kKillCountFieldNumber = 11;
01374   inline ::google::protobuf::int32 killcount() const;
01375   inline void set_killcount(::google::protobuf::int32 value);
01376   
01377   // required int32 groundWeaponCooldown = 12;
01378   inline bool has_groundweaponcooldown() const;
01379   inline void clear_groundweaponcooldown();
01380   static const int kGroundWeaponCooldownFieldNumber = 12;
01381   inline ::google::protobuf::int32 groundweaponcooldown() const;
01382   inline void set_groundweaponcooldown(::google::protobuf::int32 value);
01383   
01384   // required int32 airWeaponCooldown = 13;
01385   inline bool has_airweaponcooldown() const;
01386   inline void clear_airweaponcooldown();
01387   static const int kAirWeaponCooldownFieldNumber = 13;
01388   inline ::google::protobuf::int32 airweaponcooldown() const;
01389   inline void set_airweaponcooldown(::google::protobuf::int32 value);
01390   
01391   // required int32 spellCooldown = 14;
01392   inline bool has_spellcooldown() const;
01393   inline void clear_spellcooldown();
01394   static const int kSpellCooldownFieldNumber = 14;
01395   inline ::google::protobuf::int32 spellcooldown() const;
01396   inline void set_spellcooldown(::google::protobuf::int32 value);
01397   
01398   // required int32 defenseMatrixPoints = 15;
01399   inline bool has_defensematrixpoints() const;
01400   inline void clear_defensematrixpoints();
01401   static const int kDefenseMatrixPointsFieldNumber = 15;
01402   inline ::google::protobuf::int32 defensematrixpoints() const;
01403   inline void set_defensematrixpoints(::google::protobuf::int32 value);
01404   
01405   // required int32 defenseMatrixTimer = 16;
01406   inline bool has_defensematrixtimer() const;
01407   inline void clear_defensematrixtimer();
01408   static const int kDefenseMatrixTimerFieldNumber = 16;
01409   inline ::google::protobuf::int32 defensematrixtimer() const;
01410   inline void set_defensematrixtimer(::google::protobuf::int32 value);
01411   
01412   // required int32 ensnareTimer = 17;
01413   inline bool has_ensnaretimer() const;
01414   inline void clear_ensnaretimer();
01415   static const int kEnsnareTimerFieldNumber = 17;
01416   inline ::google::protobuf::int32 ensnaretimer() const;
01417   inline void set_ensnaretimer(::google::protobuf::int32 value);
01418   
01419   // required int32 irradiateTimer = 18;
01420   inline bool has_irradiatetimer() const;
01421   inline void clear_irradiatetimer();
01422   static const int kIrradiateTimerFieldNumber = 18;
01423   inline ::google::protobuf::int32 irradiatetimer() const;
01424   inline void set_irradiatetimer(::google::protobuf::int32 value);
01425   
01426   // required int32 lockdownTimer = 19;
01427   inline bool has_lockdowntimer() const;
01428   inline void clear_lockdowntimer();
01429   static const int kLockdownTimerFieldNumber = 19;
01430   inline ::google::protobuf::int32 lockdowntimer() const;
01431   inline void set_lockdowntimer(::google::protobuf::int32 value);
01432   
01433   // required int32 maelstromTimer = 20;
01434   inline bool has_maelstromtimer() const;
01435   inline void clear_maelstromtimer();
01436   static const int kMaelstromTimerFieldNumber = 20;
01437   inline ::google::protobuf::int32 maelstromtimer() const;
01438   inline void set_maelstromtimer(::google::protobuf::int32 value);
01439   
01440   // required int32 plagueTimer = 21;
01441   inline bool has_plaguetimer() const;
01442   inline void clear_plaguetimer();
01443   static const int kPlagueTimerFieldNumber = 21;
01444   inline ::google::protobuf::int32 plaguetimer() const;
01445   inline void set_plaguetimer(::google::protobuf::int32 value);
01446   
01447   // required int32 removeTimer = 22;
01448   inline bool has_removetimer() const;
01449   inline void clear_removetimer();
01450   static const int kRemoveTimerFieldNumber = 22;
01451   inline ::google::protobuf::int32 removetimer() const;
01452   inline void set_removetimer(::google::protobuf::int32 value);
01453   
01454   // required int32 stasisTimer = 23;
01455   inline bool has_stasistimer() const;
01456   inline void clear_stasistimer();
01457   static const int kStasisTimerFieldNumber = 23;
01458   inline ::google::protobuf::int32 stasistimer() const;
01459   inline void set_stasistimer(::google::protobuf::int32 value);
01460   
01461   // required int32 stimTimer = 24;
01462   inline bool has_stimtimer() const;
01463   inline void clear_stimtimer();
01464   static const int kStimTimerFieldNumber = 24;
01465   inline ::google::protobuf::int32 stimtimer() const;
01466   inline void set_stimtimer(::google::protobuf::int32 value);
01467   
01468   // required .messages.Position position = 25;
01469   inline bool has_position() const;
01470   inline void clear_position();
01471   static const int kPositionFieldNumber = 25;
01472   inline const ::messages::Position& position() const;
01473   inline ::messages::Position* mutable_position();
01474   
01475   // required .messages.Position initialPosition = 26;
01476   inline bool has_initialposition() const;
01477   inline void clear_initialposition();
01478   static const int kInitialPositionFieldNumber = 26;
01479   inline const ::messages::Position& initialposition() const;
01480   inline ::messages::Position* mutable_initialposition();
01481   
01482   // required .messages.TilePosition tilePosition = 27;
01483   inline bool has_tileposition() const;
01484   inline void clear_tileposition();
01485   static const int kTilePositionFieldNumber = 27;
01486   inline const ::messages::TilePosition& tileposition() const;
01487   inline ::messages::TilePosition* mutable_tileposition();
01488   
01489   // required .messages.TilePosition initialTilePosition = 28;
01490   inline bool has_initialtileposition() const;
01491   inline void clear_initialtileposition();
01492   static const int kInitialTilePositionFieldNumber = 28;
01493   inline const ::messages::TilePosition& initialtileposition() const;
01494   inline ::messages::TilePosition* mutable_initialtileposition();
01495   
01496   // required double angle = 30;
01497   inline bool has_angle() const;
01498   inline void clear_angle();
01499   static const int kAngleFieldNumber = 30;
01500   inline double angle() const;
01501   inline void set_angle(double value);
01502   
01503   // required double velocityX = 31;
01504   inline bool has_velocityx() const;
01505   inline void clear_velocityx();
01506   static const int kVelocityXFieldNumber = 31;
01507   inline double velocityx() const;
01508   inline void set_velocityx(double value);
01509   
01510   // required double velocityY = 32;
01511   inline bool has_velocityy() const;
01512   inline void clear_velocityy();
01513   static const int kVelocityYFieldNumber = 32;
01514   inline double velocityy() const;
01515   inline void set_velocityy(double value);
01516   
01517   // optional .messages.UnitId target = 33;
01518   inline bool has_target() const;
01519   inline void clear_target();
01520   static const int kTargetFieldNumber = 33;
01521   inline const ::messages::UnitId& target() const;
01522   inline ::messages::UnitId* mutable_target();
01523   
01524   // required .messages.Position targetPosition = 34;
01525   inline bool has_targetposition() const;
01526   inline void clear_targetposition();
01527   static const int kTargetPositionFieldNumber = 34;
01528   inline const ::messages::Position& targetposition() const;
01529   inline ::messages::Position* mutable_targetposition();
01530   
01531   // required int32 order = 35;
01532   inline bool has_order() const;
01533   inline void clear_order();
01534   static const int kOrderFieldNumber = 35;
01535   inline ::google::protobuf::int32 order() const;
01536   inline void set_order(::google::protobuf::int32 value);
01537   
01538   // optional .messages.UnitId orderTarget = 36;
01539   inline bool has_ordertarget() const;
01540   inline void clear_ordertarget();
01541   static const int kOrderTargetFieldNumber = 36;
01542   inline const ::messages::UnitId& ordertarget() const;
01543   inline ::messages::UnitId* mutable_ordertarget();
01544   
01545   // required int32 orderTimer = 37;
01546   inline bool has_ordertimer() const;
01547   inline void clear_ordertimer();
01548   static const int kOrderTimerFieldNumber = 37;
01549   inline ::google::protobuf::int32 ordertimer() const;
01550   inline void set_ordertimer(::google::protobuf::int32 value);
01551   
01552   // required int32 secondaryOrder = 38;
01553   inline bool has_secondaryorder() const;
01554   inline void clear_secondaryorder();
01555   static const int kSecondaryOrderFieldNumber = 38;
01556   inline ::google::protobuf::int32 secondaryorder() const;
01557   inline void set_secondaryorder(::google::protobuf::int32 value);
01558   
01559   // optional .messages.UnitId buildUnit = 39;
01560   inline bool has_buildunit() const;
01561   inline void clear_buildunit();
01562   static const int kBuildUnitFieldNumber = 39;
01563   inline const ::messages::UnitId& buildunit() const;
01564   inline ::messages::UnitId* mutable_buildunit();
01565   
01566   // required int32 remainingBuildTime = 40;
01567   inline bool has_remainingbuildtime() const;
01568   inline void clear_remainingbuildtime();
01569   static const int kRemainingBuildTimeFieldNumber = 40;
01570   inline ::google::protobuf::int32 remainingbuildtime() const;
01571   inline void set_remainingbuildtime(::google::protobuf::int32 value);
01572   
01573   // required int32 remainingTrainTime = 41;
01574   inline bool has_remainingtraintime() const;
01575   inline void clear_remainingtraintime();
01576   static const int kRemainingTrainTimeFieldNumber = 41;
01577   inline ::google::protobuf::int32 remainingtraintime() const;
01578   inline void set_remainingtraintime(::google::protobuf::int32 value);
01579   
01580   // repeated .messages.UnitType trainingQueue = 43;
01581   inline int trainingqueue_size() const;
01582   inline void clear_trainingqueue();
01583   static const int kTrainingQueueFieldNumber = 43;
01584   inline const ::messages::UnitType& trainingqueue(int index) const;
01585   inline ::messages::UnitType* mutable_trainingqueue(int index);
01586   inline ::messages::UnitType* add_trainingqueue();
01587   inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitType >&
01588       trainingqueue() const;
01589   inline ::google::protobuf::RepeatedPtrField< ::messages::UnitType >*
01590       mutable_trainingqueue();
01591   
01592   // optional .messages.UnitId transport = 44;
01593   inline bool has_transport() const;
01594   inline void clear_transport();
01595   static const int kTransportFieldNumber = 44;
01596   inline const ::messages::UnitId& transport() const;
01597   inline ::messages::UnitId* mutable_transport();
01598   
01599   // repeated .messages.UnitId loadedUnits = 45;
01600   inline int loadedunits_size() const;
01601   inline void clear_loadedunits();
01602   static const int kLoadedUnitsFieldNumber = 45;
01603   inline const ::messages::UnitId& loadedunits(int index) const;
01604   inline ::messages::UnitId* mutable_loadedunits(int index);
01605   inline ::messages::UnitId* add_loadedunits();
01606   inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitId >&
01607       loadedunits() const;
01608   inline ::google::protobuf::RepeatedPtrField< ::messages::UnitId >*
01609       mutable_loadedunits();
01610   
01611   // required int32 interceptorCount = 46;
01612   inline bool has_interceptorcount() const;
01613   inline void clear_interceptorcount();
01614   static const int kInterceptorCountFieldNumber = 46;
01615   inline ::google::protobuf::int32 interceptorcount() const;
01616   inline void set_interceptorcount(::google::protobuf::int32 value);
01617   
01618   // required int32 scarabCount = 47;
01619   inline bool has_scarabcount() const;
01620   inline void clear_scarabcount();
01621   static const int kScarabCountFieldNumber = 47;
01622   inline ::google::protobuf::int32 scarabcount() const;
01623   inline void set_scarabcount(::google::protobuf::int32 value);
01624   
01625   // required int32 spiderMineCount = 48;
01626   inline bool has_spiderminecount() const;
01627   inline void clear_spiderminecount();
01628   static const int kSpiderMineCountFieldNumber = 48;
01629   inline ::google::protobuf::int32 spiderminecount() const;
01630   inline void set_spiderminecount(::google::protobuf::int32 value);
01631   
01632   // required int32 tech = 49;
01633   inline bool has_tech() const;
01634   inline void clear_tech();
01635   static const int kTechFieldNumber = 49;
01636   inline ::google::protobuf::int32 tech() const;
01637   inline void set_tech(::google::protobuf::int32 value);
01638   
01639   // required int32 upgrade = 50;
01640   inline bool has_upgrade() const;
01641   inline void clear_upgrade();
01642   static const int kUpgradeFieldNumber = 50;
01643   inline ::google::protobuf::int32 upgrade() const;
01644   inline void set_upgrade(::google::protobuf::int32 value);
01645   
01646   // required int32 remainingResearchTime = 51;
01647   inline bool has_remainingresearchtime() const;
01648   inline void clear_remainingresearchtime();
01649   static const int kRemainingResearchTimeFieldNumber = 51;
01650   inline ::google::protobuf::int32 remainingresearchtime() const;
01651   inline void set_remainingresearchtime(::google::protobuf::int32 value);
01652   
01653   // required int32 remainingUpgradeTime = 52;
01654   inline bool has_remainingupgradetime() const;
01655   inline void clear_remainingupgradetime();
01656   static const int kRemainingUpgradeTimeFieldNumber = 52;
01657   inline ::google::protobuf::int32 remainingupgradetime() const;
01658   inline void set_remainingupgradetime(::google::protobuf::int32 value);
01659   
01660   // required .messages.Position rallyPosition = 53;
01661   inline bool has_rallyposition() const;
01662   inline void clear_rallyposition();
01663   static const int kRallyPositionFieldNumber = 53;
01664   inline const ::messages::Position& rallyposition() const;
01665   inline ::messages::Position* mutable_rallyposition();
01666   
01667   // optional .messages.UnitId rallyUnit = 54;
01668   inline bool has_rallyunit() const;
01669   inline void clear_rallyunit();
01670   static const int kRallyUnitFieldNumber = 54;
01671   inline const ::messages::UnitId& rallyunit() const;
01672   inline ::messages::UnitId* mutable_rallyunit();
01673   
01674   // optional .messages.UnitId addon = 55;
01675   inline bool has_addon() const;
01676   inline void clear_addon();
01677   static const int kAddonFieldNumber = 55;
01678   inline const ::messages::UnitId& addon() const;
01679   inline ::messages::UnitId* mutable_addon();
01680   
01681   // optional .messages.UnitId carrier = 42;
01682   inline bool has_carrier() const;
01683   inline void clear_carrier();
01684   static const int kCarrierFieldNumber = 42;
01685   inline const ::messages::UnitId& carrier() const;
01686   inline ::messages::UnitId* mutable_carrier();
01687   
01688   // repeated .messages.UnitId interceptors = 101;
01689   inline int interceptors_size() const;
01690   inline void clear_interceptors();
01691   static const int kInterceptorsFieldNumber = 101;
01692   inline const ::messages::UnitId& interceptors(int index) const;
01693   inline ::messages::UnitId* mutable_interceptors(int index);
01694   inline ::messages::UnitId* add_interceptors();
01695   inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitId >&
01696       interceptors() const;
01697   inline ::google::protobuf::RepeatedPtrField< ::messages::UnitId >*
01698       mutable_interceptors();
01699   
01700   // optional .messages.UnitId nydusExit = 105;
01701   inline bool has_nydusexit() const;
01702   inline void clear_nydusexit();
01703   static const int kNydusExitFieldNumber = 105;
01704   inline const ::messages::UnitId& nydusexit() const;
01705   inline ::messages::UnitId* mutable_nydusexit();
01706   
01707   // required bool exists = 56;
01708   inline bool has_exists() const;
01709   inline void clear_exists();
01710   static const int kExistsFieldNumber = 56;
01711   inline bool exists() const;
01712   inline void set_exists(bool value);
01713   
01714   // required bool hasNuke = 100;
01715   inline bool has_hasnuke() const;
01716   inline void clear_hasnuke();
01717   static const int kHasNukeFieldNumber = 100;
01718   inline bool hasnuke() const;
01719   inline void set_hasnuke(bool value);
01720   
01721   // required bool accelerating = 57;
01722   inline bool has_accelerating() const;
01723   inline void clear_accelerating();
01724   static const int kAcceleratingFieldNumber = 57;
01725   inline bool accelerating() const;
01726   inline void set_accelerating(bool value);
01727   
01728   // required bool beingConstructed = 58;
01729   inline bool has_beingconstructed() const;
01730   inline void clear_beingconstructed();
01731   static const int kBeingConstructedFieldNumber = 58;
01732   inline bool beingconstructed() const;
01733   inline void set_beingconstructed(bool value);
01734   
01735   // required bool beingHealed = 59;
01736   inline bool has_beinghealed() const;
01737   inline void clear_beinghealed();
01738   static const int kBeingHealedFieldNumber = 59;
01739   inline bool beinghealed() const;
01740   inline void set_beinghealed(bool value);
01741   
01742   // required bool blind = 60;
01743   inline bool has_blind() const;
01744   inline void clear_blind();
01745   static const int kBlindFieldNumber = 60;
01746   inline bool blind() const;
01747   inline void set_blind(bool value);
01748   
01749   // required bool braking = 61;
01750   inline bool has_braking() const;
01751   inline void clear_braking();
01752   static const int kBrakingFieldNumber = 61;
01753   inline bool braking() const;
01754   inline void set_braking(bool value);
01755   
01756   // required bool burrowed = 62;
01757   inline bool has_burrowed() const;
01758   inline void clear_burrowed();
01759   static const int kBurrowedFieldNumber = 62;
01760   inline bool burrowed() const;
01761   inline void set_burrowed(bool value);
01762   
01763   // required bool carryingGas = 63;
01764   inline bool has_carryinggas() const;
01765   inline void clear_carryinggas();
01766   static const int kCarryingGasFieldNumber = 63;
01767   inline bool carryinggas() const;
01768   inline void set_carryinggas(bool value);
01769   
01770   // required bool carryingMinerals = 64;
01771   inline bool has_carryingminerals() const;
01772   inline void clear_carryingminerals();
01773   static const int kCarryingMineralsFieldNumber = 64;
01774   inline bool carryingminerals() const;
01775   inline void set_carryingminerals(bool value);
01776   
01777   // required bool cloaked = 65;
01778   inline bool has_cloaked() const;
01779   inline void clear_cloaked();
01780   static const int kCloakedFieldNumber = 65;
01781   inline bool cloaked() const;
01782   inline void set_cloaked(bool value);
01783   
01784   // required bool completed = 66;
01785   inline bool has_completed() const;
01786   inline void clear_completed();
01787   static const int kCompletedFieldNumber = 66;
01788   inline bool completed() const;
01789   inline void set_completed(bool value);
01790   
01791   // required bool constructing = 67;
01792   inline bool has_constructing() const;
01793   inline void clear_constructing();
01794   static const int kConstructingFieldNumber = 67;
01795   inline bool constructing() const;
01796   inline void set_constructing(bool value);
01797   
01798   // required bool defenseMatrixed = 68;
01799   inline bool has_defensematrixed() const;
01800   inline void clear_defensematrixed();
01801   static const int kDefenseMatrixedFieldNumber = 68;
01802   inline bool defensematrixed() const;
01803   inline void set_defensematrixed(bool value);
01804   
01805   // required bool ensnared = 69;
01806   inline bool has_ensnared() const;
01807   inline void clear_ensnared();
01808   static const int kEnsnaredFieldNumber = 69;
01809   inline bool ensnared() const;
01810   inline void set_ensnared(bool value);
01811   
01812   // required bool following = 70;
01813   inline bool has_following() const;
01814   inline void clear_following();
01815   static const int kFollowingFieldNumber = 70;
01816   inline bool following() const;
01817   inline void set_following(bool value);
01818   
01819   // required bool gatheringGas = 71;
01820   inline bool has_gatheringgas() const;
01821   inline void clear_gatheringgas();
01822   static const int kGatheringGasFieldNumber = 71;
01823   inline bool gatheringgas() const;
01824   inline void set_gatheringgas(bool value);
01825   
01826   // required bool gatheringMinerals = 72;
01827   inline bool has_gatheringminerals() const;
01828   inline void clear_gatheringminerals();
01829   static const int kGatheringMineralsFieldNumber = 72;
01830   inline bool gatheringminerals() const;
01831   inline void set_gatheringminerals(bool value);
01832   
01833   // required bool hallucination = 73;
01834   inline bool has_hallucination() const;
01835   inline void clear_hallucination();
01836   static const int kHallucinationFieldNumber = 73;
01837   inline bool hallucination() const;
01838   inline void set_hallucination(bool value);
01839   
01840   // required bool idle = 74;
01841   inline bool has_idle() const;
01842   inline void clear_idle();
01843   static const int kIdleFieldNumber = 74;
01844   inline bool idle() const;
01845   inline void set_idle(bool value);
01846   
01847   // required bool irradiated = 75;
01848   inline bool has_irradiated() const;
01849   inline void clear_irradiated();
01850   static const int kIrradiatedFieldNumber = 75;
01851   inline bool irradiated() const;
01852   inline void set_irradiated(bool value);
01853   
01854   // required bool lifted = 76;
01855   inline bool has_lifted() const;
01856   inline void clear_lifted();
01857   static const int kLiftedFieldNumber = 76;
01858   inline bool lifted() const;
01859   inline void set_lifted(bool value);
01860   
01861   // required bool loaded = 77;
01862   inline bool has_loaded() const;
01863   inline void clear_loaded();
01864   static const int kLoadedFieldNumber = 77;
01865   inline bool loaded() const;
01866   inline void set_loaded(bool value);
01867   
01868   // required bool lockedDown = 78;
01869   inline bool has_lockeddown() const;
01870   inline void clear_lockeddown();
01871   static const int kLockedDownFieldNumber = 78;
01872   inline bool lockeddown() const;
01873   inline void set_lockeddown(bool value);
01874   
01875   // required bool maelstrommed = 79;
01876   inline bool has_maelstrommed() const;
01877   inline void clear_maelstrommed();
01878   static const int kMaelstrommedFieldNumber = 79;
01879   inline bool maelstrommed() const;
01880   inline void set_maelstrommed(bool value);
01881   
01882   // required bool morphing = 80;
01883   inline bool has_morphing() const;
01884   inline void clear_morphing();
01885   static const int kMorphingFieldNumber = 80;
01886   inline bool morphing() const;
01887   inline void set_morphing(bool value);
01888   
01889   // required bool moving = 81;
01890   inline bool has_moving() const;
01891   inline void clear_moving();
01892   static const int kMovingFieldNumber = 81;
01893   inline bool moving() const;
01894   inline void set_moving(bool value);
01895   
01896   // required bool parasited = 82;
01897   inline bool has_parasited() const;
01898   inline void clear_parasited();
01899   static const int kParasitedFieldNumber = 82;
01900   inline bool parasited() const;
01901   inline void set_parasited(bool value);
01902   
01903   // required bool patrolling = 83;
01904   inline bool has_patrolling() const;
01905   inline void clear_patrolling();
01906   static const int kPatrollingFieldNumber = 83;
01907   inline bool patrolling() const;
01908   inline void set_patrolling(bool value);
01909   
01910   // required bool plagued = 84;
01911   inline bool has_plagued() const;
01912   inline void clear_plagued();
01913   static const int kPlaguedFieldNumber = 84;
01914   inline bool plagued() const;
01915   inline void set_plagued(bool value);
01916   
01917   // required bool repairing = 85;
01918   inline bool has_repairing() const;
01919   inline void clear_repairing();
01920   static const int kRepairingFieldNumber = 85;
01921   inline bool repairing() const;
01922   inline void set_repairing(bool value);
01923   
01924   // required bool researching = 86;
01925   inline bool has_researching() const;
01926   inline void clear_researching();
01927   static const int kResearchingFieldNumber = 86;
01928   inline bool researching() const;
01929   inline void set_researching(bool value);
01930   
01931   // required bool selected = 87;
01932   inline bool has_selected() const;
01933   inline void clear_selected();
01934   static const int kSelectedFieldNumber = 87;
01935   inline bool selected() const;
01936   inline void set_selected(bool value);
01937   
01938   // required bool sieged = 88;
01939   inline bool has_sieged() const;
01940   inline void clear_sieged();
01941   static const int kSiegedFieldNumber = 88;
01942   inline bool sieged() const;
01943   inline void set_sieged(bool value);
01944   
01945   // required bool startingAttack = 89;
01946   inline bool has_startingattack() const;
01947   inline void clear_startingattack();
01948   static const int kStartingAttackFieldNumber = 89;
01949   inline bool startingattack() const;
01950   inline void set_startingattack(bool value);
01951   
01952   // required bool stasised = 90;
01953   inline bool has_stasised() const;
01954   inline void clear_stasised();
01955   static const int kStasisedFieldNumber = 90;
01956   inline bool stasised() const;
01957   inline void set_stasised(bool value);
01958   
01959   // required bool stimmed = 91;
01960   inline bool has_stimmed() const;
01961   inline void clear_stimmed();
01962   static const int kStimmedFieldNumber = 91;
01963   inline bool stimmed() const;
01964   inline void set_stimmed(bool value);
01965   
01966   // required bool training = 92;
01967   inline bool has_training() const;
01968   inline void clear_training();
01969   static const int kTrainingFieldNumber = 92;
01970   inline bool training() const;
01971   inline void set_training(bool value);
01972   
01973   // required bool underStorm = 93;
01974   inline bool has_understorm() const;
01975   inline void clear_understorm();
01976   static const int kUnderStormFieldNumber = 93;
01977   inline bool understorm() const;
01978   inline void set_understorm(bool value);
01979   
01980   // required bool underAttack = 111;
01981   inline bool has_underattack() const;
01982   inline void clear_underattack();
01983   static const int kUnderAttackFieldNumber = 111;
01984   inline bool underattack() const;
01985   inline void set_underattack(bool value);
01986   
01987   // required bool underDarkSwarm = 112;
01988   inline bool has_underdarkswarm() const;
01989   inline void clear_underdarkswarm();
01990   static const int kUnderDarkSwarmFieldNumber = 112;
01991   inline bool underdarkswarm() const;
01992   inline void set_underdarkswarm(bool value);
01993   
01994   // required bool unpowered = 94;
01995   inline bool has_unpowered() const;
01996   inline void clear_unpowered();
01997   static const int kUnpoweredFieldNumber = 94;
01998   inline bool unpowered() const;
01999   inline void set_unpowered(bool value);
02000   
02001   // required bool upgrading = 95;
02002   inline bool has_upgrading() const;
02003   inline void clear_upgrading();
02004   static const int kUpgradingFieldNumber = 95;
02005   inline bool upgrading() const;
02006   inline void set_upgrading(bool value);
02007   
02008   // required bool visible = 96;
02009   inline bool has_visible() const;
02010   inline void clear_visible();
02011   static const int kVisibleFieldNumber = 96;
02012   inline bool visible() const;
02013   inline void set_visible(bool value);
02014   
02015   // required bool beingGathered = 97;
02016   inline bool has_beinggathered() const;
02017   inline void clear_beinggathered();
02018   static const int kBeingGatheredFieldNumber = 97;
02019   inline bool beinggathered() const;
02020   inline void set_beinggathered(bool value);
02021   
02022   // repeated .messages.UnitId larvae = 99;
02023   inline int larvae_size() const;
02024   inline void clear_larvae();
02025   static const int kLarvaeFieldNumber = 99;
02026   inline const ::messages::UnitId& larvae(int index) const;
02027   inline ::messages::UnitId* mutable_larvae(int index);
02028   inline ::messages::UnitId* add_larvae();
02029   inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitId >&
02030       larvae() const;
02031   inline ::google::protobuf::RepeatedPtrField< ::messages::UnitId >*
02032       mutable_larvae();
02033   
02034   // optional .messages.UnitId hatchery = 104;
02035   inline bool has_hatchery() const;
02036   inline void clear_hatchery();
02037   static const int kHatcheryFieldNumber = 104;
02038   inline const ::messages::UnitId& hatchery() const;
02039   inline ::messages::UnitId* mutable_hatchery();
02040   
02041   // optional .messages.UnitType buildType = 110;
02042   inline bool has_buildtype() const;
02043   inline void clear_buildtype();
02044   static const int kBuildTypeFieldNumber = 110;
02045   inline const ::messages::UnitType& buildtype() const;
02046   inline ::messages::UnitType* mutable_buildtype();
02047   
02048   // required bool detected = 106;
02049   inline bool has_detected() const;
02050   inline void clear_detected();
02051   static const int kDetectedFieldNumber = 106;
02052   inline bool detected() const;
02053   inline void set_detected(bool value);
02054   
02055   // required bool attacking = 107;
02056   inline bool has_attacking() const;
02057   inline void clear_attacking();
02058   static const int kAttackingFieldNumber = 107;
02059   inline bool attacking() const;
02060   inline void set_attacking(bool value);
02061   
02062   // required bool attackFrame = 108;
02063   inline bool has_attackframe() const;
02064   inline void clear_attackframe();
02065   static const int kAttackFrameFieldNumber = 108;
02066   inline bool attackframe() const;
02067   inline void set_attackframe(bool value);
02068   
02069   // required bool stuck = 109;
02070   inline bool has_stuck() const;
02071   inline void clear_stuck();
02072   static const int kStuckFieldNumber = 109;
02073   inline bool stuck() const;
02074   inline void set_stuck(bool value);
02075   
02076   // @@protoc_insertion_point(class_scope:messages.Unit)
02077  private:
02078   ::google::protobuf::UnknownFieldSet _unknown_fields_;
02079   mutable int _cached_size_;
02080   
02081   ::messages::UnitId* theid_;
02082   ::google::protobuf::int32 player_;
02083   ::messages::UnitType* type_;
02084   ::messages::UnitType* initialtype_;
02085   ::google::protobuf::int32 hitpoints_;
02086   ::google::protobuf::int32 initialhitpoints_;
02087   ::google::protobuf::int32 shields_;
02088   ::google::protobuf::int32 energy_;
02089   ::google::protobuf::int32 resources_;
02090   ::google::protobuf::int32 resourcegroup_;
02091   ::google::protobuf::int32 initialresources_;
02092   ::google::protobuf::int32 killcount_;
02093   ::google::protobuf::int32 groundweaponcooldown_;
02094   ::google::protobuf::int32 airweaponcooldown_;
02095   ::google::protobuf::int32 spellcooldown_;
02096   ::google::protobuf::int32 defensematrixpoints_;
02097   ::google::protobuf::int32 defensematrixtimer_;
02098   ::google::protobuf::int32 ensnaretimer_;
02099   ::google::protobuf::int32 irradiatetimer_;
02100   ::google::protobuf::int32 lockdowntimer_;
02101   ::google::protobuf::int32 maelstromtimer_;
02102   ::google::protobuf::int32 plaguetimer_;
02103   ::google::protobuf::int32 removetimer_;
02104   ::google::protobuf::int32 stasistimer_;
02105   ::google::protobuf::int32 stimtimer_;
02106   ::messages::Position* position_;
02107   ::messages::Position* initialposition_;
02108   ::messages::TilePosition* tileposition_;
02109   ::messages::TilePosition* initialtileposition_;
02110   double angle_;
02111   double velocityx_;
02112   double velocityy_;
02113   ::messages::UnitId* target_;
02114   ::messages::Position* targetposition_;
02115   ::google::protobuf::int32 order_;
02116   ::messages::UnitId* ordertarget_;
02117   ::google::protobuf::int32 ordertimer_;
02118   ::google::protobuf::int32 secondaryorder_;
02119   ::messages::UnitId* buildunit_;
02120   ::google::protobuf::int32 remainingbuildtime_;
02121   ::google::protobuf::int32 remainingtraintime_;
02122   ::google::protobuf::RepeatedPtrField< ::messages::UnitType > trainingqueue_;
02123   ::messages::UnitId* transport_;
02124   ::google::protobuf::RepeatedPtrField< ::messages::UnitId > loadedunits_;
02125   ::google::protobuf::int32 interceptorcount_;
02126   ::google::protobuf::int32 scarabcount_;
02127   ::google::protobuf::int32 spiderminecount_;
02128   ::google::protobuf::int32 tech_;
02129   ::google::protobuf::int32 upgrade_;
02130   ::google::protobuf::int32 remainingresearchtime_;
02131   ::google::protobuf::int32 remainingupgradetime_;
02132   ::messages::Position* rallyposition_;
02133   ::messages::UnitId* rallyunit_;
02134   ::messages::UnitId* addon_;
02135   ::messages::UnitId* carrier_;
02136   ::google::protobuf::RepeatedPtrField< ::messages::UnitId > interceptors_;
02137   ::messages::UnitId* nydusexit_;
02138   bool exists_;
02139   bool hasnuke_;
02140   bool accelerating_;
02141   bool beingconstructed_;
02142   bool beinghealed_;
02143   bool blind_;
02144   bool braking_;
02145   bool burrowed_;
02146   bool carryinggas_;
02147   bool carryingminerals_;
02148   bool cloaked_;
02149   bool completed_;
02150   bool constructing_;
02151   bool defensematrixed_;
02152   bool ensnared_;
02153   bool following_;
02154   bool gatheringgas_;
02155   bool gatheringminerals_;
02156   bool hallucination_;
02157   bool idle_;
02158   bool irradiated_;
02159   bool lifted_;
02160   bool loaded_;
02161   bool lockeddown_;
02162   bool maelstrommed_;
02163   bool morphing_;
02164   bool moving_;
02165   bool parasited_;
02166   bool patrolling_;
02167   bool plagued_;
02168   bool repairing_;
02169   bool researching_;
02170   bool selected_;
02171   bool sieged_;
02172   bool startingattack_;
02173   bool stasised_;
02174   bool stimmed_;
02175   bool training_;
02176   bool understorm_;
02177   bool underattack_;
02178   bool underdarkswarm_;
02179   bool unpowered_;
02180   bool upgrading_;
02181   bool visible_;
02182   bool beinggathered_;
02183   ::google::protobuf::RepeatedPtrField< ::messages::UnitId > larvae_;
02184   ::messages::UnitId* hatchery_;
02185   ::messages::UnitType* buildtype_;
02186   bool detected_;
02187   bool attacking_;
02188   bool attackframe_;
02189   bool stuck_;
02190   friend void  protobuf_AddDesc_unit_2eproto();
02191   friend void protobuf_AssignDesc_unit_2eproto();
02192   friend void protobuf_ShutdownFile_unit_2eproto();
02193   
02194   ::google::protobuf::uint32 _has_bits_[(109 + 31) / 32];
02195   
02196   // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
02197   inline bool _has_bit(int index) const {
02198     return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
02199   }
02200   inline void _set_bit(int index) {
02201     _has_bits_[index / 32] |= (1u << (index % 32));
02202   }
02203   inline void _clear_bit(int index) {
02204     _has_bits_[index / 32] &= ~(1u << (index % 32));
02205   }
02206   
02207   void InitAsDefaultInstance();
02208   static Unit* default_instance_;
02209 };
02210 // -------------------------------------------------------------------
02211 
02212 class RaceData : public ::google::protobuf::Message {
02213  public:
02214   RaceData();
02215   virtual ~RaceData();
02216   
02217   RaceData(const RaceData& from);
02218   
02219   inline RaceData& operator=(const RaceData& from) {
02220     CopyFrom(from);
02221     return *this;
02222   }
02223   
02224   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
02225     return _unknown_fields_;
02226   }
02227   
02228   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
02229     return &_unknown_fields_;
02230   }
02231   
02232   static const ::google::protobuf::Descriptor* descriptor();
02233   static const RaceData& default_instance();
02234   
02235   void Swap(RaceData* other);
02236   
02237   // implements Message ----------------------------------------------
02238   
02239   RaceData* New() const;
02240   void CopyFrom(const ::google::protobuf::Message& from);
02241   void MergeFrom(const ::google::protobuf::Message& from);
02242   void CopyFrom(const RaceData& from);
02243   void MergeFrom(const RaceData& from);
02244   void Clear();
02245   bool IsInitialized() const;
02246   
02247   int ByteSize() const;
02248   bool MergePartialFromCodedStream(
02249       ::google::protobuf::io::CodedInputStream* input);
02250   void SerializeWithCachedSizes(
02251       ::google::protobuf::io::CodedOutputStream* output) const;
02252   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
02253   int GetCachedSize() const { return _cached_size_; }
02254   private:
02255   void SharedCtor();
02256   void SharedDtor();
02257   void SetCachedSize(int size) const;
02258   public:
02259   
02260   ::google::protobuf::Metadata GetMetadata() const;
02261   
02262   // nested types ----------------------------------------------------
02263   
02264   // accessors -------------------------------------------------------
02265   
02266   // required .messages.Race id = 1;
02267   inline bool has_id() const;
02268   inline void clear_id();
02269   static const int kIdFieldNumber = 1;
02270   inline messages::Race id() const;
02271   inline void set_id(messages::Race value);
02272   
02273   // required string name = 2;
02274   inline bool has_name() const;
02275   inline void clear_name();
02276   static const int kNameFieldNumber = 2;
02277   inline const ::std::string& name() const;
02278   inline void set_name(const ::std::string& value);
02279   inline void set_name(const char* value);
02280   inline void set_name(const char* value, size_t size);
02281   inline ::std::string* mutable_name();
02282   
02283   // required .messages.UnitType worker = 3;
02284   inline bool has_worker() const;
02285   inline void clear_worker();
02286   static const int kWorkerFieldNumber = 3;
02287   inline const ::messages::UnitType& worker() const;
02288   inline ::messages::UnitType* mutable_worker();
02289   
02290   // required .messages.UnitType center = 4;
02291   inline bool has_center() const;
02292   inline void clear_center();
02293   static const int kCenterFieldNumber = 4;
02294   inline const ::messages::UnitType& center() const;
02295   inline ::messages::UnitType* mutable_center();
02296   
02297   // required .messages.UnitType refinery = 5;
02298   inline bool has_refinery() const;
02299   inline void clear_refinery();
02300   static const int kRefineryFieldNumber = 5;
02301   inline const ::messages::UnitType& refinery() const;
02302   inline ::messages::UnitType* mutable_refinery();
02303   
02304   // required .messages.UnitType transport = 6;
02305   inline bool has_transport() const;
02306   inline void clear_transport();
02307   static const int kTransportFieldNumber = 6;
02308   inline const ::messages::UnitType& transport() const;
02309   inline ::messages::UnitType* mutable_transport();
02310   
02311   // required .messages.UnitType supplyProvider = 7;
02312   inline bool has_supplyprovider() const;
02313   inline void clear_supplyprovider();
02314   static const int kSupplyProviderFieldNumber = 7;
02315   inline const ::messages::UnitType& supplyprovider() const;
02316   inline ::messages::UnitType* mutable_supplyprovider();
02317   
02318   // @@protoc_insertion_point(class_scope:messages.RaceData)
02319  private:
02320   ::google::protobuf::UnknownFieldSet _unknown_fields_;
02321   mutable int _cached_size_;
02322   
02323   int id_;
02324   ::std::string* name_;
02325   static const ::std::string _default_name_;
02326   ::messages::UnitType* worker_;
02327   ::messages::UnitType* center_;
02328   ::messages::UnitType* refinery_;
02329   ::messages::UnitType* transport_;
02330   ::messages::UnitType* supplyprovider_;
02331   friend void  protobuf_AddDesc_unit_2eproto();
02332   friend void protobuf_AssignDesc_unit_2eproto();
02333   friend void protobuf_ShutdownFile_unit_2eproto();
02334   
02335   ::google::protobuf::uint32 _has_bits_[(7 + 31) / 32];
02336   
02337   // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
02338   inline bool _has_bit(int index) const {
02339     return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
02340   }
02341   inline void _set_bit(int index) {
02342     _has_bits_[index / 32] |= (1u << (index % 32));
02343   }
02344   inline void _clear_bit(int index) {
02345     _has_bits_[index / 32] &= ~(1u << (index % 32));
02346   }
02347   
02348   void InitAsDefaultInstance();
02349   static RaceData* default_instance_;
02350 };
02351 // -------------------------------------------------------------------
02352 
02353 class PlayerStatus : public ::google::protobuf::Message {
02354  public:
02355   PlayerStatus();
02356   virtual ~PlayerStatus();
02357   
02358   PlayerStatus(const PlayerStatus& from);
02359   
02360   inline PlayerStatus& operator=(const PlayerStatus& from) {
02361     CopyFrom(from);
02362     return *this;
02363   }
02364   
02365   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
02366     return _unknown_fields_;
02367   }
02368   
02369   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
02370     return &_unknown_fields_;
02371   }
02372   
02373   static const ::google::protobuf::Descriptor* descriptor();
02374   static const PlayerStatus& default_instance();
02375   
02376   void Swap(PlayerStatus* other);
02377   
02378   // implements Message ----------------------------------------------
02379   
02380   PlayerStatus* New() const;
02381   void CopyFrom(const ::google::protobuf::Message& from);
02382   void MergeFrom(const ::google::protobuf::Message& from);
02383   void CopyFrom(const PlayerStatus& from);
02384   void MergeFrom(const PlayerStatus& from);
02385   void Clear();
02386   bool IsInitialized() const;
02387   
02388   int ByteSize() const;
02389   bool MergePartialFromCodedStream(
02390       ::google::protobuf::io::CodedInputStream* input);
02391   void SerializeWithCachedSizes(
02392       ::google::protobuf::io::CodedOutputStream* output) const;
02393   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
02394   int GetCachedSize() const { return _cached_size_; }
02395   private:
02396   void SharedCtor();
02397   void SharedDtor();
02398   void SetCachedSize(int size) const;
02399   public:
02400   
02401   ::google::protobuf::Metadata GetMetadata() const;
02402   
02403   // nested types ----------------------------------------------------
02404   
02405   // accessors -------------------------------------------------------
02406   
02407   // required int32 id = 1;
02408   inline bool has_id() const;
02409   inline void clear_id();
02410   static const int kIdFieldNumber = 1;
02411   inline ::google::protobuf::int32 id() const;
02412   inline void set_id(::google::protobuf::int32 value);
02413   
02414   // required .messages.PlayerStance stance = 2;
02415   inline bool has_stance() const;
02416   inline void clear_stance();
02417   static const int kStanceFieldNumber = 2;
02418   inline messages::PlayerStance stance() const;
02419   inline void set_stance(messages::PlayerStance value);
02420   
02421   // required int32 ownerId = 3;
02422   inline bool has_ownerid() const;
02423   inline void clear_ownerid();
02424   static const int kOwnerIdFieldNumber = 3;
02425   inline ::google::protobuf::int32 ownerid() const;
02426   inline void set_ownerid(::google::protobuf::int32 value);
02427   
02428   // @@protoc_insertion_point(class_scope:messages.PlayerStatus)
02429  private:
02430   ::google::protobuf::UnknownFieldSet _unknown_fields_;
02431   mutable int _cached_size_;
02432   
02433   ::google::protobuf::int32 id_;
02434   int stance_;
02435   ::google::protobuf::int32 ownerid_;
02436   friend void  protobuf_AddDesc_unit_2eproto();
02437   friend void protobuf_AssignDesc_unit_2eproto();
02438   friend void protobuf_ShutdownFile_unit_2eproto();
02439   
02440   ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
02441   
02442   // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
02443   inline bool _has_bit(int index) const {
02444     return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
02445   }
02446   inline void _set_bit(int index) {
02447     _has_bits_[index / 32] |= (1u << (index % 32));
02448   }
02449   inline void _clear_bit(int index) {
02450     _has_bits_[index / 32] &= ~(1u << (index % 32));
02451   }
02452   
02453   void InitAsDefaultInstance();
02454   static PlayerStatus* default_instance_;
02455 };
02456 // -------------------------------------------------------------------
02457 
02458 class UnitTypeIntPair : public ::google::protobuf::Message {
02459  public:
02460   UnitTypeIntPair();
02461   virtual ~UnitTypeIntPair();
02462   
02463   UnitTypeIntPair(const UnitTypeIntPair& from);
02464   
02465   inline UnitTypeIntPair& operator=(const UnitTypeIntPair& from) {
02466     CopyFrom(from);
02467     return *this;
02468   }
02469   
02470   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
02471     return _unknown_fields_;
02472   }
02473   
02474   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
02475     return &_unknown_fields_;
02476   }
02477   
02478   static const ::google::protobuf::Descriptor* descriptor();
02479   static const UnitTypeIntPair& default_instance();
02480   
02481   void Swap(UnitTypeIntPair* other);
02482   
02483   // implements Message ----------------------------------------------
02484   
02485   UnitTypeIntPair* New() const;
02486   void CopyFrom(const ::google::protobuf::Message& from);
02487   void MergeFrom(const ::google::protobuf::Message& from);
02488   void CopyFrom(const UnitTypeIntPair& from);
02489   void MergeFrom(const UnitTypeIntPair& from);
02490   void Clear();
02491   bool IsInitialized() const;
02492   
02493   int ByteSize() const;
02494   bool MergePartialFromCodedStream(
02495       ::google::protobuf::io::CodedInputStream* input);
02496   void SerializeWithCachedSizes(
02497       ::google::protobuf::io::CodedOutputStream* output) const;
02498   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
02499   int GetCachedSize() const { return _cached_size_; }
02500   private:
02501   void SharedCtor();
02502   void SharedDtor();
02503   void SetCachedSize(int size) const;
02504   public:
02505   
02506   ::google::protobuf::Metadata GetMetadata() const;
02507   
02508   // nested types ----------------------------------------------------
02509   
02510   // accessors -------------------------------------------------------
02511   
02512   // required .messages.UnitType type = 1;
02513   inline bool has_type() const;
02514   inline void clear_type();
02515   static const int kTypeFieldNumber = 1;
02516   inline const ::messages::UnitType& type() const;
02517   inline ::messages::UnitType* mutable_type();
02518   
02519   // required int32 count = 2;
02520   inline bool has_count() const;
02521   inline void clear_count();
02522   static const int kCountFieldNumber = 2;
02523   inline ::google::protobuf::int32 count() const;
02524   inline void set_count(::google::protobuf::int32 value);
02525   
02526   // @@protoc_insertion_point(class_scope:messages.UnitTypeIntPair)
02527  private:
02528   ::google::protobuf::UnknownFieldSet _unknown_fields_;
02529   mutable int _cached_size_;
02530   
02531   ::messages::UnitType* type_;
02532   ::google::protobuf::int32 count_;
02533   friend void  protobuf_AddDesc_unit_2eproto();
02534   friend void protobuf_AssignDesc_unit_2eproto();
02535   friend void protobuf_ShutdownFile_unit_2eproto();
02536   
02537   ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
02538   
02539   // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
02540   inline bool _has_bit(int index) const {
02541     return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
02542   }
02543   inline void _set_bit(int index) {
02544     _has_bits_[index / 32] |= (1u << (index % 32));
02545   }
02546   inline void _clear_bit(int index) {
02547     _has_bits_[index / 32] &= ~(1u << (index % 32));
02548   }
02549   
02550   void InitAsDefaultInstance();
02551   static UnitTypeIntPair* default_instance_;
02552 };
02553 // -------------------------------------------------------------------
02554 
02555 class Player : public ::google::protobuf::Message {
02556  public:
02557   Player();
02558   virtual ~Player();
02559   
02560   Player(const Player& from);
02561   
02562   inline Player& operator=(const Player& from) {
02563     CopyFrom(from);
02564     return *this;
02565   }
02566   
02567   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
02568     return _unknown_fields_;
02569   }
02570   
02571   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
02572     return &_unknown_fields_;
02573   }
02574   
02575   static const ::google::protobuf::Descriptor* descriptor();
02576   static const Player& default_instance();
02577   
02578   void Swap(Player* other);
02579   
02580   // implements Message ----------------------------------------------
02581   
02582   Player* New() const;
02583   void CopyFrom(const ::google::protobuf::Message& from);
02584   void MergeFrom(const ::google::protobuf::Message& from);
02585   void CopyFrom(const Player& from);
02586   void MergeFrom(const Player& from);
02587   void Clear();
02588   bool IsInitialized() const;
02589   
02590   int ByteSize() const;
02591   bool MergePartialFromCodedStream(
02592       ::google::protobuf::io::CodedInputStream* input);
02593   void SerializeWithCachedSizes(
02594       ::google::protobuf::io::CodedOutputStream* output) const;
02595   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
02596   int GetCachedSize() const { return _cached_size_; }
02597   private:
02598   void SharedCtor();
02599   void SharedDtor();
02600   void SetCachedSize(int size) const;
02601   public:
02602   
02603   ::google::protobuf::Metadata GetMetadata() const;
02604   
02605   // nested types ----------------------------------------------------
02606   
02607   // accessors -------------------------------------------------------
02608   
02609   // required int32 id = 1;
02610   inline bool has_id() const;
02611   inline void clear_id();
02612   static const int kIdFieldNumber = 1;
02613   inline ::google::protobuf::int32 id() const;
02614   inline void set_id(::google::protobuf::int32 value);
02615   
02616   // required string name = 2;
02617   inline bool has_name() const;
02618   inline void clear_name();
02619   static const int kNameFieldNumber = 2;
02620   inline const ::std::string& name() const;
02621   inline void set_name(const ::std::string& value);
02622   inline void set_name(const char* value);
02623   inline void set_name(const char* value, size_t size);
02624   inline ::std::string* mutable_name();
02625   
02626   // repeated .messages.UnitId units = 3;
02627   inline int units_size() const;
02628   inline void clear_units();
02629   static const int kUnitsFieldNumber = 3;
02630   inline const ::messages::UnitId& units(int index) const;
02631   inline ::messages::UnitId* mutable_units(int index);
02632   inline ::messages::UnitId* add_units();
02633   inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitId >&
02634       units() const;
02635   inline ::google::protobuf::RepeatedPtrField< ::messages::UnitId >*
02636       mutable_units();
02637   
02638   // required .messages.Race race = 4;
02639   inline bool has_race() const;
02640   inline void clear_race();
02641   static const int kRaceFieldNumber = 4;
02642   inline messages::Race race() const;
02643   inline void set_race(messages::Race value);
02644   
02645   // repeated .messages.PlayerStatus stances = 5;
02646   inline int stances_size() const;
02647   inline void clear_stances();
02648   static const int kStancesFieldNumber = 5;
02649   inline const ::messages::PlayerStatus& stances(int index) const;
02650   inline ::messages::PlayerStatus* mutable_stances(int index);
02651   inline ::messages::PlayerStatus* add_stances();
02652   inline const ::google::protobuf::RepeatedPtrField< ::messages::PlayerStatus >&
02653       stances() const;
02654   inline ::google::protobuf::RepeatedPtrField< ::messages::PlayerStatus >*
02655       mutable_stances();
02656   
02657   // required bool neutral = 6;
02658   inline bool has_neutral() const;
02659   inline void clear_neutral();
02660   static const int kNeutralFieldNumber = 6;
02661   inline bool neutral() const;
02662   inline void set_neutral(bool value);
02663   
02664   // required .messages.TilePosition startLocation = 7;
02665   inline bool has_startlocation() const;
02666   inline void clear_startlocation();
02667   static const int kStartLocationFieldNumber = 7;
02668   inline const ::messages::TilePosition& startlocation() const;
02669   inline ::messages::TilePosition* mutable_startlocation();
02670   
02671   // required bool leftGame = 8;
02672   inline bool has_leftgame() const;
02673   inline void clear_leftgame();
02674   static const int kLeftGameFieldNumber = 8;
02675   inline bool leftgame() const;
02676   inline void set_leftgame(bool value);
02677   
02678   // required int32 minerals = 9;
02679   inline bool has_minerals() const;
02680   inline void clear_minerals();
02681   static const int kMineralsFieldNumber = 9;
02682   inline ::google::protobuf::int32 minerals() const;
02683   inline void set_minerals(::google::protobuf::int32 value);
02684   
02685   // required int32 gas = 10;
02686   inline bool has_gas() const;
02687   inline void clear_gas();
02688   static const int kGasFieldNumber = 10;
02689   inline ::google::protobuf::int32 gas() const;
02690   inline void set_gas(::google::protobuf::int32 value);
02691   
02692   // required int32 cumulativeMinerals = 11;
02693   inline bool has_cumulativeminerals() const;
02694   inline void clear_cumulativeminerals();
02695   static const int kCumulativeMineralsFieldNumber = 11;
02696   inline ::google::protobuf::int32 cumulativeminerals() const;
02697   inline void set_cumulativeminerals(::google::protobuf::int32 value);
02698   
02699   // required int32 cumulativeGas = 12;
02700   inline bool has_cumulativegas() const;
02701   inline void clear_cumulativegas();
02702   static const int kCumulativeGasFieldNumber = 12;
02703   inline ::google::protobuf::int32 cumulativegas() const;
02704   inline void set_cumulativegas(::google::protobuf::int32 value);
02705   
02706   // required int32 supplyTotal = 13;
02707   inline bool has_supplytotal() const;
02708   inline void clear_supplytotal();
02709   static const int kSupplyTotalFieldNumber = 13;
02710   inline ::google::protobuf::int32 supplytotal() const;
02711   inline void set_supplytotal(::google::protobuf::int32 value);
02712   
02713   // required int32 supplyUsed = 14;
02714   inline bool has_supplyused() const;
02715   inline void clear_supplyused();
02716   static const int kSupplyUsedFieldNumber = 14;
02717   inline ::google::protobuf::int32 supplyused() const;
02718   inline void set_supplyused(::google::protobuf::int32 value);
02719   
02720   // repeated .messages.UnitTypeIntPair allUnitCount = 15;
02721   inline int allunitcount_size() const;
02722   inline void clear_allunitcount();
02723   static const int kAllUnitCountFieldNumber = 15;
02724   inline const ::messages::UnitTypeIntPair& allunitcount(int index) const;
02725   inline ::messages::UnitTypeIntPair* mutable_allunitcount(int index);
02726   inline ::messages::UnitTypeIntPair* add_allunitcount();
02727   inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >&
02728       allunitcount() const;
02729   inline ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >*
02730       mutable_allunitcount();
02731   
02732   // repeated .messages.UnitTypeIntPair completedUnitCount = 16;
02733   inline int completedunitcount_size() const;
02734   inline void clear_completedunitcount();
02735   static const int kCompletedUnitCountFieldNumber = 16;
02736   inline const ::messages::UnitTypeIntPair& completedunitcount(int index) const;
02737   inline ::messages::UnitTypeIntPair* mutable_completedunitcount(int index);
02738   inline ::messages::UnitTypeIntPair* add_completedunitcount();
02739   inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >&
02740       completedunitcount() const;
02741   inline ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >*
02742       mutable_completedunitcount();
02743   
02744   // repeated .messages.UnitTypeIntPair incompleteUnitCount = 17;
02745   inline int incompleteunitcount_size() const;
02746   inline void clear_incompleteunitcount();
02747   static const int kIncompleteUnitCountFieldNumber = 17;
02748   inline const ::messages::UnitTypeIntPair& incompleteunitcount(int index) const;
02749   inline ::messages::UnitTypeIntPair* mutable_incompleteunitcount(int index);
02750   inline ::messages::UnitTypeIntPair* add_incompleteunitcount();
02751   inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >&
02752       incompleteunitcount() const;
02753   inline ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >*
02754       mutable_incompleteunitcount();
02755   
02756   // repeated .messages.UnitTypeIntPair deadUnitCount = 18;
02757   inline int deadunitcount_size() const;
02758   inline void clear_deadunitcount();
02759   static const int kDeadUnitCountFieldNumber = 18;
02760   inline const ::messages::UnitTypeIntPair& deadunitcount(int index) const;
02761   inline ::messages::UnitTypeIntPair* mutable_deadunitcount(int index);
02762   inline ::messages::UnitTypeIntPair* add_deadunitcount();
02763   inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >&
02764       deadunitcount() const;
02765   inline ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >*
02766       mutable_deadunitcount();
02767   
02768   // repeated .messages.UnitTypeIntPair killedUnitCount = 19;
02769   inline int killedunitcount_size() const;
02770   inline void clear_killedunitcount();
02771   static const int kKilledUnitCountFieldNumber = 19;
02772   inline const ::messages::UnitTypeIntPair& killedunitcount(int index) const;
02773   inline ::messages::UnitTypeIntPair* mutable_killedunitcount(int index);
02774   inline ::messages::UnitTypeIntPair* add_killedunitcount();
02775   inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >&
02776       killedunitcount() const;
02777   inline ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >*
02778       mutable_killedunitcount();
02779   
02780   // repeated .messages.UpgradeLevel upgradeLevels = 20;
02781   inline int upgradelevels_size() const;
02782   inline void clear_upgradelevels();
02783   static const int kUpgradeLevelsFieldNumber = 20;
02784   inline const ::messages::UpgradeLevel& upgradelevels(int index) const;
02785   inline ::messages::UpgradeLevel* mutable_upgradelevels(int index);
02786   inline ::messages::UpgradeLevel* add_upgradelevels();
02787   inline const ::google::protobuf::RepeatedPtrField< ::messages::UpgradeLevel >&
02788       upgradelevels() const;
02789   inline ::google::protobuf::RepeatedPtrField< ::messages::UpgradeLevel >*
02790       mutable_upgradelevels();
02791   
02792   // repeated .messages.TechType researchedTechs = 21;
02793   inline int researchedtechs_size() const;
02794   inline void clear_researchedtechs();
02795   static const int kResearchedTechsFieldNumber = 21;
02796   inline const ::messages::TechType& researchedtechs(int index) const;
02797   inline ::messages::TechType* mutable_researchedtechs(int index);
02798   inline ::messages::TechType* add_researchedtechs();
02799   inline const ::google::protobuf::RepeatedPtrField< ::messages::TechType >&
02800       researchedtechs() const;
02801   inline ::google::protobuf::RepeatedPtrField< ::messages::TechType >*
02802       mutable_researchedtechs();
02803   
02804   // repeated .messages.TechType researching = 22;
02805   inline int researching_size() const;
02806   inline void clear_researching();
02807   static const int kResearchingFieldNumber = 22;
02808   inline const ::messages::TechType& researching(int index) const;
02809   inline ::messages::TechType* mutable_researching(int index);
02810   inline ::messages::TechType* add_researching();
02811   inline const ::google::protobuf::RepeatedPtrField< ::messages::TechType >&
02812       researching() const;
02813   inline ::google::protobuf::RepeatedPtrField< ::messages::TechType >*
02814       mutable_researching();
02815   
02816   // repeated .messages.UpgradeType upgrading = 23;
02817   inline int upgrading_size() const;
02818   inline void clear_upgrading();
02819   static const int kUpgradingFieldNumber = 23;
02820   inline const ::messages::UpgradeType& upgrading(int index) const;
02821   inline ::messages::UpgradeType* mutable_upgrading(int index);
02822   inline ::messages::UpgradeType* add_upgrading();
02823   inline const ::google::protobuf::RepeatedPtrField< ::messages::UpgradeType >&
02824       upgrading() const;
02825   inline ::google::protobuf::RepeatedPtrField< ::messages::UpgradeType >*
02826       mutable_upgrading();
02827   
02828   // optional bool self = 24 [default = false];
02829   inline bool has_self() const;
02830   inline void clear_self();
02831   static const int kSelfFieldNumber = 24;
02832   inline bool self() const;
02833   inline void set_self(bool value);
02834   
02835   // required bool victorious = 25;
02836   inline bool has_victorious() const;
02837   inline void clear_victorious();
02838   static const int kVictoriousFieldNumber = 25;
02839   inline bool victorious() const;
02840   inline void set_victorious(bool value);
02841   
02842   // required bool defeated = 26;
02843   inline bool has_defeated() const;
02844   inline void clear_defeated();
02845   static const int kDefeatedFieldNumber = 26;
02846   inline bool defeated() const;
02847   inline void set_defeated(bool value);
02848   
02849   // @@protoc_insertion_point(class_scope:messages.Player)
02850  private:
02851   ::google::protobuf::UnknownFieldSet _unknown_fields_;
02852   mutable int _cached_size_;
02853   
02854   ::google::protobuf::int32 id_;
02855   ::std::string* name_;
02856   static const ::std::string _default_name_;
02857   ::google::protobuf::RepeatedPtrField< ::messages::UnitId > units_;
02858   int race_;
02859   ::google::protobuf::RepeatedPtrField< ::messages::PlayerStatus > stances_;
02860   bool neutral_;
02861   ::messages::TilePosition* startlocation_;
02862   bool leftgame_;
02863   ::google::protobuf::int32 minerals_;
02864   ::google::protobuf::int32 gas_;
02865   ::google::protobuf::int32 cumulativeminerals_;
02866   ::google::protobuf::int32 cumulativegas_;
02867   ::google::protobuf::int32 supplytotal_;
02868   ::google::protobuf::int32 supplyused_;
02869   ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair > allunitcount_;
02870   ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair > completedunitcount_;
02871   ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair > incompleteunitcount_;
02872   ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair > deadunitcount_;
02873   ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair > killedunitcount_;
02874   ::google::protobuf::RepeatedPtrField< ::messages::UpgradeLevel > upgradelevels_;
02875   ::google::protobuf::RepeatedPtrField< ::messages::TechType > researchedtechs_;
02876   ::google::protobuf::RepeatedPtrField< ::messages::TechType > researching_;
02877   ::google::protobuf::RepeatedPtrField< ::messages::UpgradeType > upgrading_;
02878   bool self_;
02879   bool victorious_;
02880   bool defeated_;
02881   friend void  protobuf_AddDesc_unit_2eproto();
02882   friend void protobuf_AssignDesc_unit_2eproto();
02883   friend void protobuf_ShutdownFile_unit_2eproto();
02884   
02885   ::google::protobuf::uint32 _has_bits_[(26 + 31) / 32];
02886   
02887   // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
02888   inline bool _has_bit(int index) const {
02889     return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
02890   }
02891   inline void _set_bit(int index) {
02892     _has_bits_[index / 32] |= (1u << (index % 32));
02893   }
02894   inline void _clear_bit(int index) {
02895     _has_bits_[index / 32] &= ~(1u << (index % 32));
02896   }
02897   
02898   void InitAsDefaultInstance();
02899   static Player* default_instance_;
02900 };
02901 // -------------------------------------------------------------------
02902 
02903 class UpgradeLevel : public ::google::protobuf::Message {
02904  public:
02905   UpgradeLevel();
02906   virtual ~UpgradeLevel();
02907   
02908   UpgradeLevel(const UpgradeLevel& from);
02909   
02910   inline UpgradeLevel& operator=(const UpgradeLevel& from) {
02911     CopyFrom(from);
02912     return *this;
02913   }
02914   
02915   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
02916     return _unknown_fields_;
02917   }
02918   
02919   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
02920     return &_unknown_fields_;
02921   }
02922   
02923   static const ::google::protobuf::Descriptor* descriptor();
02924   static const UpgradeLevel& default_instance();
02925   
02926   void Swap(UpgradeLevel* other);
02927   
02928   // implements Message ----------------------------------------------
02929   
02930   UpgradeLevel* New() const;
02931   void CopyFrom(const ::google::protobuf::Message& from);
02932   void MergeFrom(const ::google::protobuf::Message& from);
02933   void CopyFrom(const UpgradeLevel& from);
02934   void MergeFrom(const UpgradeLevel& from);
02935   void Clear();
02936   bool IsInitialized() const;
02937   
02938   int ByteSize() const;
02939   bool MergePartialFromCodedStream(
02940       ::google::protobuf::io::CodedInputStream* input);
02941   void SerializeWithCachedSizes(
02942       ::google::protobuf::io::CodedOutputStream* output) const;
02943   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
02944   int GetCachedSize() const { return _cached_size_; }
02945   private:
02946   void SharedCtor();
02947   void SharedDtor();
02948   void SetCachedSize(int size) const;
02949   public:
02950   
02951   ::google::protobuf::Metadata GetMetadata() const;
02952   
02953   // nested types ----------------------------------------------------
02954   
02955   // accessors -------------------------------------------------------
02956   
02957   // required .messages.UpgradeType type = 1;
02958   inline bool has_type() const;
02959   inline void clear_type();
02960   static const int kTypeFieldNumber = 1;
02961   inline const ::messages::UpgradeType& type() const;
02962   inline ::messages::UpgradeType* mutable_type();
02963   
02964   // required int32 level = 2;
02965   inline bool has_level() const;
02966   inline void clear_level();
02967   static const int kLevelFieldNumber = 2;
02968   inline ::google::protobuf::int32 level() const;
02969   inline void set_level(::google::protobuf::int32 value);
02970   
02971   // @@protoc_insertion_point(class_scope:messages.UpgradeLevel)
02972  private:
02973   ::google::protobuf::UnknownFieldSet _unknown_fields_;
02974   mutable int _cached_size_;
02975   
02976   ::messages::UpgradeType* type_;
02977   ::google::protobuf::int32 level_;
02978   friend void  protobuf_AddDesc_unit_2eproto();
02979   friend void protobuf_AssignDesc_unit_2eproto();
02980   friend void protobuf_ShutdownFile_unit_2eproto();
02981   
02982   ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
02983   
02984   // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
02985   inline bool _has_bit(int index) const {
02986     return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
02987   }
02988   inline void _set_bit(int index) {
02989     _has_bits_[index / 32] |= (1u << (index % 32));
02990   }
02991   inline void _clear_bit(int index) {
02992     _has_bits_[index / 32] &= ~(1u << (index % 32));
02993   }
02994   
02995   void InitAsDefaultInstance();
02996   static UpgradeLevel* default_instance_;
02997 };
02998 // -------------------------------------------------------------------
02999 
03000 class TechType : public ::google::protobuf::Message {
03001  public:
03002   TechType();
03003   virtual ~TechType();
03004   
03005   TechType(const TechType& from);
03006   
03007   inline TechType& operator=(const TechType& from) {
03008     CopyFrom(from);
03009     return *this;
03010   }
03011   
03012   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
03013     return _unknown_fields_;
03014   }
03015   
03016   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
03017     return &_unknown_fields_;
03018   }
03019   
03020   static const ::google::protobuf::Descriptor* descriptor();
03021   static const TechType& default_instance();
03022   
03023   void Swap(TechType* other);
03024   
03025   // implements Message ----------------------------------------------
03026   
03027   TechType* New() const;
03028   void CopyFrom(const ::google::protobuf::Message& from);
03029   void MergeFrom(const ::google::protobuf::Message& from);
03030   void CopyFrom(const TechType& from);
03031   void MergeFrom(const TechType& from);
03032   void Clear();
03033   bool IsInitialized() const;
03034   
03035   int ByteSize() const;
03036   bool MergePartialFromCodedStream(
03037       ::google::protobuf::io::CodedInputStream* input);
03038   void SerializeWithCachedSizes(
03039       ::google::protobuf::io::CodedOutputStream* output) const;
03040   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
03041   int GetCachedSize() const { return _cached_size_; }
03042   private:
03043   void SharedCtor();
03044   void SharedDtor();
03045   void SetCachedSize(int size) const;
03046   public:
03047   
03048   ::google::protobuf::Metadata GetMetadata() const;
03049   
03050   // nested types ----------------------------------------------------
03051   
03052   // accessors -------------------------------------------------------
03053   
03054   // required int32 id = 1;
03055   inline bool has_id() const;
03056   inline void clear_id();
03057   static const int kIdFieldNumber = 1;
03058   inline ::google::protobuf::int32 id() const;
03059   inline void set_id(::google::protobuf::int32 value);
03060   
03061   // @@protoc_insertion_point(class_scope:messages.TechType)
03062  private:
03063   ::google::protobuf::UnknownFieldSet _unknown_fields_;
03064   mutable int _cached_size_;
03065   
03066   ::google::protobuf::int32 id_;
03067   friend void  protobuf_AddDesc_unit_2eproto();
03068   friend void protobuf_AssignDesc_unit_2eproto();
03069   friend void protobuf_ShutdownFile_unit_2eproto();
03070   
03071   ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
03072   
03073   // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
03074   inline bool _has_bit(int index) const {
03075     return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
03076   }
03077   inline void _set_bit(int index) {
03078     _has_bits_[index / 32] |= (1u << (index % 32));
03079   }
03080   inline void _clear_bit(int index) {
03081     _has_bits_[index / 32] &= ~(1u << (index % 32));
03082   }
03083   
03084   void InitAsDefaultInstance();
03085   static TechType* default_instance_;
03086 };
03087 // -------------------------------------------------------------------
03088 
03089 class UpgradeType : public ::google::protobuf::Message {
03090  public:
03091   UpgradeType();
03092   virtual ~UpgradeType();
03093   
03094   UpgradeType(const UpgradeType& from);
03095   
03096   inline UpgradeType& operator=(const UpgradeType& from) {
03097     CopyFrom(from);
03098     return *this;
03099   }
03100   
03101   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
03102     return _unknown_fields_;
03103   }
03104   
03105   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
03106     return &_unknown_fields_;
03107   }
03108   
03109   static const ::google::protobuf::Descriptor* descriptor();
03110   static const UpgradeType& default_instance();
03111   
03112   void Swap(UpgradeType* other);
03113   
03114   // implements Message ----------------------------------------------
03115   
03116   UpgradeType* New() const;
03117   void CopyFrom(const ::google::protobuf::Message& from);
03118   void MergeFrom(const ::google::protobuf::Message& from);
03119   void CopyFrom(const UpgradeType& from);
03120   void MergeFrom(const UpgradeType& from);
03121   void Clear();
03122   bool IsInitialized() const;
03123   
03124   int ByteSize() const;
03125   bool MergePartialFromCodedStream(
03126       ::google::protobuf::io::CodedInputStream* input);
03127   void SerializeWithCachedSizes(
03128       ::google::protobuf::io::CodedOutputStream* output) const;
03129   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
03130   int GetCachedSize() const { return _cached_size_; }
03131   private:
03132   void SharedCtor();
03133   void SharedDtor();
03134   void SetCachedSize(int size) const;
03135   public:
03136   
03137   ::google::protobuf::Metadata GetMetadata() const;
03138   
03139   // nested types ----------------------------------------------------
03140   
03141   // accessors -------------------------------------------------------
03142   
03143   // required int32 id = 1;
03144   inline bool has_id() const;
03145   inline void clear_id();
03146   static const int kIdFieldNumber = 1;
03147   inline ::google::protobuf::int32 id() const;
03148   inline void set_id(::google::protobuf::int32 value);
03149   
03150   // @@protoc_insertion_point(class_scope:messages.UpgradeType)
03151  private:
03152   ::google::protobuf::UnknownFieldSet _unknown_fields_;
03153   mutable int _cached_size_;
03154   
03155   ::google::protobuf::int32 id_;
03156   friend void  protobuf_AddDesc_unit_2eproto();
03157   friend void protobuf_AssignDesc_unit_2eproto();
03158   friend void protobuf_ShutdownFile_unit_2eproto();
03159   
03160   ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
03161   
03162   // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
03163   inline bool _has_bit(int index) const {
03164     return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
03165   }
03166   inline void _set_bit(int index) {
03167     _has_bits_[index / 32] |= (1u << (index % 32));
03168   }
03169   inline void _clear_bit(int index) {
03170     _has_bits_[index / 32] &= ~(1u << (index % 32));
03171   }
03172   
03173   void InitAsDefaultInstance();
03174   static UpgradeType* default_instance_;
03175 };
03176 // -------------------------------------------------------------------
03177 
03178 class TechTypeData : public ::google::protobuf::Message {
03179  public:
03180   TechTypeData();
03181   virtual ~TechTypeData();
03182   
03183   TechTypeData(const TechTypeData& from);
03184   
03185   inline TechTypeData& operator=(const TechTypeData& from) {
03186     CopyFrom(from);
03187     return *this;
03188   }
03189   
03190   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
03191     return _unknown_fields_;
03192   }
03193   
03194   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
03195     return &_unknown_fields_;
03196   }
03197   
03198   static const ::google::protobuf::Descriptor* descriptor();
03199   static const TechTypeData& default_instance();
03200   
03201   void Swap(TechTypeData* other);
03202   
03203   // implements Message ----------------------------------------------
03204   
03205   TechTypeData* New() const;
03206   void CopyFrom(const ::google::protobuf::Message& from);
03207   void MergeFrom(const ::google::protobuf::Message& from);
03208   void CopyFrom(const TechTypeData& from);
03209   void MergeFrom(const TechTypeData& from);
03210   void Clear();
03211   bool IsInitialized() const;
03212   
03213   int ByteSize() const;
03214   bool MergePartialFromCodedStream(
03215       ::google::protobuf::io::CodedInputStream* input);
03216   void SerializeWithCachedSizes(
03217       ::google::protobuf::io::CodedOutputStream* output) const;
03218   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
03219   int GetCachedSize() const { return _cached_size_; }
03220   private:
03221   void SharedCtor();
03222   void SharedDtor();
03223   void SetCachedSize(int size) const;
03224   public:
03225   
03226   ::google::protobuf::Metadata GetMetadata() const;
03227   
03228   // nested types ----------------------------------------------------
03229   
03230   // accessors -------------------------------------------------------
03231   
03232   // required int32 id = 1;
03233   inline bool has_id() const;
03234   inline void clear_id();
03235   static const int kIdFieldNumber = 1;
03236   inline ::google::protobuf::int32 id() const;
03237   inline void set_id(::google::protobuf::int32 value);
03238   
03239   // required string name = 2;
03240   inline bool has_name() const;
03241   inline void clear_name();
03242   static const int kNameFieldNumber = 2;
03243   inline const ::std::string& name() const;
03244   inline void set_name(const ::std::string& value);
03245   inline void set_name(const char* value);
03246   inline void set_name(const char* value, size_t size);
03247   inline ::std::string* mutable_name();
03248   
03249   // required .messages.Race race = 3;
03250   inline bool has_race() const;
03251   inline void clear_race();
03252   static const int kRaceFieldNumber = 3;
03253   inline messages::Race race() const;
03254   inline void set_race(messages::Race value);
03255   
03256   // required int32 mineralPrice = 4;
03257   inline bool has_mineralprice() const;
03258   inline void clear_mineralprice();
03259   static const int kMineralPriceFieldNumber = 4;
03260   inline ::google::protobuf::int32 mineralprice() const;
03261   inline void set_mineralprice(::google::protobuf::int32 value);
03262   
03263   // required int32 gasPrice = 5;
03264   inline bool has_gasprice() const;
03265   inline void clear_gasprice();
03266   static const int kGasPriceFieldNumber = 5;
03267   inline ::google::protobuf::int32 gasprice() const;
03268   inline void set_gasprice(::google::protobuf::int32 value);
03269   
03270   // required int32 researchTime = 6;
03271   inline bool has_researchtime() const;
03272   inline void clear_researchtime();
03273   static const int kResearchTimeFieldNumber = 6;
03274   inline ::google::protobuf::int32 researchtime() const;
03275   inline void set_researchtime(::google::protobuf::int32 value);
03276   
03277   // required int32 energyUsed = 7;
03278   inline bool has_energyused() const;
03279   inline void clear_energyused();
03280   static const int kEnergyUsedFieldNumber = 7;
03281   inline ::google::protobuf::int32 energyused() const;
03282   inline void set_energyused(::google::protobuf::int32 value);
03283   
03284   // required .messages.UnitType whatResearches = 8;
03285   inline bool has_whatresearches() const;
03286   inline void clear_whatresearches();
03287   static const int kWhatResearchesFieldNumber = 8;
03288   inline const ::messages::UnitType& whatresearches() const;
03289   inline ::messages::UnitType* mutable_whatresearches();
03290   
03291   // required .messages.WeaponType weapon = 9;
03292   inline bool has_weapon() const;
03293   inline void clear_weapon();
03294   static const int kWeaponFieldNumber = 9;
03295   inline const ::messages::WeaponType& weapon() const;
03296   inline ::messages::WeaponType* mutable_weapon();
03297   
03298   // repeated .messages.UnitType whatUses = 10;
03299   inline int whatuses_size() const;
03300   inline void clear_whatuses();
03301   static const int kWhatUsesFieldNumber = 10;
03302   inline const ::messages::UnitType& whatuses(int index) const;
03303   inline ::messages::UnitType* mutable_whatuses(int index);
03304   inline ::messages::UnitType* add_whatuses();
03305   inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitType >&
03306       whatuses() const;
03307   inline ::google::protobuf::RepeatedPtrField< ::messages::UnitType >*
03308       mutable_whatuses();
03309   
03310   // @@protoc_insertion_point(class_scope:messages.TechTypeData)
03311  private:
03312   ::google::protobuf::UnknownFieldSet _unknown_fields_;
03313   mutable int _cached_size_;
03314   
03315   ::google::protobuf::int32 id_;
03316   ::std::string* name_;
03317   static const ::std::string _default_name_;
03318   int race_;
03319   ::google::protobuf::int32 mineralprice_;
03320   ::google::protobuf::int32 gasprice_;
03321   ::google::protobuf::int32 researchtime_;
03322   ::google::protobuf::int32 energyused_;
03323   ::messages::UnitType* whatresearches_;
03324   ::messages::WeaponType* weapon_;
03325   ::google::protobuf::RepeatedPtrField< ::messages::UnitType > whatuses_;
03326   friend void  protobuf_AddDesc_unit_2eproto();
03327   friend void protobuf_AssignDesc_unit_2eproto();
03328   friend void protobuf_ShutdownFile_unit_2eproto();
03329   
03330   ::google::protobuf::uint32 _has_bits_[(10 + 31) / 32];
03331   
03332   // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
03333   inline bool _has_bit(int index) const {
03334     return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
03335   }
03336   inline void _set_bit(int index) {
03337     _has_bits_[index / 32] |= (1u << (index % 32));
03338   }
03339   inline void _clear_bit(int index) {
03340     _has_bits_[index / 32] &= ~(1u << (index % 32));
03341   }
03342   
03343   void InitAsDefaultInstance();
03344   static TechTypeData* default_instance_;
03345 };
03346 // -------------------------------------------------------------------
03347 
03348 class WeaponType : public ::google::protobuf::Message {
03349  public:
03350   WeaponType();
03351   virtual ~WeaponType();
03352   
03353   WeaponType(const WeaponType& from);
03354   
03355   inline WeaponType& operator=(const WeaponType& from) {
03356     CopyFrom(from);
03357     return *this;
03358   }
03359   
03360   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
03361     return _unknown_fields_;
03362   }
03363   
03364   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
03365     return &_unknown_fields_;
03366   }
03367   
03368   static const ::google::protobuf::Descriptor* descriptor();
03369   static const WeaponType& default_instance();
03370   
03371   void Swap(WeaponType* other);
03372   
03373   // implements Message ----------------------------------------------
03374   
03375   WeaponType* New() const;
03376   void CopyFrom(const ::google::protobuf::Message& from);
03377   void MergeFrom(const ::google::protobuf::Message& from);
03378   void CopyFrom(const WeaponType& from);
03379   void MergeFrom(const WeaponType& from);
03380   void Clear();
03381   bool IsInitialized() const;
03382   
03383   int ByteSize() const;
03384   bool MergePartialFromCodedStream(
03385       ::google::protobuf::io::CodedInputStream* input);
03386   void SerializeWithCachedSizes(
03387       ::google::protobuf::io::CodedOutputStream* output) const;
03388   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
03389   int GetCachedSize() const { return _cached_size_; }
03390   private:
03391   void SharedCtor();
03392   void SharedDtor();
03393   void SetCachedSize(int size) const;
03394   public:
03395   
03396   ::google::protobuf::Metadata GetMetadata() const;
03397   
03398   // nested types ----------------------------------------------------
03399   
03400   // accessors -------------------------------------------------------
03401   
03402   // required int32 id = 1;
03403   inline bool has_id() const;
03404   inline void clear_id();
03405   static const int kIdFieldNumber = 1;
03406   inline ::google::protobuf::int32 id() const;
03407   inline void set_id(::google::protobuf::int32 value);
03408   
03409   // @@protoc_insertion_point(class_scope:messages.WeaponType)
03410  private:
03411   ::google::protobuf::UnknownFieldSet _unknown_fields_;
03412   mutable int _cached_size_;
03413   
03414   ::google::protobuf::int32 id_;
03415   friend void  protobuf_AddDesc_unit_2eproto();
03416   friend void protobuf_AssignDesc_unit_2eproto();
03417   friend void protobuf_ShutdownFile_unit_2eproto();
03418   
03419   ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
03420   
03421   // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
03422   inline bool _has_bit(int index) const {
03423     return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
03424   }
03425   inline void _set_bit(int index) {
03426     _has_bits_[index / 32] |= (1u << (index % 32));
03427   }
03428   inline void _clear_bit(int index) {
03429     _has_bits_[index / 32] &= ~(1u << (index % 32));
03430   }
03431   
03432   void InitAsDefaultInstance();
03433   static WeaponType* default_instance_;
03434 };
03435 // -------------------------------------------------------------------
03436 
03437 class WeaponTypeData : public ::google::protobuf::Message {
03438  public:
03439   WeaponTypeData();
03440   virtual ~WeaponTypeData();
03441   
03442   WeaponTypeData(const WeaponTypeData& from);
03443   
03444   inline WeaponTypeData& operator=(const WeaponTypeData& from) {
03445     CopyFrom(from);
03446     return *this;
03447   }
03448   
03449   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
03450     return _unknown_fields_;
03451   }
03452   
03453   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
03454     return &_unknown_fields_;
03455   }
03456   
03457   static const ::google::protobuf::Descriptor* descriptor();
03458   static const WeaponTypeData& default_instance();
03459   
03460   void Swap(WeaponTypeData* other);
03461   
03462   // implements Message ----------------------------------------------
03463   
03464   WeaponTypeData* New() const;
03465   void CopyFrom(const ::google::protobuf::Message& from);
03466   void MergeFrom(const ::google::protobuf::Message& from);
03467   void CopyFrom(const WeaponTypeData& from);
03468   void MergeFrom(const WeaponTypeData& from);
03469   void Clear();
03470   bool IsInitialized() const;
03471   
03472   int ByteSize() const;
03473   bool MergePartialFromCodedStream(
03474       ::google::protobuf::io::CodedInputStream* input);
03475   void SerializeWithCachedSizes(
03476       ::google::protobuf::io::CodedOutputStream* output) const;
03477   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
03478   int GetCachedSize() const { return _cached_size_; }
03479   private:
03480   void SharedCtor();
03481   void SharedDtor();
03482   void SetCachedSize(int size) const;
03483   public:
03484   
03485   ::google::protobuf::Metadata GetMetadata() const;
03486   
03487   // nested types ----------------------------------------------------
03488   
03489   // accessors -------------------------------------------------------
03490   
03491   // required int32 id = 1;
03492   inline bool has_id() const;
03493   inline void clear_id();
03494   static const int kIdFieldNumber = 1;
03495   inline ::google::protobuf::int32 id() const;
03496   inline void set_id(::google::protobuf::int32 value);
03497   
03498   // required string name = 2;
03499   inline bool has_name() const;
03500   inline void clear_name();
03501   static const int kNameFieldNumber = 2;
03502   inline const ::std::string& name() const;
03503   inline void set_name(const ::std::string& value);
03504   inline void set_name(const char* value);
03505   inline void set_name(const char* value, size_t size);
03506   inline ::std::string* mutable_name();
03507   
03508   // required .messages.TechType tech = 3;
03509   inline bool has_tech() const;
03510   inline void clear_tech();
03511   static const int kTechFieldNumber = 3;
03512   inline const ::messages::TechType& tech() const;
03513   inline ::messages::TechType* mutable_tech();
03514   
03515   // required .messages.UnitType whatUses = 4;
03516   inline bool has_whatuses() const;
03517   inline void clear_whatuses();
03518   static const int kWhatUsesFieldNumber = 4;
03519   inline const ::messages::UnitType& whatuses() const;
03520   inline ::messages::UnitType* mutable_whatuses();
03521   
03522   // required int32 damageAmount = 5;
03523   inline bool has_damageamount() const;
03524   inline void clear_damageamount();
03525   static const int kDamageAmountFieldNumber = 5;
03526   inline ::google::protobuf::int32 damageamount() const;
03527   inline void set_damageamount(::google::protobuf::int32 value);
03528   
03529   // required int32 damageBonus = 6;
03530   inline bool has_damagebonus() const;
03531   inline void clear_damagebonus();
03532   static const int kDamageBonusFieldNumber = 6;
03533   inline ::google::protobuf::int32 damagebonus() const;
03534   inline void set_damagebonus(::google::protobuf::int32 value);
03535   
03536   // required int32 damageCooldown = 7;
03537   inline bool has_damagecooldown() const;
03538   inline void clear_damagecooldown();
03539   static const int kDamageCooldownFieldNumber = 7;
03540   inline ::google::protobuf::int32 damagecooldown() const;
03541   inline void set_damagecooldown(::google::protobuf::int32 value);
03542   
03543   // required int32 damageFactor = 8;
03544   inline bool has_damagefactor() const;
03545   inline void clear_damagefactor();
03546   static const int kDamageFactorFieldNumber = 8;
03547   inline ::google::protobuf::int32 damagefactor() const;
03548   inline void set_damagefactor(::google::protobuf::int32 value);
03549   
03550   // required .messages.UpgradeType upgradeType = 9;
03551   inline bool has_upgradetype() const;
03552   inline void clear_upgradetype();
03553   static const int kUpgradeTypeFieldNumber = 9;
03554   inline const ::messages::UpgradeType& upgradetype() const;
03555   inline ::messages::UpgradeType* mutable_upgradetype();
03556   
03557   // required .messages.DamageType damageType = 10;
03558   inline bool has_damagetype() const;
03559   inline void clear_damagetype();
03560   static const int kDamageTypeFieldNumber = 10;
03561   inline messages::DamageType damagetype() const;
03562   inline void set_damagetype(messages::DamageType value);
03563   
03564   // required .messages.ExplosionType explosionType = 11;
03565   inline bool has_explosiontype() const;
03566   inline void clear_explosiontype();
03567   static const int kExplosionTypeFieldNumber = 11;
03568   inline messages::ExplosionType explosiontype() const;
03569   inline void set_explosiontype(messages::ExplosionType value);
03570   
03571   // required int32 minRange = 12;
03572   inline bool has_minrange() const;
03573   inline void clear_minrange();
03574   static const int kMinRangeFieldNumber = 12;
03575   inline ::google::protobuf::int32 minrange() const;
03576   inline void set_minrange(::google::protobuf::int32 value);
03577   
03578   // required int32 maxRange = 13;
03579   inline bool has_maxrange() const;
03580   inline void clear_maxrange();
03581   static const int kMaxRangeFieldNumber = 13;
03582   inline ::google::protobuf::int32 maxrange() const;
03583   inline void set_maxrange(::google::protobuf::int32 value);
03584   
03585   // required int32 innerSplashRadius = 14;
03586   inline bool has_innersplashradius() const;
03587   inline void clear_innersplashradius();
03588   static const int kInnerSplashRadiusFieldNumber = 14;
03589   inline ::google::protobuf::int32 innersplashradius() const;
03590   inline void set_innersplashradius(::google::protobuf::int32 value);
03591   
03592   // required int32 medianSplashRadius = 15;
03593   inline bool has_mediansplashradius() const;
03594   inline void clear_mediansplashradius();
03595   static const int kMedianSplashRadiusFieldNumber = 15;
03596   inline ::google::protobuf::int32 mediansplashradius() const;
03597   inline void set_mediansplashradius(::google::protobuf::int32 value);
03598   
03599   // required int32 outerSplashRadius = 16;
03600   inline bool has_outersplashradius() const;
03601   inline void clear_outersplashradius();
03602   static const int kOuterSplashRadiusFieldNumber = 16;
03603   inline ::google::protobuf::int32 outersplashradius() const;
03604   inline void set_outersplashradius(::google::protobuf::int32 value);
03605   
03606   // required bool targetsAir = 17;
03607   inline bool has_targetsair() const;
03608   inline void clear_targetsair();
03609   static const int kTargetsAirFieldNumber = 17;
03610   inline bool targetsair() const;
03611   inline void set_targetsair(bool value);
03612   
03613   // required bool targetsGround = 18;
03614   inline bool has_targetsground() const;
03615   inline void clear_targetsground();
03616   static const int kTargetsGroundFieldNumber = 18;
03617   inline bool targetsground() const;
03618   inline void set_targetsground(bool value);
03619   
03620   // required bool targetsMechanical = 19;
03621   inline bool has_targetsmechanical() const;
03622   inline void clear_targetsmechanical();
03623   static const int kTargetsMechanicalFieldNumber = 19;
03624   inline bool targetsmechanical() const;
03625   inline void set_targetsmechanical(bool value);
03626   
03627   // required bool targetsOrganic = 20;
03628   inline bool has_targetsorganic() const;
03629   inline void clear_targetsorganic();
03630   static const int kTargetsOrganicFieldNumber = 20;
03631   inline bool targetsorganic() const;
03632   inline void set_targetsorganic(bool value);
03633   
03634   // required bool targetsNonBuilding = 21;
03635   inline bool has_targetsnonbuilding() const;
03636   inline void clear_targetsnonbuilding();
03637   static const int kTargetsNonBuildingFieldNumber = 21;
03638   inline bool targetsnonbuilding() const;
03639   inline void set_targetsnonbuilding(bool value);
03640   
03641   // required bool targetsNonRobotic = 22;
03642   inline bool has_targetsnonrobotic() const;
03643   inline void clear_targetsnonrobotic();
03644   static const int kTargetsNonRoboticFieldNumber = 22;
03645   inline bool targetsnonrobotic() const;
03646   inline void set_targetsnonrobotic(bool value);
03647   
03648   // required bool targetsTerrain = 23;
03649   inline bool has_targetsterrain() const;
03650   inline void clear_targetsterrain();
03651   static const int kTargetsTerrainFieldNumber = 23;
03652   inline bool targetsterrain() const;
03653   inline void set_targetsterrain(bool value);
03654   
03655   // required bool targetsOrgOrMech = 24;
03656   inline bool has_targetsorgormech() const;
03657   inline void clear_targetsorgormech();
03658   static const int kTargetsOrgOrMechFieldNumber = 24;
03659   inline bool targetsorgormech() const;
03660   inline void set_targetsorgormech(bool value);
03661   
03662   // required bool targetsOwn = 25;
03663   inline bool has_targetsown() const;
03664   inline void clear_targetsown();
03665   static const int kTargetsOwnFieldNumber = 25;
03666   inline bool targetsown() const;
03667   inline void set_targetsown(bool value);
03668   
03669   // @@protoc_insertion_point(class_scope:messages.WeaponTypeData)
03670  private:
03671   ::google::protobuf::UnknownFieldSet _unknown_fields_;
03672   mutable int _cached_size_;
03673   
03674   ::google::protobuf::int32 id_;
03675   ::std::string* name_;
03676   static const ::std::string _default_name_;
03677   ::messages::TechType* tech_;
03678   ::messages::UnitType* whatuses_;
03679   ::google::protobuf::int32 damageamount_;
03680   ::google::protobuf::int32 damagebonus_;
03681   ::google::protobuf::int32 damagecooldown_;
03682   ::google::protobuf::int32 damagefactor_;
03683   ::messages::UpgradeType* upgradetype_;
03684   int damagetype_;
03685   int explosiontype_;
03686   ::google::protobuf::int32 minrange_;
03687   ::google::protobuf::int32 maxrange_;
03688   ::google::protobuf::int32 innersplashradius_;
03689   ::google::protobuf::int32 mediansplashradius_;
03690   ::google::protobuf::int32 outersplashradius_;
03691   bool targetsair_;
03692   bool targetsground_;
03693   bool targetsmechanical_;
03694   bool targetsorganic_;
03695   bool targetsnonbuilding_;
03696   bool targetsnonrobotic_;
03697   bool targetsterrain_;
03698   bool targetsorgormech_;
03699   bool targetsown_;
03700   friend void  protobuf_AddDesc_unit_2eproto();
03701   friend void protobuf_AssignDesc_unit_2eproto();
03702   friend void protobuf_ShutdownFile_unit_2eproto();
03703   
03704   ::google::protobuf::uint32 _has_bits_[(25 + 31) / 32];
03705   
03706   // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
03707   inline bool _has_bit(int index) const {
03708     return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
03709   }
03710   inline void _set_bit(int index) {
03711     _has_bits_[index / 32] |= (1u << (index % 32));
03712   }
03713   inline void _clear_bit(int index) {
03714     _has_bits_[index / 32] &= ~(1u << (index % 32));
03715   }
03716   
03717   void InitAsDefaultInstance();
03718   static WeaponTypeData* default_instance_;
03719 };
03720 // -------------------------------------------------------------------
03721 
03722 class StaticGameData : public ::google::protobuf::Message {
03723  public:
03724   StaticGameData();
03725   virtual ~StaticGameData();
03726   
03727   StaticGameData(const StaticGameData& from);
03728   
03729   inline StaticGameData& operator=(const StaticGameData& from) {
03730     CopyFrom(from);
03731     return *this;
03732   }
03733   
03734   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
03735     return _unknown_fields_;
03736   }
03737   
03738   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
03739     return &_unknown_fields_;
03740   }
03741   
03742   static const ::google::protobuf::Descriptor* descriptor();
03743   static const StaticGameData& default_instance();
03744   
03745   void Swap(StaticGameData* other);
03746   
03747   // implements Message ----------------------------------------------
03748   
03749   StaticGameData* New() const;
03750   void CopyFrom(const ::google::protobuf::Message& from);
03751   void MergeFrom(const ::google::protobuf::Message& from);
03752   void CopyFrom(const StaticGameData& from);
03753   void MergeFrom(const StaticGameData& from);
03754   void Clear();
03755   bool IsInitialized() const;
03756   
03757   int ByteSize() const;
03758   bool MergePartialFromCodedStream(
03759       ::google::protobuf::io::CodedInputStream* input);
03760   void SerializeWithCachedSizes(
03761       ::google::protobuf::io::CodedOutputStream* output) const;
03762   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
03763   int GetCachedSize() const { return _cached_size_; }
03764   private:
03765   void SharedCtor();
03766   void SharedDtor();
03767   void SetCachedSize(int size) const;
03768   public:
03769   
03770   ::google::protobuf::Metadata GetMetadata() const;
03771   
03772   // nested types ----------------------------------------------------
03773   
03774   // accessors -------------------------------------------------------
03775   
03776   // repeated .messages.UnitId staticMinerals = 1;
03777   inline int staticminerals_size() const;
03778   inline void clear_staticminerals();
03779   static const int kStaticMineralsFieldNumber = 1;
03780   inline const ::messages::UnitId& staticminerals(int index) const;
03781   inline ::messages::UnitId* mutable_staticminerals(int index);
03782   inline ::messages::UnitId* add_staticminerals();
03783   inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitId >&
03784       staticminerals() const;
03785   inline ::google::protobuf::RepeatedPtrField< ::messages::UnitId >*
03786       mutable_staticminerals();
03787   
03788   // repeated .messages.UnitId staticGeysers = 2;
03789   inline int staticgeysers_size() const;
03790   inline void clear_staticgeysers();
03791   static const int kStaticGeysersFieldNumber = 2;
03792   inline const ::messages::UnitId& staticgeysers(int index) const;
03793   inline ::messages::UnitId* mutable_staticgeysers(int index);
03794   inline ::messages::UnitId* add_staticgeysers();
03795   inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitId >&
03796       staticgeysers() const;
03797   inline ::google::protobuf::RepeatedPtrField< ::messages::UnitId >*
03798       mutable_staticgeysers();
03799   
03800   // repeated .messages.UnitId staticNeutralUnits = 3;
03801   inline int staticneutralunits_size() const;
03802   inline void clear_staticneutralunits();
03803   static const int kStaticNeutralUnitsFieldNumber = 3;
03804   inline const ::messages::UnitId& staticneutralunits(int index) const;
03805   inline ::messages::UnitId* mutable_staticneutralunits(int index);
03806   inline ::messages::UnitId* add_staticneutralunits();
03807   inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitId >&
03808       staticneutralunits() const;
03809   inline ::google::protobuf::RepeatedPtrField< ::messages::UnitId >*
03810       mutable_staticneutralunits();
03811   
03812   // required int32 mapWidth = 4;
03813   inline bool has_mapwidth() const;
03814   inline void clear_mapwidth();
03815   static const int kMapWidthFieldNumber = 4;
03816   inline ::google::protobuf::int32 mapwidth() const;
03817   inline void set_mapwidth(::google::protobuf::int32 value);
03818   
03819   // required int32 mapHeight = 5;
03820   inline bool has_mapheight() const;
03821   inline void clear_mapheight();
03822   static const int kMapHeightFieldNumber = 5;
03823   inline ::google::protobuf::int32 mapheight() const;
03824   inline void set_mapheight(::google::protobuf::int32 value);
03825   
03826   // required string mapFilename = 6;
03827   inline bool has_mapfilename() const;
03828   inline void clear_mapfilename();
03829   static const int kMapFilenameFieldNumber = 6;
03830   inline const ::std::string& mapfilename() const;
03831   inline void set_mapfilename(const ::std::string& value);
03832   inline void set_mapfilename(const char* value);
03833   inline void set_mapfilename(const char* value, size_t size);
03834   inline ::std::string* mutable_mapfilename();
03835   
03836   // required string mapName = 7;
03837   inline bool has_mapname() const;
03838   inline void clear_mapname();
03839   static const int kMapNameFieldNumber = 7;
03840   inline const ::std::string& mapname() const;
03841   inline void set_mapname(const ::std::string& value);
03842   inline void set_mapname(const char* value);
03843   inline void set_mapname(const char* value, size_t size);
03844   inline ::std::string* mutable_mapname();
03845   
03846   // required string mapHash = 8;
03847   inline bool has_maphash() const;
03848   inline void clear_maphash();
03849   static const int kMapHashFieldNumber = 8;
03850   inline const ::std::string& maphash() const;
03851   inline void set_maphash(const ::std::string& value);
03852   inline void set_maphash(const char* value);
03853   inline void set_maphash(const char* value, size_t size);
03854   inline ::std::string* mutable_maphash();
03855   
03856   // repeated fixed32 walkable = 9;
03857   inline int walkable_size() const;
03858   inline void clear_walkable();
03859   static const int kWalkableFieldNumber = 9;
03860   inline ::google::protobuf::uint32 walkable(int index) const;
03861   inline void set_walkable(int index, ::google::protobuf::uint32 value);
03862   inline void add_walkable(::google::protobuf::uint32 value);
03863   inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
03864       walkable() const;
03865   inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
03866       mutable_walkable();
03867   
03868   // repeated fixed32 buildable = 10;
03869   inline int buildable_size() const;
03870   inline void clear_buildable();
03871   static const int kBuildableFieldNumber = 10;
03872   inline ::google::protobuf::uint32 buildable(int index) const;
03873   inline void set_buildable(int index, ::google::protobuf::uint32 value);
03874   inline void add_buildable(::google::protobuf::uint32 value);
03875   inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
03876       buildable() const;
03877   inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
03878       mutable_buildable();
03879   
03880   // repeated int32 groundHeight = 17;
03881   inline int groundheight_size() const;
03882   inline void clear_groundheight();
03883   static const int kGroundHeightFieldNumber = 17;
03884   inline ::google::protobuf::int32 groundheight(int index) const;
03885   inline void set_groundheight(int index, ::google::protobuf::int32 value);
03886   inline void add_groundheight(::google::protobuf::int32 value);
03887   inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
03888       groundheight() const;
03889   inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
03890       mutable_groundheight();
03891   
03892   // repeated .messages.UnitTypeData unitTypes = 11;
03893   inline int unittypes_size() const;
03894   inline void clear_unittypes();
03895   static const int kUnitTypesFieldNumber = 11;
03896   inline const ::messages::UnitTypeData& unittypes(int index) const;
03897   inline ::messages::UnitTypeData* mutable_unittypes(int index);
03898   inline ::messages::UnitTypeData* add_unittypes();
03899   inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeData >&
03900       unittypes() const;
03901   inline ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeData >*
03902       mutable_unittypes();
03903   
03904   // repeated .messages.WeaponTypeData weapons = 12;
03905   inline int weapons_size() const;
03906   inline void clear_weapons();
03907   static const int kWeaponsFieldNumber = 12;
03908   inline const ::messages::WeaponTypeData& weapons(int index) const;
03909   inline ::messages::WeaponTypeData* mutable_weapons(int index);
03910   inline ::messages::WeaponTypeData* add_weapons();
03911   inline const ::google::protobuf::RepeatedPtrField< ::messages::WeaponTypeData >&
03912       weapons() const;
03913   inline ::google::protobuf::RepeatedPtrField< ::messages::WeaponTypeData >*
03914       mutable_weapons();
03915   
03916   // repeated .messages.UpgradeTypeData upgrades = 13;
03917   inline int upgrades_size() const;
03918   inline void clear_upgrades();
03919   static const int kUpgradesFieldNumber = 13;
03920   inline const ::messages::UpgradeTypeData& upgrades(int index) const;
03921   inline ::messages::UpgradeTypeData* mutable_upgrades(int index);
03922   inline ::messages::UpgradeTypeData* add_upgrades();
03923   inline const ::google::protobuf::RepeatedPtrField< ::messages::UpgradeTypeData >&
03924       upgrades() const;
03925   inline ::google::protobuf::RepeatedPtrField< ::messages::UpgradeTypeData >*
03926       mutable_upgrades();
03927   
03928   // repeated .messages.TechTypeData techs = 14;
03929   inline int techs_size() const;
03930   inline void clear_techs();
03931   static const int kTechsFieldNumber = 14;
03932   inline const ::messages::TechTypeData& techs(int index) const;
03933   inline ::messages::TechTypeData* mutable_techs(int index);
03934   inline ::messages::TechTypeData* add_techs();
03935   inline const ::google::protobuf::RepeatedPtrField< ::messages::TechTypeData >&
03936       techs() const;
03937   inline ::google::protobuf::RepeatedPtrField< ::messages::TechTypeData >*
03938       mutable_techs();
03939   
03940   // repeated .messages.Color colors = 15;
03941   inline int colors_size() const;
03942   inline void clear_colors();
03943   static const int kColorsFieldNumber = 15;
03944   inline const ::messages::Color& colors(int index) const;
03945   inline ::messages::Color* mutable_colors(int index);
03946   inline ::messages::Color* add_colors();
03947   inline const ::google::protobuf::RepeatedPtrField< ::messages::Color >&
03948       colors() const;
03949   inline ::google::protobuf::RepeatedPtrField< ::messages::Color >*
03950       mutable_colors();
03951   
03952   // repeated .messages.RaceData races = 18;
03953   inline int races_size() const;
03954   inline void clear_races();
03955   static const int kRacesFieldNumber = 18;
03956   inline const ::messages::RaceData& races(int index) const;
03957   inline ::messages::RaceData* mutable_races(int index);
03958   inline ::messages::RaceData* add_races();
03959   inline const ::google::protobuf::RepeatedPtrField< ::messages::RaceData >&
03960       races() const;
03961   inline ::google::protobuf::RepeatedPtrField< ::messages::RaceData >*
03962       mutable_races();
03963   
03964   // repeated .messages.TilePosition startLocations = 16;
03965   inline int startlocations_size() const;
03966   inline void clear_startlocations();
03967   static const int kStartLocationsFieldNumber = 16;
03968   inline const ::messages::TilePosition& startlocations(int index) const;
03969   inline ::messages::TilePosition* mutable_startlocations(int index);
03970   inline ::messages::TilePosition* add_startlocations();
03971   inline const ::google::protobuf::RepeatedPtrField< ::messages::TilePosition >&
03972       startlocations() const;
03973   inline ::google::protobuf::RepeatedPtrField< ::messages::TilePosition >*
03974       mutable_startlocations();
03975   
03976   // @@protoc_insertion_point(class_scope:messages.StaticGameData)
03977  private:
03978   ::google::protobuf::UnknownFieldSet _unknown_fields_;
03979   mutable int _cached_size_;
03980   
03981   ::google::protobuf::RepeatedPtrField< ::messages::UnitId > staticminerals_;
03982   ::google::protobuf::RepeatedPtrField< ::messages::UnitId > staticgeysers_;
03983   ::google::protobuf::RepeatedPtrField< ::messages::UnitId > staticneutralunits_;
03984   ::google::protobuf::int32 mapwidth_;
03985   ::google::protobuf::int32 mapheight_;
03986   ::std::string* mapfilename_;
03987   static const ::std::string _default_mapfilename_;
03988   ::std::string* mapname_;
03989   static const ::std::string _default_mapname_;
03990   ::std::string* maphash_;
03991   static const ::std::string _default_maphash_;
03992   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > walkable_;
03993   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > buildable_;
03994   ::google::protobuf::RepeatedField< ::google::protobuf::int32 > groundheight_;
03995   ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeData > unittypes_;
03996   ::google::protobuf::RepeatedPtrField< ::messages::WeaponTypeData > weapons_;
03997   ::google::protobuf::RepeatedPtrField< ::messages::UpgradeTypeData > upgrades_;
03998   ::google::protobuf::RepeatedPtrField< ::messages::TechTypeData > techs_;
03999   ::google::protobuf::RepeatedPtrField< ::messages::Color > colors_;
04000   ::google::protobuf::RepeatedPtrField< ::messages::RaceData > races_;
04001   ::google::protobuf::RepeatedPtrField< ::messages::TilePosition > startlocations_;
04002   friend void  protobuf_AddDesc_unit_2eproto();
04003   friend void protobuf_AssignDesc_unit_2eproto();
04004   friend void protobuf_ShutdownFile_unit_2eproto();
04005   
04006   ::google::protobuf::uint32 _has_bits_[(18 + 31) / 32];
04007   
04008   // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
04009   inline bool _has_bit(int index) const {
04010     return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
04011   }
04012   inline void _set_bit(int index) {
04013     _has_bits_[index / 32] |= (1u << (index % 32));
04014   }
04015   inline void _clear_bit(int index) {
04016     _has_bits_[index / 32] &= ~(1u << (index % 32));
04017   }
04018   
04019   void InitAsDefaultInstance();
04020   static StaticGameData* default_instance_;
04021 };
04022 // -------------------------------------------------------------------
04023 
04024 class Bullet : public ::google::protobuf::Message {
04025  public:
04026   Bullet();
04027   virtual ~Bullet();
04028   
04029   Bullet(const Bullet& from);
04030   
04031   inline Bullet& operator=(const Bullet& from) {
04032     CopyFrom(from);
04033     return *this;
04034   }
04035   
04036   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
04037     return _unknown_fields_;
04038   }
04039   
04040   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
04041     return &_unknown_fields_;
04042   }
04043   
04044   static const ::google::protobuf::Descriptor* descriptor();
04045   static const Bullet& default_instance();
04046   
04047   void Swap(Bullet* other);
04048   
04049   // implements Message ----------------------------------------------
04050   
04051   Bullet* New() const;
04052   void CopyFrom(const ::google::protobuf::Message& from);
04053   void MergeFrom(const ::google::protobuf::Message& from);
04054   void CopyFrom(const Bullet& from);
04055   void MergeFrom(const Bullet& from);
04056   void Clear();
04057   bool IsInitialized() const;
04058   
04059   int ByteSize() const;
04060   bool MergePartialFromCodedStream(
04061       ::google::protobuf::io::CodedInputStream* input);
04062   void SerializeWithCachedSizes(
04063       ::google::protobuf::io::CodedOutputStream* output) const;
04064   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
04065   int GetCachedSize() const { return _cached_size_; }
04066   private:
04067   void SharedCtor();
04068   void SharedDtor();
04069   void SetCachedSize(int size) const;
04070   public:
04071   
04072   ::google::protobuf::Metadata GetMetadata() const;
04073   
04074   // nested types ----------------------------------------------------
04075   
04076   // accessors -------------------------------------------------------
04077   
04078   // required int32 id = 1;
04079   inline bool has_id() const;
04080   inline void clear_id();
04081   static const int kIdFieldNumber = 1;
04082   inline ::google::protobuf::int32 id() const;
04083   inline void set_id(::google::protobuf::int32 value);
04084   
04085   // optional int32 player = 2;
04086   inline bool has_player() const;
04087   inline void clear_player();
04088   static const int kPlayerFieldNumber = 2;
04089   inline ::google::protobuf::int32 player() const;
04090   inline void set_player(::google::protobuf::int32 value);
04091   
04092   // required .messages.BulletType type = 3;
04093   inline bool has_type() const;
04094   inline void clear_type();
04095   static const int kTypeFieldNumber = 3;
04096   inline messages::BulletType type() const;
04097   inline void set_type(messages::BulletType value);
04098   
04099   // optional .messages.UnitId source = 4;
04100   inline bool has_source() const;
04101   inline void clear_source();
04102   static const int kSourceFieldNumber = 4;
04103   inline const ::messages::UnitId& source() const;
04104   inline ::messages::UnitId* mutable_source();
04105   
04106   // required .messages.Position position = 5;
04107   inline bool has_position() const;
04108   inline void clear_position();
04109   static const int kPositionFieldNumber = 5;
04110   inline const ::messages::Position& position() const;
04111   inline ::messages::Position* mutable_position();
04112   
04113   // required double angle = 6;
04114   inline bool has_angle() const;
04115   inline void clear_angle();
04116   static const int kAngleFieldNumber = 6;
04117   inline double angle() const;
04118   inline void set_angle(double value);
04119   
04120   // required double velocityX = 7;
04121   inline bool has_velocityx() const;
04122   inline void clear_velocityx();
04123   static const int kVelocityXFieldNumber = 7;
04124   inline double velocityx() const;
04125   inline void set_velocityx(double value);
04126   
04127   // required double velocityY = 8;
04128   inline bool has_velocityy() const;
04129   inline void clear_velocityy();
04130   static const int kVelocityYFieldNumber = 8;
04131   inline double velocityy() const;
04132   inline void set_velocityy(double value);
04133   
04134   // optional .messages.UnitId target = 9;
04135   inline bool has_target() const;
04136   inline void clear_target();
04137   static const int kTargetFieldNumber = 9;
04138   inline const ::messages::UnitId& target() const;
04139   inline ::messages::UnitId* mutable_target();
04140   
04141   // required .messages.Position targetPosition = 10;
04142   inline bool has_targetposition() const;
04143   inline void clear_targetposition();
04144   static const int kTargetPositionFieldNumber = 10;
04145   inline const ::messages::Position& targetposition() const;
04146   inline ::messages::Position* mutable_targetposition();
04147   
04148   // required int32 removeTimer = 11;
04149   inline bool has_removetimer() const;
04150   inline void clear_removetimer();
04151   static const int kRemoveTimerFieldNumber = 11;
04152   inline ::google::protobuf::int32 removetimer() const;
04153   inline void set_removetimer(::google::protobuf::int32 value);
04154   
04155   // required bool exists = 12;
04156   inline bool has_exists() const;
04157   inline void clear_exists();
04158   static const int kExistsFieldNumber = 12;
04159   inline bool exists() const;
04160   inline void set_exists(bool value);
04161   
04162   // required bool isVisible = 13;
04163   inline bool has_isvisible() const;
04164   inline void clear_isvisible();
04165   static const int kIsVisibleFieldNumber = 13;
04166   inline bool isvisible() const;
04167   inline void set_isvisible(bool value);
04168   
04169   // @@protoc_insertion_point(class_scope:messages.Bullet)
04170  private:
04171   ::google::protobuf::UnknownFieldSet _unknown_fields_;
04172   mutable int _cached_size_;
04173   
04174   ::google::protobuf::int32 id_;
04175   ::google::protobuf::int32 player_;
04176   int type_;
04177   ::messages::UnitId* source_;
04178   ::messages::Position* position_;
04179   double angle_;
04180   double velocityx_;
04181   double velocityy_;
04182   ::messages::UnitId* target_;
04183   ::messages::Position* targetposition_;
04184   ::google::protobuf::int32 removetimer_;
04185   bool exists_;
04186   bool isvisible_;
04187   friend void  protobuf_AddDesc_unit_2eproto();
04188   friend void protobuf_AssignDesc_unit_2eproto();
04189   friend void protobuf_ShutdownFile_unit_2eproto();
04190   
04191   ::google::protobuf::uint32 _has_bits_[(13 + 31) / 32];
04192   
04193   // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
04194   inline bool _has_bit(int index) const {
04195     return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
04196   }
04197   inline void _set_bit(int index) {
04198     _has_bits_[index / 32] |= (1u << (index % 32));
04199   }
04200   inline void _clear_bit(int index) {
04201     _has_bits_[index / 32] &= ~(1u << (index % 32));
04202   }
04203   
04204   void InitAsDefaultInstance();
04205   static Bullet* default_instance_;
04206 };
04207 // ===================================================================
04208 
04209 
04210 // ===================================================================
04211 
04212 // UnitId
04213 
04214 // required int32 id = 1;
04215 inline bool UnitId::has_id() const {
04216   return _has_bit(0);
04217 }
04218 inline void UnitId::clear_id() {
04219   id_ = 0;
04220   _clear_bit(0);
04221 }
04222 inline ::google::protobuf::int32 UnitId::id() const {
04223   return id_;
04224 }
04225 inline void UnitId::set_id(::google::protobuf::int32 value) {
04226   _set_bit(0);
04227   id_ = value;
04228 }
04229 
04230 // -------------------------------------------------------------------
04231 
04232 // UnitType
04233 
04234 // required int32 id = 1;
04235 inline bool UnitType::has_id() const {
04236   return _has_bit(0);
04237 }
04238 inline void UnitType::clear_id() {
04239   id_ = 0;
04240   _clear_bit(0);
04241 }
04242 inline ::google::protobuf::int32 UnitType::id() const {
04243   return id_;
04244 }
04245 inline void UnitType::set_id(::google::protobuf::int32 value) {
04246   _set_bit(0);
04247   id_ = value;
04248 }
04249 
04250 // -------------------------------------------------------------------
04251 
04252 // UnitTypeData
04253 
04254 // required int32 id = 1;
04255 inline bool UnitTypeData::has_id() const {
04256   return _has_bit(0);
04257 }
04258 inline void UnitTypeData::clear_id() {
04259   id_ = 0;
04260   _clear_bit(0);
04261 }
04262 inline ::google::protobuf::int32 UnitTypeData::id() const {
04263   return id_;
04264 }
04265 inline void UnitTypeData::set_id(::google::protobuf::int32 value) {
04266   _set_bit(0);
04267   id_ = value;
04268 }
04269 
04270 // required string name = 2;
04271 inline bool UnitTypeData::has_name() const {
04272   return _has_bit(1);
04273 }
04274 inline void UnitTypeData::clear_name() {
04275   if (name_ != &_default_name_) {
04276     name_->clear();
04277   }
04278   _clear_bit(1);
04279 }
04280 inline const ::std::string& UnitTypeData::name() const {
04281   return *name_;
04282 }
04283 inline void UnitTypeData::set_name(const ::std::string& value) {
04284   _set_bit(1);
04285   if (name_ == &_default_name_) {
04286     name_ = new ::std::string;
04287   }
04288   name_->assign(value);
04289 }
04290 inline void UnitTypeData::set_name(const char* value) {
04291   _set_bit(1);
04292   if (name_ == &_default_name_) {
04293     name_ = new ::std::string;
04294   }
04295   name_->assign(value);
04296 }
04297 inline void UnitTypeData::set_name(const char* value, size_t size) {
04298   _set_bit(1);
04299   if (name_ == &_default_name_) {
04300     name_ = new ::std::string;
04301   }
04302   name_->assign(reinterpret_cast<const char*>(value), size);
04303 }
04304 inline ::std::string* UnitTypeData::mutable_name() {
04305   _set_bit(1);
04306   if (name_ == &_default_name_) {
04307     name_ = new ::std::string;
04308   }
04309   return name_;
04310 }
04311 
04312 // required string sublabel = 3;
04313 inline bool UnitTypeData::has_sublabel() const {
04314   return _has_bit(2);
04315 }
04316 inline void UnitTypeData::clear_sublabel() {
04317   if (sublabel_ != &_default_sublabel_) {
04318     sublabel_->clear();
04319   }
04320   _clear_bit(2);
04321 }
04322 inline const ::std::string& UnitTypeData::sublabel() const {
04323   return *sublabel_;
04324 }
04325 inline void UnitTypeData::set_sublabel(const ::std::string& value) {
04326   _set_bit(2);
04327   if (sublabel_ == &_default_sublabel_) {
04328     sublabel_ = new ::std::string;
04329   }
04330   sublabel_->assign(value);
04331 }
04332 inline void UnitTypeData::set_sublabel(const char* value) {
04333   _set_bit(2);
04334   if (sublabel_ == &_default_sublabel_) {
04335     sublabel_ = new ::std::string;
04336   }
04337   sublabel_->assign(value);
04338 }
04339 inline void UnitTypeData::set_sublabel(const char* value, size_t size) {
04340   _set_bit(2);
04341   if (sublabel_ == &_default_sublabel_) {
04342     sublabel_ = new ::std::string;
04343   }
04344   sublabel_->assign(reinterpret_cast<const char*>(value), size);
04345 }
04346 inline ::std::string* UnitTypeData::mutable_sublabel() {
04347   _set_bit(2);
04348   if (sublabel_ == &_default_sublabel_) {
04349     sublabel_ = new ::std::string;
04350   }
04351   return sublabel_;
04352 }
04353 
04354 // required .messages.Race race = 4;
04355 inline bool UnitTypeData::has_race() const {
04356   return _has_bit(3);
04357 }
04358 inline void UnitTypeData::clear_race() {
04359   race_ = 0;
04360   _clear_bit(3);
04361 }
04362 inline messages::Race UnitTypeData::race() const {
04363   return static_cast< messages::Race >(race_);
04364 }
04365 inline void UnitTypeData::set_race(messages::Race value) {
04366   GOOGLE_DCHECK(messages::Race_IsValid(value));
04367   _set_bit(3);
04368   race_ = value;
04369 }
04370 
04371 // required .messages.UnitType whatBuildsType = 5;
04372 inline bool UnitTypeData::has_whatbuildstype() const {
04373   return _has_bit(4);
04374 }
04375 inline void UnitTypeData::clear_whatbuildstype() {
04376   if (whatbuildstype_ != NULL) whatbuildstype_->::messages::UnitType::Clear();
04377   _clear_bit(4);
04378 }
04379 inline const ::messages::UnitType& UnitTypeData::whatbuildstype() const {
04380   return whatbuildstype_ != NULL ? *whatbuildstype_ : *default_instance_->whatbuildstype_;
04381 }
04382 inline ::messages::UnitType* UnitTypeData::mutable_whatbuildstype() {
04383   _set_bit(4);
04384   if (whatbuildstype_ == NULL) whatbuildstype_ = new ::messages::UnitType;
04385   return whatbuildstype_;
04386 }
04387 
04388 // required int32 whatBuildsNumber = 6;
04389 inline bool UnitTypeData::has_whatbuildsnumber() const {
04390   return _has_bit(5);
04391 }
04392 inline void UnitTypeData::clear_whatbuildsnumber() {
04393   whatbuildsnumber_ = 0;
04394   _clear_bit(5);
04395 }
04396 inline ::google::protobuf::int32 UnitTypeData::whatbuildsnumber() const {
04397   return whatbuildsnumber_;
04398 }
04399 inline void UnitTypeData::set_whatbuildsnumber(::google::protobuf::int32 value) {
04400   _set_bit(5);
04401   whatbuildsnumber_ = value;
04402 }
04403 
04404 // repeated .messages.UnitTypeIntPair requiredUnits = 7;
04405 inline int UnitTypeData::requiredunits_size() const {
04406   return requiredunits_.size();
04407 }
04408 inline void UnitTypeData::clear_requiredunits() {
04409   requiredunits_.Clear();
04410 }
04411 inline const ::messages::UnitTypeIntPair& UnitTypeData::requiredunits(int index) const {
04412   return requiredunits_.Get(index);
04413 }
04414 inline ::messages::UnitTypeIntPair* UnitTypeData::mutable_requiredunits(int index) {
04415   return requiredunits_.Mutable(index);
04416 }
04417 inline ::messages::UnitTypeIntPair* UnitTypeData::add_requiredunits() {
04418   return requiredunits_.Add();
04419 }
04420 inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >&
04421 UnitTypeData::requiredunits() const {
04422   return requiredunits_;
04423 }
04424 inline ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >*
04425 UnitTypeData::mutable_requiredunits() {
04426   return &requiredunits_;
04427 }
04428 
04429 // required .messages.TechType requiredTech = 8;
04430 inline bool UnitTypeData::has_requiredtech() const {
04431   return _has_bit(7);
04432 }
04433 inline void UnitTypeData::clear_requiredtech() {
04434   if (requiredtech_ != NULL) requiredtech_->::messages::TechType::Clear();
04435   _clear_bit(7);
04436 }
04437 inline const ::messages::TechType& UnitTypeData::requiredtech() const {
04438   return requiredtech_ != NULL ? *requiredtech_ : *default_instance_->requiredtech_;
04439 }
04440 inline ::messages::TechType* UnitTypeData::mutable_requiredtech() {
04441   _set_bit(7);
04442   if (requiredtech_ == NULL) requiredtech_ = new ::messages::TechType;
04443   return requiredtech_;
04444 }
04445 
04446 // repeated .messages.TechType abilities = 9;
04447 inline int UnitTypeData::abilities_size() const {
04448   return abilities_.size();
04449 }
04450 inline void UnitTypeData::clear_abilities() {
04451   abilities_.Clear();
04452 }
04453 inline const ::messages::TechType& UnitTypeData::abilities(int index) const {
04454   return abilities_.Get(index);
04455 }
04456 inline ::messages::TechType* UnitTypeData::mutable_abilities(int index) {
04457   return abilities_.Mutable(index);
04458 }
04459 inline ::messages::TechType* UnitTypeData::add_abilities() {
04460   return abilities_.Add();
04461 }
04462 inline const ::google::protobuf::RepeatedPtrField< ::messages::TechType >&
04463 UnitTypeData::abilities() const {
04464   return abilities_;
04465 }
04466 inline ::google::protobuf::RepeatedPtrField< ::messages::TechType >*
04467 UnitTypeData::mutable_abilities() {
04468   return &abilities_;
04469 }
04470 
04471 // repeated .messages.UpgradeType upgrades = 10;
04472 inline int UnitTypeData::upgrades_size() const {
04473   return upgrades_.size();
04474 }
04475 inline void UnitTypeData::clear_upgrades() {
04476   upgrades_.Clear();
04477 }
04478 inline const ::messages::UpgradeType& UnitTypeData::upgrades(int index) const {
04479   return upgrades_.Get(index);
04480 }
04481 inline ::messages::UpgradeType* UnitTypeData::mutable_upgrades(int index) {
04482   return upgrades_.Mutable(index);
04483 }
04484 inline ::messages::UpgradeType* UnitTypeData::add_upgrades() {
04485   return upgrades_.Add();
04486 }
04487 inline const ::google::protobuf::RepeatedPtrField< ::messages::UpgradeType >&
04488 UnitTypeData::upgrades() const {
04489   return upgrades_;
04490 }
04491 inline ::google::protobuf::RepeatedPtrField< ::messages::UpgradeType >*
04492 UnitTypeData::mutable_upgrades() {
04493   return &upgrades_;
04494 }
04495 
04496 // required .messages.UpgradeType armorUpgrade = 11;
04497 inline bool UnitTypeData::has_armorupgrade() const {
04498   return _has_bit(10);
04499 }
04500 inline void UnitTypeData::clear_armorupgrade() {
04501   if (armorupgrade_ != NULL) armorupgrade_->::messages::UpgradeType::Clear();
04502   _clear_bit(10);
04503 }
04504 inline const ::messages::UpgradeType& UnitTypeData::armorupgrade() const {
04505   return armorupgrade_ != NULL ? *armorupgrade_ : *default_instance_->armorupgrade_;
04506 }
04507 inline ::messages::UpgradeType* UnitTypeData::mutable_armorupgrade() {
04508   _set_bit(10);
04509   if (armorupgrade_ == NULL) armorupgrade_ = new ::messages::UpgradeType;
04510   return armorupgrade_;
04511 }
04512 
04513 // required int32 maxHitPoints = 12;
04514 inline bool UnitTypeData::has_maxhitpoints() const {
04515   return _has_bit(11);
04516 }
04517 inline void UnitTypeData::clear_maxhitpoints() {
04518   maxhitpoints_ = 0;
04519   _clear_bit(11);
04520 }
04521 inline ::google::protobuf::int32 UnitTypeData::maxhitpoints() const {
04522   return maxhitpoints_;
04523 }
04524 inline void UnitTypeData::set_maxhitpoints(::google::protobuf::int32 value) {
04525   _set_bit(11);
04526   maxhitpoints_ = value;
04527 }
04528 
04529 // required int32 maxShields = 13;
04530 inline bool UnitTypeData::has_maxshields() const {
04531   return _has_bit(12);
04532 }
04533 inline void UnitTypeData::clear_maxshields() {
04534   maxshields_ = 0;
04535   _clear_bit(12);
04536 }
04537 inline ::google::protobuf::int32 UnitTypeData::maxshields() const {
04538   return maxshields_;
04539 }
04540 inline void UnitTypeData::set_maxshields(::google::protobuf::int32 value) {
04541   _set_bit(12);
04542   maxshields_ = value;
04543 }
04544 
04545 // required int32 maxEnergy = 14;
04546 inline bool UnitTypeData::has_maxenergy() const {
04547   return _has_bit(13);
04548 }
04549 inline void UnitTypeData::clear_maxenergy() {
04550   maxenergy_ = 0;
04551   _clear_bit(13);
04552 }
04553 inline ::google::protobuf::int32 UnitTypeData::maxenergy() const {
04554   return maxenergy_;
04555 }
04556 inline void UnitTypeData::set_maxenergy(::google::protobuf::int32 value) {
04557   _set_bit(13);
04558   maxenergy_ = value;
04559 }
04560 
04561 // required int32 armor = 15;
04562 inline bool UnitTypeData::has_armor() const {
04563   return _has_bit(14);
04564 }
04565 inline void UnitTypeData::clear_armor() {
04566   armor_ = 0;
04567   _clear_bit(14);
04568 }
04569 inline ::google::protobuf::int32 UnitTypeData::armor() const {
04570   return armor_;
04571 }
04572 inline void UnitTypeData::set_armor(::google::protobuf::int32 value) {
04573   _set_bit(14);
04574   armor_ = value;
04575 }
04576 
04577 // required int32 mineralPrice = 16;
04578 inline bool UnitTypeData::has_mineralprice() const {
04579   return _has_bit(15);
04580 }
04581 inline void UnitTypeData::clear_mineralprice() {
04582   mineralprice_ = 0;
04583   _clear_bit(15);
04584 }
04585 inline ::google::protobuf::int32 UnitTypeData::mineralprice() const {
04586   return mineralprice_;
04587 }
04588 inline void UnitTypeData::set_mineralprice(::google::protobuf::int32 value) {
04589   _set_bit(15);
04590   mineralprice_ = value;
04591 }
04592 
04593 // required int32 gasPrice = 17;
04594 inline bool UnitTypeData::has_gasprice() const {
04595   return _has_bit(16);
04596 }
04597 inline void UnitTypeData::clear_gasprice() {
04598   gasprice_ = 0;
04599   _clear_bit(16);
04600 }
04601 inline ::google::protobuf::int32 UnitTypeData::gasprice() const {
04602   return gasprice_;
04603 }
04604 inline void UnitTypeData::set_gasprice(::google::protobuf::int32 value) {
04605   _set_bit(16);
04606   gasprice_ = value;
04607 }
04608 
04609 // required int32 buildTime = 18;
04610 inline bool UnitTypeData::has_buildtime() const {
04611   return _has_bit(17);
04612 }
04613 inline void UnitTypeData::clear_buildtime() {
04614   buildtime_ = 0;
04615   _clear_bit(17);
04616 }
04617 inline ::google::protobuf::int32 UnitTypeData::buildtime() const {
04618   return buildtime_;
04619 }
04620 inline void UnitTypeData::set_buildtime(::google::protobuf::int32 value) {
04621   _set_bit(17);
04622   buildtime_ = value;
04623 }
04624 
04625 // required int32 supplyRequired = 19;
04626 inline bool UnitTypeData::has_supplyrequired() const {
04627   return _has_bit(18);
04628 }
04629 inline void UnitTypeData::clear_supplyrequired() {
04630   supplyrequired_ = 0;
04631   _clear_bit(18);
04632 }
04633 inline ::google::protobuf::int32 UnitTypeData::supplyrequired() const {
04634   return supplyrequired_;
04635 }
04636 inline void UnitTypeData::set_supplyrequired(::google::protobuf::int32 value) {
04637   _set_bit(18);
04638   supplyrequired_ = value;
04639 }
04640 
04641 // required int32 supplyProvided = 20;
04642 inline bool UnitTypeData::has_supplyprovided() const {
04643   return _has_bit(19);
04644 }
04645 inline void UnitTypeData::clear_supplyprovided() {
04646   supplyprovided_ = 0;
04647   _clear_bit(19);
04648 }
04649 inline ::google::protobuf::int32 UnitTypeData::supplyprovided() const {
04650   return supplyprovided_;
04651 }
04652 inline void UnitTypeData::set_supplyprovided(::google::protobuf::int32 value) {
04653   _set_bit(19);
04654   supplyprovided_ = value;
04655 }
04656 
04657 // required int32 spaceRequired = 21;
04658 inline bool UnitTypeData::has_spacerequired() const {
04659   return _has_bit(20);
04660 }
04661 inline void UnitTypeData::clear_spacerequired() {
04662   spacerequired_ = 0;
04663   _clear_bit(20);
04664 }
04665 inline ::google::protobuf::int32 UnitTypeData::spacerequired() const {
04666   return spacerequired_;
04667 }
04668 inline void UnitTypeData::set_spacerequired(::google::protobuf::int32 value) {
04669   _set_bit(20);
04670   spacerequired_ = value;
04671 }
04672 
04673 // required int32 spaceProvided = 66;
04674 inline bool UnitTypeData::has_spaceprovided() const {
04675   return _has_bit(21);
04676 }
04677 inline void UnitTypeData::clear_spaceprovided() {
04678   spaceprovided_ = 0;
04679   _clear_bit(21);
04680 }
04681 inline ::google::protobuf::int32 UnitTypeData::spaceprovided() const {
04682   return spaceprovided_;
04683 }
04684 inline void UnitTypeData::set_spaceprovided(::google::protobuf::int32 value) {
04685   _set_bit(21);
04686   spaceprovided_ = value;
04687 }
04688 
04689 // required int32 buildScore = 22;
04690 inline bool UnitTypeData::has_buildscore() const {
04691   return _has_bit(22);
04692 }
04693 inline void UnitTypeData::clear_buildscore() {
04694   buildscore_ = 0;
04695   _clear_bit(22);
04696 }
04697 inline ::google::protobuf::int32 UnitTypeData::buildscore() const {
04698   return buildscore_;
04699 }
04700 inline void UnitTypeData::set_buildscore(::google::protobuf::int32 value) {
04701   _set_bit(22);
04702   buildscore_ = value;
04703 }
04704 
04705 // required int32 destroyScore = 23;
04706 inline bool UnitTypeData::has_destroyscore() const {
04707   return _has_bit(23);
04708 }
04709 inline void UnitTypeData::clear_destroyscore() {
04710   destroyscore_ = 0;
04711   _clear_bit(23);
04712 }
04713 inline ::google::protobuf::int32 UnitTypeData::destroyscore() const {
04714   return destroyscore_;
04715 }
04716 inline void UnitTypeData::set_destroyscore(::google::protobuf::int32 value) {
04717   _set_bit(23);
04718   destroyscore_ = value;
04719 }
04720 
04721 // required .messages.UnitSizeType size = 24;
04722 inline bool UnitTypeData::has_size() const {
04723   return _has_bit(24);
04724 }
04725 inline void UnitTypeData::clear_size() {
04726   size_ = 0;
04727   _clear_bit(24);
04728 }
04729 inline messages::UnitSizeType UnitTypeData::size() const {
04730   return static_cast< messages::UnitSizeType >(size_);
04731 }
04732 inline void UnitTypeData::set_size(messages::UnitSizeType value) {
04733   GOOGLE_DCHECK(messages::UnitSizeType_IsValid(value));
04734   _set_bit(24);
04735   size_ = value;
04736 }
04737 
04738 // required int32 tileWidth = 25;
04739 inline bool UnitTypeData::has_tilewidth() const {
04740   return _has_bit(25);
04741 }
04742 inline void UnitTypeData::clear_tilewidth() {
04743   tilewidth_ = 0;
04744   _clear_bit(25);
04745 }
04746 inline ::google::protobuf::int32 UnitTypeData::tilewidth() const {
04747   return tilewidth_;
04748 }
04749 inline void UnitTypeData::set_tilewidth(::google::protobuf::int32 value) {
04750   _set_bit(25);
04751   tilewidth_ = value;
04752 }
04753 
04754 // required int32 tileHeight = 26;
04755 inline bool UnitTypeData::has_tileheight() const {
04756   return _has_bit(26);
04757 }
04758 inline void UnitTypeData::clear_tileheight() {
04759   tileheight_ = 0;
04760   _clear_bit(26);
04761 }
04762 inline ::google::protobuf::int32 UnitTypeData::tileheight() const {
04763   return tileheight_;
04764 }
04765 inline void UnitTypeData::set_tileheight(::google::protobuf::int32 value) {
04766   _set_bit(26);
04767   tileheight_ = value;
04768 }
04769 
04770 // required int32 dimensionLeft = 27;
04771 inline bool UnitTypeData::has_dimensionleft() const {
04772   return _has_bit(27);
04773 }
04774 inline void UnitTypeData::clear_dimensionleft() {
04775   dimensionleft_ = 0;
04776   _clear_bit(27);
04777 }
04778 inline ::google::protobuf::int32 UnitTypeData::dimensionleft() const {
04779   return dimensionleft_;
04780 }
04781 inline void UnitTypeData::set_dimensionleft(::google::protobuf::int32 value) {
04782   _set_bit(27);
04783   dimensionleft_ = value;
04784 }
04785 
04786 // required int32 dimensionUp = 28;
04787 inline bool UnitTypeData::has_dimensionup() const {
04788   return _has_bit(28);
04789 }
04790 inline void UnitTypeData::clear_dimensionup() {
04791   dimensionup_ = 0;
04792   _clear_bit(28);
04793 }
04794 inline ::google::protobuf::int32 UnitTypeData::dimensionup() const {
04795   return dimensionup_;
04796 }
04797 inline void UnitTypeData::set_dimensionup(::google::protobuf::int32 value) {
04798   _set_bit(28);
04799   dimensionup_ = value;
04800 }
04801 
04802 // required int32 dimensionRight = 29;
04803 inline bool UnitTypeData::has_dimensionright() const {
04804   return _has_bit(29);
04805 }
04806 inline void UnitTypeData::clear_dimensionright() {
04807   dimensionright_ = 0;
04808   _clear_bit(29);
04809 }
04810 inline ::google::protobuf::int32 UnitTypeData::dimensionright() const {
04811   return dimensionright_;
04812 }
04813 inline void UnitTypeData::set_dimensionright(::google::protobuf::int32 value) {
04814   _set_bit(29);
04815   dimensionright_ = value;
04816 }
04817 
04818 // required int32 dimensionDown = 30;
04819 inline bool UnitTypeData::has_dimensiondown() const {
04820   return _has_bit(30);
04821 }
04822 inline void UnitTypeData::clear_dimensiondown() {
04823   dimensiondown_ = 0;
04824   _clear_bit(30);
04825 }
04826 inline ::google::protobuf::int32 UnitTypeData::dimensiondown() const {
04827   return dimensiondown_;
04828 }
04829 inline void UnitTypeData::set_dimensiondown(::google::protobuf::int32 value) {
04830   _set_bit(30);
04831   dimensiondown_ = value;
04832 }
04833 
04834 // required int32 seekRange = 31;
04835 inline bool UnitTypeData::has_seekrange() const {
04836   return _has_bit(31);
04837 }
04838 inline void UnitTypeData::clear_seekrange() {
04839   seekrange_ = 0;
04840   _clear_bit(31);
04841 }
04842 inline ::google::protobuf::int32 UnitTypeData::seekrange() const {
04843   return seekrange_;
04844 }
04845 inline void UnitTypeData::set_seekrange(::google::protobuf::int32 value) {
04846   _set_bit(31);
04847   seekrange_ = value;
04848 }
04849 
04850 // required int32 sightRange = 32;
04851 inline bool UnitTypeData::has_sightrange() const {
04852   return _has_bit(32);
04853 }
04854 inline void UnitTypeData::clear_sightrange() {
04855   sightrange_ = 0;
04856   _clear_bit(32);
04857 }
04858 inline ::google::protobuf::int32 UnitTypeData::sightrange() const {
04859   return sightrange_;
04860 }
04861 inline void UnitTypeData::set_sightrange(::google::protobuf::int32 value) {
04862   _set_bit(32);
04863   sightrange_ = value;
04864 }
04865 
04866 // required .messages.WeaponType groundWeapon = 33;
04867 inline bool UnitTypeData::has_groundweapon() const {
04868   return _has_bit(33);
04869 }
04870 inline void UnitTypeData::clear_groundweapon() {
04871   if (groundweapon_ != NULL) groundweapon_->::messages::WeaponType::Clear();
04872   _clear_bit(33);
04873 }
04874 inline const ::messages::WeaponType& UnitTypeData::groundweapon() const {
04875   return groundweapon_ != NULL ? *groundweapon_ : *default_instance_->groundweapon_;
04876 }
04877 inline ::messages::WeaponType* UnitTypeData::mutable_groundweapon() {
04878   _set_bit(33);
04879   if (groundweapon_ == NULL) groundweapon_ = new ::messages::WeaponType;
04880   return groundweapon_;
04881 }
04882 
04883 // required int32 maxGroundHits = 34;
04884 inline bool UnitTypeData::has_maxgroundhits() const {
04885   return _has_bit(34);
04886 }
04887 inline void UnitTypeData::clear_maxgroundhits() {
04888   maxgroundhits_ = 0;
04889   _clear_bit(34);
04890 }
04891 inline ::google::protobuf::int32 UnitTypeData::maxgroundhits() const {
04892   return maxgroundhits_;
04893 }
04894 inline void UnitTypeData::set_maxgroundhits(::google::protobuf::int32 value) {
04895   _set_bit(34);
04896   maxgroundhits_ = value;
04897 }
04898 
04899 // required .messages.WeaponType airWeapon = 35;
04900 inline bool UnitTypeData::has_airweapon() const {
04901   return _has_bit(35);
04902 }
04903 inline void UnitTypeData::clear_airweapon() {
04904   if (airweapon_ != NULL) airweapon_->::messages::WeaponType::Clear();
04905   _clear_bit(35);
04906 }
04907 inline const ::messages::WeaponType& UnitTypeData::airweapon() const {
04908   return airweapon_ != NULL ? *airweapon_ : *default_instance_->airweapon_;
04909 }
04910 inline ::messages::WeaponType* UnitTypeData::mutable_airweapon() {
04911   _set_bit(35);
04912   if (airweapon_ == NULL) airweapon_ = new ::messages::WeaponType;
04913   return airweapon_;
04914 }
04915 
04916 // required int32 maxAirHits = 36;
04917 inline bool UnitTypeData::has_maxairhits() const {
04918   return _has_bit(36);
04919 }
04920 inline void UnitTypeData::clear_maxairhits() {
04921   maxairhits_ = 0;
04922   _clear_bit(36);
04923 }
04924 inline ::google::protobuf::int32 UnitTypeData::maxairhits() const {
04925   return maxairhits_;
04926 }
04927 inline void UnitTypeData::set_maxairhits(::google::protobuf::int32 value) {
04928   _set_bit(36);
04929   maxairhits_ = value;
04930 }
04931 
04932 // required double topSpeed = 37;
04933 inline bool UnitTypeData::has_topspeed() const {
04934   return _has_bit(37);
04935 }
04936 inline void UnitTypeData::clear_topspeed() {
04937   topspeed_ = 0;
04938   _clear_bit(37);
04939 }
04940 inline double UnitTypeData::topspeed() const {
04941   return topspeed_;
04942 }
04943 inline void UnitTypeData::set_topspeed(double value) {
04944   _set_bit(37);
04945   topspeed_ = value;
04946 }
04947 
04948 // required int32 acceleration = 38;
04949 inline bool UnitTypeData::has_acceleration() const {
04950   return _has_bit(38);
04951 }
04952 inline void UnitTypeData::clear_acceleration() {
04953   acceleration_ = 0;
04954   _clear_bit(38);
04955 }
04956 inline ::google::protobuf::int32 UnitTypeData::acceleration() const {
04957   return acceleration_;
04958 }
04959 inline void UnitTypeData::set_acceleration(::google::protobuf::int32 value) {
04960   _set_bit(38);
04961   acceleration_ = value;
04962 }
04963 
04964 // required int32 haltDistance = 39;
04965 inline bool UnitTypeData::has_haltdistance() const {
04966   return _has_bit(39);
04967 }
04968 inline void UnitTypeData::clear_haltdistance() {
04969   haltdistance_ = 0;
04970   _clear_bit(39);
04971 }
04972 inline ::google::protobuf::int32 UnitTypeData::haltdistance() const {
04973   return haltdistance_;
04974 }
04975 inline void UnitTypeData::set_haltdistance(::google::protobuf::int32 value) {
04976   _set_bit(39);
04977   haltdistance_ = value;
04978 }
04979 
04980 // required int32 turnRadius = 40;
04981 inline bool UnitTypeData::has_turnradius() const {
04982   return _has_bit(40);
04983 }
04984 inline void UnitTypeData::clear_turnradius() {
04985   turnradius_ = 0;
04986   _clear_bit(40);
04987 }
04988 inline ::google::protobuf::int32 UnitTypeData::turnradius() const {
04989   return turnradius_;
04990 }
04991 inline void UnitTypeData::set_turnradius(::google::protobuf::int32 value) {
04992   _set_bit(40);
04993   turnradius_ = value;
04994 }
04995 
04996 // required bool canProduce = 41;
04997 inline bool UnitTypeData::has_canproduce() const {
04998   return _has_bit(41);
04999 }
05000 inline void UnitTypeData::clear_canproduce() {
05001   canproduce_ = false;
05002   _clear_bit(41);
05003 }
05004 inline bool UnitTypeData::canproduce() const {
05005   return canproduce_;
05006 }
05007 inline void UnitTypeData::set_canproduce(bool value) {
05008   _set_bit(41);
05009   canproduce_ = value;
05010 }
05011 
05012 // required bool canAttack = 42;
05013 inline bool UnitTypeData::has_canattack() const {
05014   return _has_bit(42);
05015 }
05016 inline void UnitTypeData::clear_canattack() {
05017   canattack_ = false;
05018   _clear_bit(42);
05019 }
05020 inline bool UnitTypeData::canattack() const {
05021   return canattack_;
05022 }
05023 inline void UnitTypeData::set_canattack(bool value) {
05024   _set_bit(42);
05025   canattack_ = value;
05026 }
05027 
05028 // required bool canMove = 43;
05029 inline bool UnitTypeData::has_canmove() const {
05030   return _has_bit(43);
05031 }
05032 inline void UnitTypeData::clear_canmove() {
05033   canmove_ = false;
05034   _clear_bit(43);
05035 }
05036 inline bool UnitTypeData::canmove() const {
05037   return canmove_;
05038 }
05039 inline void UnitTypeData::set_canmove(bool value) {
05040   _set_bit(43);
05041   canmove_ = value;
05042 }
05043 
05044 // required bool isFlyer = 44;
05045 inline bool UnitTypeData::has_isflyer() const {
05046   return _has_bit(44);
05047 }
05048 inline void UnitTypeData::clear_isflyer() {
05049   isflyer_ = false;
05050   _clear_bit(44);
05051 }
05052 inline bool UnitTypeData::isflyer() const {
05053   return isflyer_;
05054 }
05055 inline void UnitTypeData::set_isflyer(bool value) {
05056   _set_bit(44);
05057   isflyer_ = value;
05058 }
05059 
05060 // required bool regeneratesHP = 45;
05061 inline bool UnitTypeData::has_regenerateshp() const {
05062   return _has_bit(45);
05063 }
05064 inline void UnitTypeData::clear_regenerateshp() {
05065   regenerateshp_ = false;
05066   _clear_bit(45);
05067 }
05068 inline bool UnitTypeData::regenerateshp() const {
05069   return regenerateshp_;
05070 }
05071 inline void UnitTypeData::set_regenerateshp(bool value) {
05072   _set_bit(45);
05073   regenerateshp_ = value;
05074 }
05075 
05076 // required bool isSpellcaster = 46;
05077 inline bool UnitTypeData::has_isspellcaster() const {
05078   return _has_bit(46);
05079 }
05080 inline void UnitTypeData::clear_isspellcaster() {
05081   isspellcaster_ = false;
05082   _clear_bit(46);
05083 }
05084 inline bool UnitTypeData::isspellcaster() const {
05085   return isspellcaster_;
05086 }
05087 inline void UnitTypeData::set_isspellcaster(bool value) {
05088   _set_bit(46);
05089   isspellcaster_ = value;
05090 }
05091 
05092 // required bool hasPermanentCloak = 47;
05093 inline bool UnitTypeData::has_haspermanentcloak() const {
05094   return _has_bit(47);
05095 }
05096 inline void UnitTypeData::clear_haspermanentcloak() {
05097   haspermanentcloak_ = false;
05098   _clear_bit(47);
05099 }
05100 inline bool UnitTypeData::haspermanentcloak() const {
05101   return haspermanentcloak_;
05102 }
05103 inline void UnitTypeData::set_haspermanentcloak(bool value) {
05104   _set_bit(47);
05105   haspermanentcloak_ = value;
05106 }
05107 
05108 // required bool isInvincible = 48;
05109 inline bool UnitTypeData::has_isinvincible() const {
05110   return _has_bit(48);
05111 }
05112 inline void UnitTypeData::clear_isinvincible() {
05113   isinvincible_ = false;
05114   _clear_bit(48);
05115 }
05116 inline bool UnitTypeData::isinvincible() const {
05117   return isinvincible_;
05118 }
05119 inline void UnitTypeData::set_isinvincible(bool value) {
05120   _set_bit(48);
05121   isinvincible_ = value;
05122 }
05123 
05124 // required bool isOrganic = 49;
05125 inline bool UnitTypeData::has_isorganic() const {
05126   return _has_bit(49);
05127 }
05128 inline void UnitTypeData::clear_isorganic() {
05129   isorganic_ = false;
05130   _clear_bit(49);
05131 }
05132 inline bool UnitTypeData::isorganic() const {
05133   return isorganic_;
05134 }
05135 inline void UnitTypeData::set_isorganic(bool value) {
05136   _set_bit(49);
05137   isorganic_ = value;
05138 }
05139 
05140 // required bool isMechanical = 50;
05141 inline bool UnitTypeData::has_ismechanical() const {
05142   return _has_bit(50);
05143 }
05144 inline void UnitTypeData::clear_ismechanical() {
05145   ismechanical_ = false;
05146   _clear_bit(50);
05147 }
05148 inline bool UnitTypeData::ismechanical() const {
05149   return ismechanical_;
05150 }
05151 inline void UnitTypeData::set_ismechanical(bool value) {
05152   _set_bit(50);
05153   ismechanical_ = value;
05154 }
05155 
05156 // required bool isRobotic = 51;
05157 inline bool UnitTypeData::has_isrobotic() const {
05158   return _has_bit(51);
05159 }
05160 inline void UnitTypeData::clear_isrobotic() {
05161   isrobotic_ = false;
05162   _clear_bit(51);
05163 }
05164 inline bool UnitTypeData::isrobotic() const {
05165   return isrobotic_;
05166 }
05167 inline void UnitTypeData::set_isrobotic(bool value) {
05168   _set_bit(51);
05169   isrobotic_ = value;
05170 }
05171 
05172 // required bool isDetector = 52;
05173 inline bool UnitTypeData::has_isdetector() const {
05174   return _has_bit(52);
05175 }
05176 inline void UnitTypeData::clear_isdetector() {
05177   isdetector_ = false;
05178   _clear_bit(52);
05179 }
05180 inline bool UnitTypeData::isdetector() const {
05181   return isdetector_;
05182 }
05183 inline void UnitTypeData::set_isdetector(bool value) {
05184   _set_bit(52);
05185   isdetector_ = value;
05186 }
05187 
05188 // required bool isResourceContainer = 53;
05189 inline bool UnitTypeData::has_isresourcecontainer() const {
05190   return _has_bit(53);
05191 }
05192 inline void UnitTypeData::clear_isresourcecontainer() {
05193   isresourcecontainer_ = false;
05194   _clear_bit(53);
05195 }
05196 inline bool UnitTypeData::isresourcecontainer() const {
05197   return isresourcecontainer_;
05198 }
05199 inline void UnitTypeData::set_isresourcecontainer(bool value) {
05200   _set_bit(53);
05201   isresourcecontainer_ = value;
05202 }
05203 
05204 // required bool isResourceDepot = 54;
05205 inline bool UnitTypeData::has_isresourcedepot() const {
05206   return _has_bit(54);
05207 }
05208 inline void UnitTypeData::clear_isresourcedepot() {
05209   isresourcedepot_ = false;
05210   _clear_bit(54);
05211 }
05212 inline bool UnitTypeData::isresourcedepot() const {
05213   return isresourcedepot_;
05214 }
05215 inline void UnitTypeData::set_isresourcedepot(bool value) {
05216   _set_bit(54);
05217   isresourcedepot_ = value;
05218 }
05219 
05220 // required bool isRefinery = 55;
05221 inline bool UnitTypeData::has_isrefinery() const {
05222   return _has_bit(55);
05223 }
05224 inline void UnitTypeData::clear_isrefinery() {
05225   isrefinery_ = false;
05226   _clear_bit(55);
05227 }
05228 inline bool UnitTypeData::isrefinery() const {
05229   return isrefinery_;
05230 }
05231 inline void UnitTypeData::set_isrefinery(bool value) {
05232   _set_bit(55);
05233   isrefinery_ = value;
05234 }
05235 
05236 // required bool isWorker = 56;
05237 inline bool UnitTypeData::has_isworker() const {
05238   return _has_bit(56);
05239 }
05240 inline void UnitTypeData::clear_isworker() {
05241   isworker_ = false;
05242   _clear_bit(56);
05243 }
05244 inline bool UnitTypeData::isworker() const {
05245   return isworker_;
05246 }
05247 inline void UnitTypeData::set_isworker(bool value) {
05248   _set_bit(56);
05249   isworker_ = value;
05250 }
05251 
05252 // required bool requiresPsi = 57;
05253 inline bool UnitTypeData::has_requirespsi() const {
05254   return _has_bit(57);
05255 }
05256 inline void UnitTypeData::clear_requirespsi() {
05257   requirespsi_ = false;
05258   _clear_bit(57);
05259 }
05260 inline bool UnitTypeData::requirespsi() const {
05261   return requirespsi_;
05262 }
05263 inline void UnitTypeData::set_requirespsi(bool value) {
05264   _set_bit(57);
05265   requirespsi_ = value;
05266 }
05267 
05268 // required bool requiresCreep = 58;
05269 inline bool UnitTypeData::has_requirescreep() const {
05270   return _has_bit(58);
05271 }
05272 inline void UnitTypeData::clear_requirescreep() {
05273   requirescreep_ = false;
05274   _clear_bit(58);
05275 }
05276 inline bool UnitTypeData::requirescreep() const {
05277   return requirescreep_;
05278 }
05279 inline void UnitTypeData::set_requirescreep(bool value) {
05280   _set_bit(58);
05281   requirescreep_ = value;
05282 }
05283 
05284 // required bool isTwoUnitsInOneEgg = 59;
05285 inline bool UnitTypeData::has_istwounitsinoneegg() const {
05286   return _has_bit(59);
05287 }
05288 inline void UnitTypeData::clear_istwounitsinoneegg() {
05289   istwounitsinoneegg_ = false;
05290   _clear_bit(59);
05291 }
05292 inline bool UnitTypeData::istwounitsinoneegg() const {
05293   return istwounitsinoneegg_;
05294 }
05295 inline void UnitTypeData::set_istwounitsinoneegg(bool value) {
05296   _set_bit(59);
05297   istwounitsinoneegg_ = value;
05298 }
05299 
05300 // required bool isBurrowable = 60;
05301 inline bool UnitTypeData::has_isburrowable() const {
05302   return _has_bit(60);
05303 }
05304 inline void UnitTypeData::clear_isburrowable() {
05305   isburrowable_ = false;
05306   _clear_bit(60);
05307 }
05308 inline bool UnitTypeData::isburrowable() const {
05309   return isburrowable_;
05310 }
05311 inline void UnitTypeData::set_isburrowable(bool value) {
05312   _set_bit(60);
05313   isburrowable_ = value;
05314 }
05315 
05316 // required bool isCloakable = 61;
05317 inline bool UnitTypeData::has_iscloakable() const {
05318   return _has_bit(61);
05319 }
05320 inline void UnitTypeData::clear_iscloakable() {
05321   iscloakable_ = false;
05322   _clear_bit(61);
05323 }
05324 inline bool UnitTypeData::iscloakable() const {
05325   return iscloakable_;
05326 }
05327 inline void UnitTypeData::set_iscloakable(bool value) {
05328   _set_bit(61);
05329   iscloakable_ = value;
05330 }
05331 
05332 // required bool isBuilding = 62;
05333 inline bool UnitTypeData::has_isbuilding() const {
05334   return _has_bit(62);
05335 }
05336 inline void UnitTypeData::clear_isbuilding() {
05337   isbuilding_ = false;
05338   _clear_bit(62);
05339 }
05340 inline bool UnitTypeData::isbuilding() const {
05341   return isbuilding_;
05342 }
05343 inline void UnitTypeData::set_isbuilding(bool value) {
05344   _set_bit(62);
05345   isbuilding_ = value;
05346 }
05347 
05348 // required bool isAddon = 63;
05349 inline bool UnitTypeData::has_isaddon() const {
05350   return _has_bit(63);
05351 }
05352 inline void UnitTypeData::clear_isaddon() {
05353   isaddon_ = false;
05354   _clear_bit(63);
05355 }
05356 inline bool UnitTypeData::isaddon() const {
05357   return isaddon_;
05358 }
05359 inline void UnitTypeData::set_isaddon(bool value) {
05360   _set_bit(63);
05361   isaddon_ = value;
05362 }
05363 
05364 // required bool isFlyingBuilding = 64;
05365 inline bool UnitTypeData::has_isflyingbuilding() const {
05366   return _has_bit(64);
05367 }
05368 inline void UnitTypeData::clear_isflyingbuilding() {
05369   isflyingbuilding_ = false;
05370   _clear_bit(64);
05371 }
05372 inline bool UnitTypeData::isflyingbuilding() const {
05373   return isflyingbuilding_;
05374 }
05375 inline void UnitTypeData::set_isflyingbuilding(bool value) {
05376   _set_bit(64);
05377   isflyingbuilding_ = value;
05378 }
05379 
05380 // required bool isNeutral = 65;
05381 inline bool UnitTypeData::has_isneutral() const {
05382   return _has_bit(65);
05383 }
05384 inline void UnitTypeData::clear_isneutral() {
05385   isneutral_ = false;
05386   _clear_bit(65);
05387 }
05388 inline bool UnitTypeData::isneutral() const {
05389   return isneutral_;
05390 }
05391 inline void UnitTypeData::set_isneutral(bool value) {
05392   _set_bit(65);
05393   isneutral_ = value;
05394 }
05395 
05396 // -------------------------------------------------------------------
05397 
05398 // UpgradeTypeData
05399 
05400 // required int32 id = 1;
05401 inline bool UpgradeTypeData::has_id() const {
05402   return _has_bit(0);
05403 }
05404 inline void UpgradeTypeData::clear_id() {
05405   id_ = 0;
05406   _clear_bit(0);
05407 }
05408 inline ::google::protobuf::int32 UpgradeTypeData::id() const {
05409   return id_;
05410 }
05411 inline void UpgradeTypeData::set_id(::google::protobuf::int32 value) {
05412   _set_bit(0);
05413   id_ = value;
05414 }
05415 
05416 // required string name = 2;
05417 inline bool UpgradeTypeData::has_name() const {
05418   return _has_bit(1);
05419 }
05420 inline void UpgradeTypeData::clear_name() {
05421   if (name_ != &_default_name_) {
05422     name_->clear();
05423   }
05424   _clear_bit(1);
05425 }
05426 inline const ::std::string& UpgradeTypeData::name() const {
05427   return *name_;
05428 }
05429 inline void UpgradeTypeData::set_name(const ::std::string& value) {
05430   _set_bit(1);
05431   if (name_ == &_default_name_) {
05432     name_ = new ::std::string;
05433   }
05434   name_->assign(value);
05435 }
05436 inline void UpgradeTypeData::set_name(const char* value) {
05437   _set_bit(1);
05438   if (name_ == &_default_name_) {
05439     name_ = new ::std::string;
05440   }
05441   name_->assign(value);
05442 }
05443 inline void UpgradeTypeData::set_name(const char* value, size_t size) {
05444   _set_bit(1);
05445   if (name_ == &_default_name_) {
05446     name_ = new ::std::string;
05447   }
05448   name_->assign(reinterpret_cast<const char*>(value), size);
05449 }
05450 inline ::std::string* UpgradeTypeData::mutable_name() {
05451   _set_bit(1);
05452   if (name_ == &_default_name_) {
05453     name_ = new ::std::string;
05454   }
05455   return name_;
05456 }
05457 
05458 // required .messages.Race race = 3;
05459 inline bool UpgradeTypeData::has_race() const {
05460   return _has_bit(2);
05461 }
05462 inline void UpgradeTypeData::clear_race() {
05463   race_ = 0;
05464   _clear_bit(2);
05465 }
05466 inline messages::Race UpgradeTypeData::race() const {
05467   return static_cast< messages::Race >(race_);
05468 }
05469 inline void UpgradeTypeData::set_race(messages::Race value) {
05470   GOOGLE_DCHECK(messages::Race_IsValid(value));
05471   _set_bit(2);
05472   race_ = value;
05473 }
05474 
05475 // required int32 mineralPriceBase = 4;
05476 inline bool UpgradeTypeData::has_mineralpricebase() const {
05477   return _has_bit(3);
05478 }
05479 inline void UpgradeTypeData::clear_mineralpricebase() {
05480   mineralpricebase_ = 0;
05481   _clear_bit(3);
05482 }
05483 inline ::google::protobuf::int32 UpgradeTypeData::mineralpricebase() const {
05484   return mineralpricebase_;
05485 }
05486 inline void UpgradeTypeData::set_mineralpricebase(::google::protobuf::int32 value) {
05487   _set_bit(3);
05488   mineralpricebase_ = value;
05489 }
05490 
05491 // required int32 mineralPriceFactor = 5;
05492 inline bool UpgradeTypeData::has_mineralpricefactor() const {
05493   return _has_bit(4);
05494 }
05495 inline void UpgradeTypeData::clear_mineralpricefactor() {
05496   mineralpricefactor_ = 0;
05497   _clear_bit(4);
05498 }
05499 inline ::google::protobuf::int32 UpgradeTypeData::mineralpricefactor() const {
05500   return mineralpricefactor_;
05501 }
05502 inline void UpgradeTypeData::set_mineralpricefactor(::google::protobuf::int32 value) {
05503   _set_bit(4);
05504   mineralpricefactor_ = value;
05505 }
05506 
05507 // required int32 gasPriceBase = 6;
05508 inline bool UpgradeTypeData::has_gaspricebase() const {
05509   return _has_bit(5);
05510 }
05511 inline void UpgradeTypeData::clear_gaspricebase() {
05512   gaspricebase_ = 0;
05513   _clear_bit(5);
05514 }
05515 inline ::google::protobuf::int32 UpgradeTypeData::gaspricebase() const {
05516   return gaspricebase_;
05517 }
05518 inline void UpgradeTypeData::set_gaspricebase(::google::protobuf::int32 value) {
05519   _set_bit(5);
05520   gaspricebase_ = value;
05521 }
05522 
05523 // required int32 gasPriceFactor = 7;
05524 inline bool UpgradeTypeData::has_gaspricefactor() const {
05525   return _has_bit(6);
05526 }
05527 inline void UpgradeTypeData::clear_gaspricefactor() {
05528   gaspricefactor_ = 0;
05529   _clear_bit(6);
05530 }
05531 inline ::google::protobuf::int32 UpgradeTypeData::gaspricefactor() const {
05532   return gaspricefactor_;
05533 }
05534 inline void UpgradeTypeData::set_gaspricefactor(::google::protobuf::int32 value) {
05535   _set_bit(6);
05536   gaspricefactor_ = value;
05537 }
05538 
05539 // required int32 upgradeTimeBase = 8;
05540 inline bool UpgradeTypeData::has_upgradetimebase() const {
05541   return _has_bit(7);
05542 }
05543 inline void UpgradeTypeData::clear_upgradetimebase() {
05544   upgradetimebase_ = 0;
05545   _clear_bit(7);
05546 }
05547 inline ::google::protobuf::int32 UpgradeTypeData::upgradetimebase() const {
05548   return upgradetimebase_;
05549 }
05550 inline void UpgradeTypeData::set_upgradetimebase(::google::protobuf::int32 value) {
05551   _set_bit(7);
05552   upgradetimebase_ = value;
05553 }
05554 
05555 // required int32 upgradeTimeFactor = 9;
05556 inline bool UpgradeTypeData::has_upgradetimefactor() const {
05557   return _has_bit(8);
05558 }
05559 inline void UpgradeTypeData::clear_upgradetimefactor() {
05560   upgradetimefactor_ = 0;
05561   _clear_bit(8);
05562 }
05563 inline ::google::protobuf::int32 UpgradeTypeData::upgradetimefactor() const {
05564   return upgradetimefactor_;
05565 }
05566 inline void UpgradeTypeData::set_upgradetimefactor(::google::protobuf::int32 value) {
05567   _set_bit(8);
05568   upgradetimefactor_ = value;
05569 }
05570 
05571 // required int32 maxRepeats = 10;
05572 inline bool UpgradeTypeData::has_maxrepeats() const {
05573   return _has_bit(9);
05574 }
05575 inline void UpgradeTypeData::clear_maxrepeats() {
05576   maxrepeats_ = 0;
05577   _clear_bit(9);
05578 }
05579 inline ::google::protobuf::int32 UpgradeTypeData::maxrepeats() const {
05580   return maxrepeats_;
05581 }
05582 inline void UpgradeTypeData::set_maxrepeats(::google::protobuf::int32 value) {
05583   _set_bit(9);
05584   maxrepeats_ = value;
05585 }
05586 
05587 // required .messages.UnitType whatUpgrades = 11;
05588 inline bool UpgradeTypeData::has_whatupgrades() const {
05589   return _has_bit(10);
05590 }
05591 inline void UpgradeTypeData::clear_whatupgrades() {
05592   if (whatupgrades_ != NULL) whatupgrades_->::messages::UnitType::Clear();
05593   _clear_bit(10);
05594 }
05595 inline const ::messages::UnitType& UpgradeTypeData::whatupgrades() const {
05596   return whatupgrades_ != NULL ? *whatupgrades_ : *default_instance_->whatupgrades_;
05597 }
05598 inline ::messages::UnitType* UpgradeTypeData::mutable_whatupgrades() {
05599   _set_bit(10);
05600   if (whatupgrades_ == NULL) whatupgrades_ = new ::messages::UnitType;
05601   return whatupgrades_;
05602 }
05603 
05604 // repeated .messages.UnitType whatUses = 12;
05605 inline int UpgradeTypeData::whatuses_size() const {
05606   return whatuses_.size();
05607 }
05608 inline void UpgradeTypeData::clear_whatuses() {
05609   whatuses_.Clear();
05610 }
05611 inline const ::messages::UnitType& UpgradeTypeData::whatuses(int index) const {
05612   return whatuses_.Get(index);
05613 }
05614 inline ::messages::UnitType* UpgradeTypeData::mutable_whatuses(int index) {
05615   return whatuses_.Mutable(index);
05616 }
05617 inline ::messages::UnitType* UpgradeTypeData::add_whatuses() {
05618   return whatuses_.Add();
05619 }
05620 inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitType >&
05621 UpgradeTypeData::whatuses() const {
05622   return whatuses_;
05623 }
05624 inline ::google::protobuf::RepeatedPtrField< ::messages::UnitType >*
05625 UpgradeTypeData::mutable_whatuses() {
05626   return &whatuses_;
05627 }
05628 
05629 // -------------------------------------------------------------------
05630 
05631 // Unit
05632 
05633 // required .messages.UnitId theID = 1;
05634 inline bool Unit::has_theid() const {
05635   return _has_bit(0);
05636 }
05637 inline void Unit::clear_theid() {
05638   if (theid_ != NULL) theid_->::messages::UnitId::Clear();
05639   _clear_bit(0);
05640 }
05641 inline const ::messages::UnitId& Unit::theid() const {
05642   return theid_ != NULL ? *theid_ : *default_instance_->theid_;
05643 }
05644 inline ::messages::UnitId* Unit::mutable_theid() {
05645   _set_bit(0);
05646   if (theid_ == NULL) theid_ = new ::messages::UnitId;
05647   return theid_;
05648 }
05649 
05650 // required int32 player = 2;
05651 inline bool Unit::has_player() const {
05652   return _has_bit(1);
05653 }
05654 inline void Unit::clear_player() {
05655   player_ = 0;
05656   _clear_bit(1);
05657 }
05658 inline ::google::protobuf::int32 Unit::player() const {
05659   return player_;
05660 }
05661 inline void Unit::set_player(::google::protobuf::int32 value) {
05662   _set_bit(1);
05663   player_ = value;
05664 }
05665 
05666 // required .messages.UnitType type = 3;
05667 inline bool Unit::has_type() const {
05668   return _has_bit(2);
05669 }
05670 inline void Unit::clear_type() {
05671   if (type_ != NULL) type_->::messages::UnitType::Clear();
05672   _clear_bit(2);
05673 }
05674 inline const ::messages::UnitType& Unit::type() const {
05675   return type_ != NULL ? *type_ : *default_instance_->type_;
05676 }
05677 inline ::messages::UnitType* Unit::mutable_type() {
05678   _set_bit(2);
05679   if (type_ == NULL) type_ = new ::messages::UnitType;
05680   return type_;
05681 }
05682 
05683 // required .messages.UnitType initialType = 4;
05684 inline bool Unit::has_initialtype() const {
05685   return _has_bit(3);
05686 }
05687 inline void Unit::clear_initialtype() {
05688   if (initialtype_ != NULL) initialtype_->::messages::UnitType::Clear();
05689   _clear_bit(3);
05690 }
05691 inline const ::messages::UnitType& Unit::initialtype() const {
05692   return initialtype_ != NULL ? *initialtype_ : *default_instance_->initialtype_;
05693 }
05694 inline ::messages::UnitType* Unit::mutable_initialtype() {
05695   _set_bit(3);
05696   if (initialtype_ == NULL) initialtype_ = new ::messages::UnitType;
05697   return initialtype_;
05698 }
05699 
05700 // required int32 hitPoints = 5;
05701 inline bool Unit::has_hitpoints() const {
05702   return _has_bit(4);
05703 }
05704 inline void Unit::clear_hitpoints() {
05705   hitpoints_ = 0;
05706   _clear_bit(4);
05707 }
05708 inline ::google::protobuf::int32 Unit::hitpoints() const {
05709   return hitpoints_;
05710 }
05711 inline void Unit::set_hitpoints(::google::protobuf::int32 value) {
05712   _set_bit(4);
05713   hitpoints_ = value;
05714 }
05715 
05716 // required int32 initialHitPoints = 6;
05717 inline bool Unit::has_initialhitpoints() const {
05718   return _has_bit(5);
05719 }
05720 inline void Unit::clear_initialhitpoints() {
05721   initialhitpoints_ = 0;
05722   _clear_bit(5);
05723 }
05724 inline ::google::protobuf::int32 Unit::initialhitpoints() const {
05725   return initialhitpoints_;
05726 }
05727 inline void Unit::set_initialhitpoints(::google::protobuf::int32 value) {
05728   _set_bit(5);
05729   initialhitpoints_ = value;
05730 }
05731 
05732 // required int32 shields = 7;
05733 inline bool Unit::has_shields() const {
05734   return _has_bit(6);
05735 }
05736 inline void Unit::clear_shields() {
05737   shields_ = 0;
05738   _clear_bit(6);
05739 }
05740 inline ::google::protobuf::int32 Unit::shields() const {
05741   return shields_;
05742 }
05743 inline void Unit::set_shields(::google::protobuf::int32 value) {
05744   _set_bit(6);
05745   shields_ = value;
05746 }
05747 
05748 // required int32 energy = 8;
05749 inline bool Unit::has_energy() const {
05750   return _has_bit(7);
05751 }
05752 inline void Unit::clear_energy() {
05753   energy_ = 0;
05754   _clear_bit(7);
05755 }
05756 inline ::google::protobuf::int32 Unit::energy() const {
05757   return energy_;
05758 }
05759 inline void Unit::set_energy(::google::protobuf::int32 value) {
05760   _set_bit(7);
05761   energy_ = value;
05762 }
05763 
05764 // required int32 resources = 9;
05765 inline bool Unit::has_resources() const {
05766   return _has_bit(8);
05767 }
05768 inline void Unit::clear_resources() {
05769   resources_ = 0;
05770   _clear_bit(8);
05771 }
05772 inline ::google::protobuf::int32 Unit::resources() const {
05773   return resources_;
05774 }
05775 inline void Unit::set_resources(::google::protobuf::int32 value) {
05776   _set_bit(8);
05777   resources_ = value;
05778 }
05779 
05780 // required int32 resourceGroup = 103;
05781 inline bool Unit::has_resourcegroup() const {
05782   return _has_bit(9);
05783 }
05784 inline void Unit::clear_resourcegroup() {
05785   resourcegroup_ = 0;
05786   _clear_bit(9);
05787 }
05788 inline ::google::protobuf::int32 Unit::resourcegroup() const {
05789   return resourcegroup_;
05790 }
05791 inline void Unit::set_resourcegroup(::google::protobuf::int32 value) {
05792   _set_bit(9);
05793   resourcegroup_ = value;
05794 }
05795 
05796 // required int32 initialResources = 10;
05797 inline bool Unit::has_initialresources() const {
05798   return _has_bit(10);
05799 }
05800 inline void Unit::clear_initialresources() {
05801   initialresources_ = 0;
05802   _clear_bit(10);
05803 }
05804 inline ::google::protobuf::int32 Unit::initialresources() const {
05805   return initialresources_;
05806 }
05807 inline void Unit::set_initialresources(::google::protobuf::int32 value) {
05808   _set_bit(10);
05809   initialresources_ = value;
05810 }
05811 
05812 // required int32 killCount = 11;
05813 inline bool Unit::has_killcount() const {
05814   return _has_bit(11);
05815 }
05816 inline void Unit::clear_killcount() {
05817   killcount_ = 0;
05818   _clear_bit(11);
05819 }
05820 inline ::google::protobuf::int32 Unit::killcount() const {
05821   return killcount_;
05822 }
05823 inline void Unit::set_killcount(::google::protobuf::int32 value) {
05824   _set_bit(11);
05825   killcount_ = value;
05826 }
05827 
05828 // required int32 groundWeaponCooldown = 12;
05829 inline bool Unit::has_groundweaponcooldown() const {
05830   return _has_bit(12);
05831 }
05832 inline void Unit::clear_groundweaponcooldown() {
05833   groundweaponcooldown_ = 0;
05834   _clear_bit(12);
05835 }
05836 inline ::google::protobuf::int32 Unit::groundweaponcooldown() const {
05837   return groundweaponcooldown_;
05838 }
05839 inline void Unit::set_groundweaponcooldown(::google::protobuf::int32 value) {
05840   _set_bit(12);
05841   groundweaponcooldown_ = value;
05842 }
05843 
05844 // required int32 airWeaponCooldown = 13;
05845 inline bool Unit::has_airweaponcooldown() const {
05846   return _has_bit(13);
05847 }
05848 inline void Unit::clear_airweaponcooldown() {
05849   airweaponcooldown_ = 0;
05850   _clear_bit(13);
05851 }
05852 inline ::google::protobuf::int32 Unit::airweaponcooldown() const {
05853   return airweaponcooldown_;
05854 }
05855 inline void Unit::set_airweaponcooldown(::google::protobuf::int32 value) {
05856   _set_bit(13);
05857   airweaponcooldown_ = value;
05858 }
05859 
05860 // required int32 spellCooldown = 14;
05861 inline bool Unit::has_spellcooldown() const {
05862   return _has_bit(14);
05863 }
05864 inline void Unit::clear_spellcooldown() {
05865   spellcooldown_ = 0;
05866   _clear_bit(14);
05867 }
05868 inline ::google::protobuf::int32 Unit::spellcooldown() const {
05869   return spellcooldown_;
05870 }
05871 inline void Unit::set_spellcooldown(::google::protobuf::int32 value) {
05872   _set_bit(14);
05873   spellcooldown_ = value;
05874 }
05875 
05876 // required int32 defenseMatrixPoints = 15;
05877 inline bool Unit::has_defensematrixpoints() const {
05878   return _has_bit(15);
05879 }
05880 inline void Unit::clear_defensematrixpoints() {
05881   defensematrixpoints_ = 0;
05882   _clear_bit(15);
05883 }
05884 inline ::google::protobuf::int32 Unit::defensematrixpoints() const {
05885   return defensematrixpoints_;
05886 }
05887 inline void Unit::set_defensematrixpoints(::google::protobuf::int32 value) {
05888   _set_bit(15);
05889   defensematrixpoints_ = value;
05890 }
05891 
05892 // required int32 defenseMatrixTimer = 16;
05893 inline bool Unit::has_defensematrixtimer() const {
05894   return _has_bit(16);
05895 }
05896 inline void Unit::clear_defensematrixtimer() {
05897   defensematrixtimer_ = 0;
05898   _clear_bit(16);
05899 }
05900 inline ::google::protobuf::int32 Unit::defensematrixtimer() const {
05901   return defensematrixtimer_;
05902 }
05903 inline void Unit::set_defensematrixtimer(::google::protobuf::int32 value) {
05904   _set_bit(16);
05905   defensematrixtimer_ = value;
05906 }
05907 
05908 // required int32 ensnareTimer = 17;
05909 inline bool Unit::has_ensnaretimer() const {
05910   return _has_bit(17);
05911 }
05912 inline void Unit::clear_ensnaretimer() {
05913   ensnaretimer_ = 0;
05914   _clear_bit(17);
05915 }
05916 inline ::google::protobuf::int32 Unit::ensnaretimer() const {
05917   return ensnaretimer_;
05918 }
05919 inline void Unit::set_ensnaretimer(::google::protobuf::int32 value) {
05920   _set_bit(17);
05921   ensnaretimer_ = value;
05922 }
05923 
05924 // required int32 irradiateTimer = 18;
05925 inline bool Unit::has_irradiatetimer() const {
05926   return _has_bit(18);
05927 }
05928 inline void Unit::clear_irradiatetimer() {
05929   irradiatetimer_ = 0;
05930   _clear_bit(18);
05931 }
05932 inline ::google::protobuf::int32 Unit::irradiatetimer() const {
05933   return irradiatetimer_;
05934 }
05935 inline void Unit::set_irradiatetimer(::google::protobuf::int32 value) {
05936   _set_bit(18);
05937   irradiatetimer_ = value;
05938 }
05939 
05940 // required int32 lockdownTimer = 19;
05941 inline bool Unit::has_lockdowntimer() const {
05942   return _has_bit(19);
05943 }
05944 inline void Unit::clear_lockdowntimer() {
05945   lockdowntimer_ = 0;
05946   _clear_bit(19);
05947 }
05948 inline ::google::protobuf::int32 Unit::lockdowntimer() const {
05949   return lockdowntimer_;
05950 }
05951 inline void Unit::set_lockdowntimer(::google::protobuf::int32 value) {
05952   _set_bit(19);
05953   lockdowntimer_ = value;
05954 }
05955 
05956 // required int32 maelstromTimer = 20;
05957 inline bool Unit::has_maelstromtimer() const {
05958   return _has_bit(20);
05959 }
05960 inline void Unit::clear_maelstromtimer() {
05961   maelstromtimer_ = 0;
05962   _clear_bit(20);
05963 }
05964 inline ::google::protobuf::int32 Unit::maelstromtimer() const {
05965   return maelstromtimer_;
05966 }
05967 inline void Unit::set_maelstromtimer(::google::protobuf::int32 value) {
05968   _set_bit(20);
05969   maelstromtimer_ = value;
05970 }
05971 
05972 // required int32 plagueTimer = 21;
05973 inline bool Unit::has_plaguetimer() const {
05974   return _has_bit(21);
05975 }
05976 inline void Unit::clear_plaguetimer() {
05977   plaguetimer_ = 0;
05978   _clear_bit(21);
05979 }
05980 inline ::google::protobuf::int32 Unit::plaguetimer() const {
05981   return plaguetimer_;
05982 }
05983 inline void Unit::set_plaguetimer(::google::protobuf::int32 value) {
05984   _set_bit(21);
05985   plaguetimer_ = value;
05986 }
05987 
05988 // required int32 removeTimer = 22;
05989 inline bool Unit::has_removetimer() const {
05990   return _has_bit(22);
05991 }
05992 inline void Unit::clear_removetimer() {
05993   removetimer_ = 0;
05994   _clear_bit(22);
05995 }
05996 inline ::google::protobuf::int32 Unit::removetimer() const {
05997   return removetimer_;
05998 }
05999 inline void Unit::set_removetimer(::google::protobuf::int32 value) {
06000   _set_bit(22);
06001   removetimer_ = value;
06002 }
06003 
06004 // required int32 stasisTimer = 23;
06005 inline bool Unit::has_stasistimer() const {
06006   return _has_bit(23);
06007 }
06008 inline void Unit::clear_stasistimer() {
06009   stasistimer_ = 0;
06010   _clear_bit(23);
06011 }
06012 inline ::google::protobuf::int32 Unit::stasistimer() const {
06013   return stasistimer_;
06014 }
06015 inline void Unit::set_stasistimer(::google::protobuf::int32 value) {
06016   _set_bit(23);
06017   stasistimer_ = value;
06018 }
06019 
06020 // required int32 stimTimer = 24;
06021 inline bool Unit::has_stimtimer() const {
06022   return _has_bit(24);
06023 }
06024 inline void Unit::clear_stimtimer() {
06025   stimtimer_ = 0;
06026   _clear_bit(24);
06027 }
06028 inline ::google::protobuf::int32 Unit::stimtimer() const {
06029   return stimtimer_;
06030 }
06031 inline void Unit::set_stimtimer(::google::protobuf::int32 value) {
06032   _set_bit(24);
06033   stimtimer_ = value;
06034 }
06035 
06036 // required .messages.Position position = 25;
06037 inline bool Unit::has_position() const {
06038   return _has_bit(25);
06039 }
06040 inline void Unit::clear_position() {
06041   if (position_ != NULL) position_->::messages::Position::Clear();
06042   _clear_bit(25);
06043 }
06044 inline const ::messages::Position& Unit::position() const {
06045   return position_ != NULL ? *position_ : *default_instance_->position_;
06046 }
06047 inline ::messages::Position* Unit::mutable_position() {
06048   _set_bit(25);
06049   if (position_ == NULL) position_ = new ::messages::Position;
06050   return position_;
06051 }
06052 
06053 // required .messages.Position initialPosition = 26;
06054 inline bool Unit::has_initialposition() const {
06055   return _has_bit(26);
06056 }
06057 inline void Unit::clear_initialposition() {
06058   if (initialposition_ != NULL) initialposition_->::messages::Position::Clear();
06059   _clear_bit(26);
06060 }
06061 inline const ::messages::Position& Unit::initialposition() const {
06062   return initialposition_ != NULL ? *initialposition_ : *default_instance_->initialposition_;
06063 }
06064 inline ::messages::Position* Unit::mutable_initialposition() {
06065   _set_bit(26);
06066   if (initialposition_ == NULL) initialposition_ = new ::messages::Position;
06067   return initialposition_;
06068 }
06069 
06070 // required .messages.TilePosition tilePosition = 27;
06071 inline bool Unit::has_tileposition() const {
06072   return _has_bit(27);
06073 }
06074 inline void Unit::clear_tileposition() {
06075   if (tileposition_ != NULL) tileposition_->::messages::TilePosition::Clear();
06076   _clear_bit(27);
06077 }
06078 inline const ::messages::TilePosition& Unit::tileposition() const {
06079   return tileposition_ != NULL ? *tileposition_ : *default_instance_->tileposition_;
06080 }
06081 inline ::messages::TilePosition* Unit::mutable_tileposition() {
06082   _set_bit(27);
06083   if (tileposition_ == NULL) tileposition_ = new ::messages::TilePosition;
06084   return tileposition_;
06085 }
06086 
06087 // required .messages.TilePosition initialTilePosition = 28;
06088 inline bool Unit::has_initialtileposition() const {
06089   return _has_bit(28);
06090 }
06091 inline void Unit::clear_initialtileposition() {
06092   if (initialtileposition_ != NULL) initialtileposition_->::messages::TilePosition::Clear();
06093   _clear_bit(28);
06094 }
06095 inline const ::messages::TilePosition& Unit::initialtileposition() const {
06096   return initialtileposition_ != NULL ? *initialtileposition_ : *default_instance_->initialtileposition_;
06097 }
06098 inline ::messages::TilePosition* Unit::mutable_initialtileposition() {
06099   _set_bit(28);
06100   if (initialtileposition_ == NULL) initialtileposition_ = new ::messages::TilePosition;
06101   return initialtileposition_;
06102 }
06103 
06104 // required double angle = 30;
06105 inline bool Unit::has_angle() const {
06106   return _has_bit(29);
06107 }
06108 inline void Unit::clear_angle() {
06109   angle_ = 0;
06110   _clear_bit(29);
06111 }
06112 inline double Unit::angle() const {
06113   return angle_;
06114 }
06115 inline void Unit::set_angle(double value) {
06116   _set_bit(29);
06117   angle_ = value;
06118 }
06119 
06120 // required double velocityX = 31;
06121 inline bool Unit::has_velocityx() const {
06122   return _has_bit(30);
06123 }
06124 inline void Unit::clear_velocityx() {
06125   velocityx_ = 0;
06126   _clear_bit(30);
06127 }
06128 inline double Unit::velocityx() const {
06129   return velocityx_;
06130 }
06131 inline void Unit::set_velocityx(double value) {
06132   _set_bit(30);
06133   velocityx_ = value;
06134 }
06135 
06136 // required double velocityY = 32;
06137 inline bool Unit::has_velocityy() const {
06138   return _has_bit(31);
06139 }
06140 inline void Unit::clear_velocityy() {
06141   velocityy_ = 0;
06142   _clear_bit(31);
06143 }
06144 inline double Unit::velocityy() const {
06145   return velocityy_;
06146 }
06147 inline void Unit::set_velocityy(double value) {
06148   _set_bit(31);
06149   velocityy_ = value;
06150 }
06151 
06152 // optional .messages.UnitId target = 33;
06153 inline bool Unit::has_target() const {
06154   return _has_bit(32);
06155 }
06156 inline void Unit::clear_target() {
06157   if (target_ != NULL) target_->::messages::UnitId::Clear();
06158   _clear_bit(32);
06159 }
06160 inline const ::messages::UnitId& Unit::target() const {
06161   return target_ != NULL ? *target_ : *default_instance_->target_;
06162 }
06163 inline ::messages::UnitId* Unit::mutable_target() {
06164   _set_bit(32);
06165   if (target_ == NULL) target_ = new ::messages::UnitId;
06166   return target_;
06167 }
06168 
06169 // required .messages.Position targetPosition = 34;
06170 inline bool Unit::has_targetposition() const {
06171   return _has_bit(33);
06172 }
06173 inline void Unit::clear_targetposition() {
06174   if (targetposition_ != NULL) targetposition_->::messages::Position::Clear();
06175   _clear_bit(33);
06176 }
06177 inline const ::messages::Position& Unit::targetposition() const {
06178   return targetposition_ != NULL ? *targetposition_ : *default_instance_->targetposition_;
06179 }
06180 inline ::messages::Position* Unit::mutable_targetposition() {
06181   _set_bit(33);
06182   if (targetposition_ == NULL) targetposition_ = new ::messages::Position;
06183   return targetposition_;
06184 }
06185 
06186 // required int32 order = 35;
06187 inline bool Unit::has_order() const {
06188   return _has_bit(34);
06189 }
06190 inline void Unit::clear_order() {
06191   order_ = 0;
06192   _clear_bit(34);
06193 }
06194 inline ::google::protobuf::int32 Unit::order() const {
06195   return order_;
06196 }
06197 inline void Unit::set_order(::google::protobuf::int32 value) {
06198   _set_bit(34);
06199   order_ = value;
06200 }
06201 
06202 // optional .messages.UnitId orderTarget = 36;
06203 inline bool Unit::has_ordertarget() const {
06204   return _has_bit(35);
06205 }
06206 inline void Unit::clear_ordertarget() {
06207   if (ordertarget_ != NULL) ordertarget_->::messages::UnitId::Clear();
06208   _clear_bit(35);
06209 }
06210 inline const ::messages::UnitId& Unit::ordertarget() const {
06211   return ordertarget_ != NULL ? *ordertarget_ : *default_instance_->ordertarget_;
06212 }
06213 inline ::messages::UnitId* Unit::mutable_ordertarget() {
06214   _set_bit(35);
06215   if (ordertarget_ == NULL) ordertarget_ = new ::messages::UnitId;
06216   return ordertarget_;
06217 }
06218 
06219 // required int32 orderTimer = 37;
06220 inline bool Unit::has_ordertimer() const {
06221   return _has_bit(36);
06222 }
06223 inline void Unit::clear_ordertimer() {
06224   ordertimer_ = 0;
06225   _clear_bit(36);
06226 }
06227 inline ::google::protobuf::int32 Unit::ordertimer() const {
06228   return ordertimer_;
06229 }
06230 inline void Unit::set_ordertimer(::google::protobuf::int32 value) {
06231   _set_bit(36);
06232   ordertimer_ = value;
06233 }
06234 
06235 // required int32 secondaryOrder = 38;
06236 inline bool Unit::has_secondaryorder() const {
06237   return _has_bit(37);
06238 }
06239 inline void Unit::clear_secondaryorder() {
06240   secondaryorder_ = 0;
06241   _clear_bit(37);
06242 }
06243 inline ::google::protobuf::int32 Unit::secondaryorder() const {
06244   return secondaryorder_;
06245 }
06246 inline void Unit::set_secondaryorder(::google::protobuf::int32 value) {
06247   _set_bit(37);
06248   secondaryorder_ = value;
06249 }
06250 
06251 // optional .messages.UnitId buildUnit = 39;
06252 inline bool Unit::has_buildunit() const {
06253   return _has_bit(38);
06254 }
06255 inline void Unit::clear_buildunit() {
06256   if (buildunit_ != NULL) buildunit_->::messages::UnitId::Clear();
06257   _clear_bit(38);
06258 }
06259 inline const ::messages::UnitId& Unit::buildunit() const {
06260   return buildunit_ != NULL ? *buildunit_ : *default_instance_->buildunit_;
06261 }
06262 inline ::messages::UnitId* Unit::mutable_buildunit() {
06263   _set_bit(38);
06264   if (buildunit_ == NULL) buildunit_ = new ::messages::UnitId;
06265   return buildunit_;
06266 }
06267 
06268 // required int32 remainingBuildTime = 40;
06269 inline bool Unit::has_remainingbuildtime() const {
06270   return _has_bit(39);
06271 }
06272 inline void Unit::clear_remainingbuildtime() {
06273   remainingbuildtime_ = 0;
06274   _clear_bit(39);
06275 }
06276 inline ::google::protobuf::int32 Unit::remainingbuildtime() const {
06277   return remainingbuildtime_;
06278 }
06279 inline void Unit::set_remainingbuildtime(::google::protobuf::int32 value) {
06280   _set_bit(39);
06281   remainingbuildtime_ = value;
06282 }
06283 
06284 // required int32 remainingTrainTime = 41;
06285 inline bool Unit::has_remainingtraintime() const {
06286   return _has_bit(40);
06287 }
06288 inline void Unit::clear_remainingtraintime() {
06289   remainingtraintime_ = 0;
06290   _clear_bit(40);
06291 }
06292 inline ::google::protobuf::int32 Unit::remainingtraintime() const {
06293   return remainingtraintime_;
06294 }
06295 inline void Unit::set_remainingtraintime(::google::protobuf::int32 value) {
06296   _set_bit(40);
06297   remainingtraintime_ = value;
06298 }
06299 
06300 // repeated .messages.UnitType trainingQueue = 43;
06301 inline int Unit::trainingqueue_size() const {
06302   return trainingqueue_.size();
06303 }
06304 inline void Unit::clear_trainingqueue() {
06305   trainingqueue_.Clear();
06306 }
06307 inline const ::messages::UnitType& Unit::trainingqueue(int index) const {
06308   return trainingqueue_.Get(index);
06309 }
06310 inline ::messages::UnitType* Unit::mutable_trainingqueue(int index) {
06311   return trainingqueue_.Mutable(index);
06312 }
06313 inline ::messages::UnitType* Unit::add_trainingqueue() {
06314   return trainingqueue_.Add();
06315 }
06316 inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitType >&
06317 Unit::trainingqueue() const {
06318   return trainingqueue_;
06319 }
06320 inline ::google::protobuf::RepeatedPtrField< ::messages::UnitType >*
06321 Unit::mutable_trainingqueue() {
06322   return &trainingqueue_;
06323 }
06324 
06325 // optional .messages.UnitId transport = 44;
06326 inline bool Unit::has_transport() const {
06327   return _has_bit(42);
06328 }
06329 inline void Unit::clear_transport() {
06330   if (transport_ != NULL) transport_->::messages::UnitId::Clear();
06331   _clear_bit(42);
06332 }
06333 inline const ::messages::UnitId& Unit::transport() const {
06334   return transport_ != NULL ? *transport_ : *default_instance_->transport_;
06335 }
06336 inline ::messages::UnitId* Unit::mutable_transport() {
06337   _set_bit(42);
06338   if (transport_ == NULL) transport_ = new ::messages::UnitId;
06339   return transport_;
06340 }
06341 
06342 // repeated .messages.UnitId loadedUnits = 45;
06343 inline int Unit::loadedunits_size() const {
06344   return loadedunits_.size();
06345 }
06346 inline void Unit::clear_loadedunits() {
06347   loadedunits_.Clear();
06348 }
06349 inline const ::messages::UnitId& Unit::loadedunits(int index) const {
06350   return loadedunits_.Get(index);
06351 }
06352 inline ::messages::UnitId* Unit::mutable_loadedunits(int index) {
06353   return loadedunits_.Mutable(index);
06354 }
06355 inline ::messages::UnitId* Unit::add_loadedunits() {
06356   return loadedunits_.Add();
06357 }
06358 inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitId >&
06359 Unit::loadedunits() const {
06360   return loadedunits_;
06361 }
06362 inline ::google::protobuf::RepeatedPtrField< ::messages::UnitId >*
06363 Unit::mutable_loadedunits() {
06364   return &loadedunits_;
06365 }
06366 
06367 // required int32 interceptorCount = 46;
06368 inline bool Unit::has_interceptorcount() const {
06369   return _has_bit(44);
06370 }
06371 inline void Unit::clear_interceptorcount() {
06372   interceptorcount_ = 0;
06373   _clear_bit(44);
06374 }
06375 inline ::google::protobuf::int32 Unit::interceptorcount() const {
06376   return interceptorcount_;
06377 }
06378 inline void Unit::set_interceptorcount(::google::protobuf::int32 value) {
06379   _set_bit(44);
06380   interceptorcount_ = value;
06381 }
06382 
06383 // required int32 scarabCount = 47;
06384 inline bool Unit::has_scarabcount() const {
06385   return _has_bit(45);
06386 }
06387 inline void Unit::clear_scarabcount() {
06388   scarabcount_ = 0;
06389   _clear_bit(45);
06390 }
06391 inline ::google::protobuf::int32 Unit::scarabcount() const {
06392   return scarabcount_;
06393 }
06394 inline void Unit::set_scarabcount(::google::protobuf::int32 value) {
06395   _set_bit(45);
06396   scarabcount_ = value;
06397 }
06398 
06399 // required int32 spiderMineCount = 48;
06400 inline bool Unit::has_spiderminecount() const {
06401   return _has_bit(46);
06402 }
06403 inline void Unit::clear_spiderminecount() {
06404   spiderminecount_ = 0;
06405   _clear_bit(46);
06406 }
06407 inline ::google::protobuf::int32 Unit::spiderminecount() const {
06408   return spiderminecount_;
06409 }
06410 inline void Unit::set_spiderminecount(::google::protobuf::int32 value) {
06411   _set_bit(46);
06412   spiderminecount_ = value;
06413 }
06414 
06415 // required int32 tech = 49;
06416 inline bool Unit::has_tech() const {
06417   return _has_bit(47);
06418 }
06419 inline void Unit::clear_tech() {
06420   tech_ = 0;
06421   _clear_bit(47);
06422 }
06423 inline ::google::protobuf::int32 Unit::tech() const {
06424   return tech_;
06425 }
06426 inline void Unit::set_tech(::google::protobuf::int32 value) {
06427   _set_bit(47);
06428   tech_ = value;
06429 }
06430 
06431 // required int32 upgrade = 50;
06432 inline bool Unit::has_upgrade() const {
06433   return _has_bit(48);
06434 }
06435 inline void Unit::clear_upgrade() {
06436   upgrade_ = 0;
06437   _clear_bit(48);
06438 }
06439 inline ::google::protobuf::int32 Unit::upgrade() const {
06440   return upgrade_;
06441 }
06442 inline void Unit::set_upgrade(::google::protobuf::int32 value) {
06443   _set_bit(48);
06444   upgrade_ = value;
06445 }
06446 
06447 // required int32 remainingResearchTime = 51;
06448 inline bool Unit::has_remainingresearchtime() const {
06449   return _has_bit(49);
06450 }
06451 inline void Unit::clear_remainingresearchtime() {
06452   remainingresearchtime_ = 0;
06453   _clear_bit(49);
06454 }
06455 inline ::google::protobuf::int32 Unit::remainingresearchtime() const {
06456   return remainingresearchtime_;
06457 }
06458 inline void Unit::set_remainingresearchtime(::google::protobuf::int32 value) {
06459   _set_bit(49);
06460   remainingresearchtime_ = value;
06461 }
06462 
06463 // required int32 remainingUpgradeTime = 52;
06464 inline bool Unit::has_remainingupgradetime() const {
06465   return _has_bit(50);
06466 }
06467 inline void Unit::clear_remainingupgradetime() {
06468   remainingupgradetime_ = 0;
06469   _clear_bit(50);
06470 }
06471 inline ::google::protobuf::int32 Unit::remainingupgradetime() const {
06472   return remainingupgradetime_;
06473 }
06474 inline void Unit::set_remainingupgradetime(::google::protobuf::int32 value) {
06475   _set_bit(50);
06476   remainingupgradetime_ = value;
06477 }
06478 
06479 // required .messages.Position rallyPosition = 53;
06480 inline bool Unit::has_rallyposition() const {
06481   return _has_bit(51);
06482 }
06483 inline void Unit::clear_rallyposition() {
06484   if (rallyposition_ != NULL) rallyposition_->::messages::Position::Clear();
06485   _clear_bit(51);
06486 }
06487 inline const ::messages::Position& Unit::rallyposition() const {
06488   return rallyposition_ != NULL ? *rallyposition_ : *default_instance_->rallyposition_;
06489 }
06490 inline ::messages::Position* Unit::mutable_rallyposition() {
06491   _set_bit(51);
06492   if (rallyposition_ == NULL) rallyposition_ = new ::messages::Position;
06493   return rallyposition_;
06494 }
06495 
06496 // optional .messages.UnitId rallyUnit = 54;
06497 inline bool Unit::has_rallyunit() const {
06498   return _has_bit(52);
06499 }
06500 inline void Unit::clear_rallyunit() {
06501   if (rallyunit_ != NULL) rallyunit_->::messages::UnitId::Clear();
06502   _clear_bit(52);
06503 }
06504 inline const ::messages::UnitId& Unit::rallyunit() const {
06505   return rallyunit_ != NULL ? *rallyunit_ : *default_instance_->rallyunit_;
06506 }
06507 inline ::messages::UnitId* Unit::mutable_rallyunit() {
06508   _set_bit(52);
06509   if (rallyunit_ == NULL) rallyunit_ = new ::messages::UnitId;
06510   return rallyunit_;
06511 }
06512 
06513 // optional .messages.UnitId addon = 55;
06514 inline bool Unit::has_addon() const {
06515   return _has_bit(53);
06516 }
06517 inline void Unit::clear_addon() {
06518   if (addon_ != NULL) addon_->::messages::UnitId::Clear();
06519   _clear_bit(53);
06520 }
06521 inline const ::messages::UnitId& Unit::addon() const {
06522   return addon_ != NULL ? *addon_ : *default_instance_->addon_;
06523 }
06524 inline ::messages::UnitId* Unit::mutable_addon() {
06525   _set_bit(53);
06526   if (addon_ == NULL) addon_ = new ::messages::UnitId;
06527   return addon_;
06528 }
06529 
06530 // optional .messages.UnitId carrier = 42;
06531 inline bool Unit::has_carrier() const {
06532   return _has_bit(54);
06533 }
06534 inline void Unit::clear_carrier() {
06535   if (carrier_ != NULL) carrier_->::messages::UnitId::Clear();
06536   _clear_bit(54);
06537 }
06538 inline const ::messages::UnitId& Unit::carrier() const {
06539   return carrier_ != NULL ? *carrier_ : *default_instance_->carrier_;
06540 }
06541 inline ::messages::UnitId* Unit::mutable_carrier() {
06542   _set_bit(54);
06543   if (carrier_ == NULL) carrier_ = new ::messages::UnitId;
06544   return carrier_;
06545 }
06546 
06547 // repeated .messages.UnitId interceptors = 101;
06548 inline int Unit::interceptors_size() const {
06549   return interceptors_.size();
06550 }
06551 inline void Unit::clear_interceptors() {
06552   interceptors_.Clear();
06553 }
06554 inline const ::messages::UnitId& Unit::interceptors(int index) const {
06555   return interceptors_.Get(index);
06556 }
06557 inline ::messages::UnitId* Unit::mutable_interceptors(int index) {
06558   return interceptors_.Mutable(index);
06559 }
06560 inline ::messages::UnitId* Unit::add_interceptors() {
06561   return interceptors_.Add();
06562 }
06563 inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitId >&
06564 Unit::interceptors() const {
06565   return interceptors_;
06566 }
06567 inline ::google::protobuf::RepeatedPtrField< ::messages::UnitId >*
06568 Unit::mutable_interceptors() {
06569   return &interceptors_;
06570 }
06571 
06572 // optional .messages.UnitId nydusExit = 105;
06573 inline bool Unit::has_nydusexit() const {
06574   return _has_bit(56);
06575 }
06576 inline void Unit::clear_nydusexit() {
06577   if (nydusexit_ != NULL) nydusexit_->::messages::UnitId::Clear();
06578   _clear_bit(56);
06579 }
06580 inline const ::messages::UnitId& Unit::nydusexit() const {
06581   return nydusexit_ != NULL ? *nydusexit_ : *default_instance_->nydusexit_;
06582 }
06583 inline ::messages::UnitId* Unit::mutable_nydusexit() {
06584   _set_bit(56);
06585   if (nydusexit_ == NULL) nydusexit_ = new ::messages::UnitId;
06586   return nydusexit_;
06587 }
06588 
06589 // required bool exists = 56;
06590 inline bool Unit::has_exists() const {
06591   return _has_bit(57);
06592 }
06593 inline void Unit::clear_exists() {
06594   exists_ = false;
06595   _clear_bit(57);
06596 }
06597 inline bool Unit::exists() const {
06598   return exists_;
06599 }
06600 inline void Unit::set_exists(bool value) {
06601   _set_bit(57);
06602   exists_ = value;
06603 }
06604 
06605 // required bool hasNuke = 100;
06606 inline bool Unit::has_hasnuke() const {
06607   return _has_bit(58);
06608 }
06609 inline void Unit::clear_hasnuke() {
06610   hasnuke_ = false;
06611   _clear_bit(58);
06612 }
06613 inline bool Unit::hasnuke() const {
06614   return hasnuke_;
06615 }
06616 inline void Unit::set_hasnuke(bool value) {
06617   _set_bit(58);
06618   hasnuke_ = value;
06619 }
06620 
06621 // required bool accelerating = 57;
06622 inline bool Unit::has_accelerating() const {
06623   return _has_bit(59);
06624 }
06625 inline void Unit::clear_accelerating() {
06626   accelerating_ = false;
06627   _clear_bit(59);
06628 }
06629 inline bool Unit::accelerating() const {
06630   return accelerating_;
06631 }
06632 inline void Unit::set_accelerating(bool value) {
06633   _set_bit(59);
06634   accelerating_ = value;
06635 }
06636 
06637 // required bool beingConstructed = 58;
06638 inline bool Unit::has_beingconstructed() const {
06639   return _has_bit(60);
06640 }
06641 inline void Unit::clear_beingconstructed() {
06642   beingconstructed_ = false;
06643   _clear_bit(60);
06644 }
06645 inline bool Unit::beingconstructed() const {
06646   return beingconstructed_;
06647 }
06648 inline void Unit::set_beingconstructed(bool value) {
06649   _set_bit(60);
06650   beingconstructed_ = value;
06651 }
06652 
06653 // required bool beingHealed = 59;
06654 inline bool Unit::has_beinghealed() const {
06655   return _has_bit(61);
06656 }
06657 inline void Unit::clear_beinghealed() {
06658   beinghealed_ = false;
06659   _clear_bit(61);
06660 }
06661 inline bool Unit::beinghealed() const {
06662   return beinghealed_;
06663 }
06664 inline void Unit::set_beinghealed(bool value) {
06665   _set_bit(61);
06666   beinghealed_ = value;
06667 }
06668 
06669 // required bool blind = 60;
06670 inline bool Unit::has_blind() const {
06671   return _has_bit(62);
06672 }
06673 inline void Unit::clear_blind() {
06674   blind_ = false;
06675   _clear_bit(62);
06676 }
06677 inline bool Unit::blind() const {
06678   return blind_;
06679 }
06680 inline void Unit::set_blind(bool value) {
06681   _set_bit(62);
06682   blind_ = value;
06683 }
06684 
06685 // required bool braking = 61;
06686 inline bool Unit::has_braking() const {
06687   return _has_bit(63);
06688 }
06689 inline void Unit::clear_braking() {
06690   braking_ = false;
06691   _clear_bit(63);
06692 }
06693 inline bool Unit::braking() const {
06694   return braking_;
06695 }
06696 inline void Unit::set_braking(bool value) {
06697   _set_bit(63);
06698   braking_ = value;
06699 }
06700 
06701 // required bool burrowed = 62;
06702 inline bool Unit::has_burrowed() const {
06703   return _has_bit(64);
06704 }
06705 inline void Unit::clear_burrowed() {
06706   burrowed_ = false;
06707   _clear_bit(64);
06708 }
06709 inline bool Unit::burrowed() const {
06710   return burrowed_;
06711 }
06712 inline void Unit::set_burrowed(bool value) {
06713   _set_bit(64);
06714   burrowed_ = value;
06715 }
06716 
06717 // required bool carryingGas = 63;
06718 inline bool Unit::has_carryinggas() const {
06719   return _has_bit(65);
06720 }
06721 inline void Unit::clear_carryinggas() {
06722   carryinggas_ = false;
06723   _clear_bit(65);
06724 }
06725 inline bool Unit::carryinggas() const {
06726   return carryinggas_;
06727 }
06728 inline void Unit::set_carryinggas(bool value) {
06729   _set_bit(65);
06730   carryinggas_ = value;
06731 }
06732 
06733 // required bool carryingMinerals = 64;
06734 inline bool Unit::has_carryingminerals() const {
06735   return _has_bit(66);
06736 }
06737 inline void Unit::clear_carryingminerals() {
06738   carryingminerals_ = false;
06739   _clear_bit(66);
06740 }
06741 inline bool Unit::carryingminerals() const {
06742   return carryingminerals_;
06743 }
06744 inline void Unit::set_carryingminerals(bool value) {
06745   _set_bit(66);
06746   carryingminerals_ = value;
06747 }
06748 
06749 // required bool cloaked = 65;
06750 inline bool Unit::has_cloaked() const {
06751   return _has_bit(67);
06752 }
06753 inline void Unit::clear_cloaked() {
06754   cloaked_ = false;
06755   _clear_bit(67);
06756 }
06757 inline bool Unit::cloaked() const {
06758   return cloaked_;
06759 }
06760 inline void Unit::set_cloaked(bool value) {
06761   _set_bit(67);
06762   cloaked_ = value;
06763 }
06764 
06765 // required bool completed = 66;
06766 inline bool Unit::has_completed() const {
06767   return _has_bit(68);
06768 }
06769 inline void Unit::clear_completed() {
06770   completed_ = false;
06771   _clear_bit(68);
06772 }
06773 inline bool Unit::completed() const {
06774   return completed_;
06775 }
06776 inline void Unit::set_completed(bool value) {
06777   _set_bit(68);
06778   completed_ = value;
06779 }
06780 
06781 // required bool constructing = 67;
06782 inline bool Unit::has_constructing() const {
06783   return _has_bit(69);
06784 }
06785 inline void Unit::clear_constructing() {
06786   constructing_ = false;
06787   _clear_bit(69);
06788 }
06789 inline bool Unit::constructing() const {
06790   return constructing_;
06791 }
06792 inline void Unit::set_constructing(bool value) {
06793   _set_bit(69);
06794   constructing_ = value;
06795 }
06796 
06797 // required bool defenseMatrixed = 68;
06798 inline bool Unit::has_defensematrixed() const {
06799   return _has_bit(70);
06800 }
06801 inline void Unit::clear_defensematrixed() {
06802   defensematrixed_ = false;
06803   _clear_bit(70);
06804 }
06805 inline bool Unit::defensematrixed() const {
06806   return defensematrixed_;
06807 }
06808 inline void Unit::set_defensematrixed(bool value) {
06809   _set_bit(70);
06810   defensematrixed_ = value;
06811 }
06812 
06813 // required bool ensnared = 69;
06814 inline bool Unit::has_ensnared() const {
06815   return _has_bit(71);
06816 }
06817 inline void Unit::clear_ensnared() {
06818   ensnared_ = false;
06819   _clear_bit(71);
06820 }
06821 inline bool Unit::ensnared() const {
06822   return ensnared_;
06823 }
06824 inline void Unit::set_ensnared(bool value) {
06825   _set_bit(71);
06826   ensnared_ = value;
06827 }
06828 
06829 // required bool following = 70;
06830 inline bool Unit::has_following() const {
06831   return _has_bit(72);
06832 }
06833 inline void Unit::clear_following() {
06834   following_ = false;
06835   _clear_bit(72);
06836 }
06837 inline bool Unit::following() const {
06838   return following_;
06839 }
06840 inline void Unit::set_following(bool value) {
06841   _set_bit(72);
06842   following_ = value;
06843 }
06844 
06845 // required bool gatheringGas = 71;
06846 inline bool Unit::has_gatheringgas() const {
06847   return _has_bit(73);
06848 }
06849 inline void Unit::clear_gatheringgas() {
06850   gatheringgas_ = false;
06851   _clear_bit(73);
06852 }
06853 inline bool Unit::gatheringgas() const {
06854   return gatheringgas_;
06855 }
06856 inline void Unit::set_gatheringgas(bool value) {
06857   _set_bit(73);
06858   gatheringgas_ = value;
06859 }
06860 
06861 // required bool gatheringMinerals = 72;
06862 inline bool Unit::has_gatheringminerals() const {
06863   return _has_bit(74);
06864 }
06865 inline void Unit::clear_gatheringminerals() {
06866   gatheringminerals_ = false;
06867   _clear_bit(74);
06868 }
06869 inline bool Unit::gatheringminerals() const {
06870   return gatheringminerals_;
06871 }
06872 inline void Unit::set_gatheringminerals(bool value) {
06873   _set_bit(74);
06874   gatheringminerals_ = value;
06875 }
06876 
06877 // required bool hallucination = 73;
06878 inline bool Unit::has_hallucination() const {
06879   return _has_bit(75);
06880 }
06881 inline void Unit::clear_hallucination() {
06882   hallucination_ = false;
06883   _clear_bit(75);
06884 }
06885 inline bool Unit::hallucination() const {
06886   return hallucination_;
06887 }
06888 inline void Unit::set_hallucination(bool value) {
06889   _set_bit(75);
06890   hallucination_ = value;
06891 }
06892 
06893 // required bool idle = 74;
06894 inline bool Unit::has_idle() const {
06895   return _has_bit(76);
06896 }
06897 inline void Unit::clear_idle() {
06898   idle_ = false;
06899   _clear_bit(76);
06900 }
06901 inline bool Unit::idle() const {
06902   return idle_;
06903 }
06904 inline void Unit::set_idle(bool value) {
06905   _set_bit(76);
06906   idle_ = value;
06907 }
06908 
06909 // required bool irradiated = 75;
06910 inline bool Unit::has_irradiated() const {
06911   return _has_bit(77);
06912 }
06913 inline void Unit::clear_irradiated() {
06914   irradiated_ = false;
06915   _clear_bit(77);
06916 }
06917 inline bool Unit::irradiated() const {
06918   return irradiated_;
06919 }
06920 inline void Unit::set_irradiated(bool value) {
06921   _set_bit(77);
06922   irradiated_ = value;
06923 }
06924 
06925 // required bool lifted = 76;
06926 inline bool Unit::has_lifted() const {
06927   return _has_bit(78);
06928 }
06929 inline void Unit::clear_lifted() {
06930   lifted_ = false;
06931   _clear_bit(78);
06932 }
06933 inline bool Unit::lifted() const {
06934   return lifted_;
06935 }
06936 inline void Unit::set_lifted(bool value) {
06937   _set_bit(78);
06938   lifted_ = value;
06939 }
06940 
06941 // required bool loaded = 77;
06942 inline bool Unit::has_loaded() const {
06943   return _has_bit(79);
06944 }
06945 inline void Unit::clear_loaded() {
06946   loaded_ = false;
06947   _clear_bit(79);
06948 }
06949 inline bool Unit::loaded() const {
06950   return loaded_;
06951 }
06952 inline void Unit::set_loaded(bool value) {
06953   _set_bit(79);
06954   loaded_ = value;
06955 }
06956 
06957 // required bool lockedDown = 78;
06958 inline bool Unit::has_lockeddown() const {
06959   return _has_bit(80);
06960 }
06961 inline void Unit::clear_lockeddown() {
06962   lockeddown_ = false;
06963   _clear_bit(80);
06964 }
06965 inline bool Unit::lockeddown() const {
06966   return lockeddown_;
06967 }
06968 inline void Unit::set_lockeddown(bool value) {
06969   _set_bit(80);
06970   lockeddown_ = value;
06971 }
06972 
06973 // required bool maelstrommed = 79;
06974 inline bool Unit::has_maelstrommed() const {
06975   return _has_bit(81);
06976 }
06977 inline void Unit::clear_maelstrommed() {
06978   maelstrommed_ = false;
06979   _clear_bit(81);
06980 }
06981 inline bool Unit::maelstrommed() const {
06982   return maelstrommed_;
06983 }
06984 inline void Unit::set_maelstrommed(bool value) {
06985   _set_bit(81);
06986   maelstrommed_ = value;
06987 }
06988 
06989 // required bool morphing = 80;
06990 inline bool Unit::has_morphing() const {
06991   return _has_bit(82);
06992 }
06993 inline void Unit::clear_morphing() {
06994   morphing_ = false;
06995   _clear_bit(82);
06996 }
06997 inline bool Unit::morphing() const {
06998   return morphing_;
06999 }
07000 inline void Unit::set_morphing(bool value) {
07001   _set_bit(82);
07002   morphing_ = value;
07003 }
07004 
07005 // required bool moving = 81;
07006 inline bool Unit::has_moving() const {
07007   return _has_bit(83);
07008 }
07009 inline void Unit::clear_moving() {
07010   moving_ = false;
07011   _clear_bit(83);
07012 }
07013 inline bool Unit::moving() const {
07014   return moving_;
07015 }
07016 inline void Unit::set_moving(bool value) {
07017   _set_bit(83);
07018   moving_ = value;
07019 }
07020 
07021 // required bool parasited = 82;
07022 inline bool Unit::has_parasited() const {
07023   return _has_bit(84);
07024 }
07025 inline void Unit::clear_parasited() {
07026   parasited_ = false;
07027   _clear_bit(84);
07028 }
07029 inline bool Unit::parasited() const {
07030   return parasited_;
07031 }
07032 inline void Unit::set_parasited(bool value) {
07033   _set_bit(84);
07034   parasited_ = value;
07035 }
07036 
07037 // required bool patrolling = 83;
07038 inline bool Unit::has_patrolling() const {
07039   return _has_bit(85);
07040 }
07041 inline void Unit::clear_patrolling() {
07042   patrolling_ = false;
07043   _clear_bit(85);
07044 }
07045 inline bool Unit::patrolling() const {
07046   return patrolling_;
07047 }
07048 inline void Unit::set_patrolling(bool value) {
07049   _set_bit(85);
07050   patrolling_ = value;
07051 }
07052 
07053 // required bool plagued = 84;
07054 inline bool Unit::has_plagued() const {
07055   return _has_bit(86);
07056 }
07057 inline void Unit::clear_plagued() {
07058   plagued_ = false;
07059   _clear_bit(86);
07060 }
07061 inline bool Unit::plagued() const {
07062   return plagued_;
07063 }
07064 inline void Unit::set_plagued(bool value) {
07065   _set_bit(86);
07066   plagued_ = value;
07067 }
07068 
07069 // required bool repairing = 85;
07070 inline bool Unit::has_repairing() const {
07071   return _has_bit(87);
07072 }
07073 inline void Unit::clear_repairing() {
07074   repairing_ = false;
07075   _clear_bit(87);
07076 }
07077 inline bool Unit::repairing() const {
07078   return repairing_;
07079 }
07080 inline void Unit::set_repairing(bool value) {
07081   _set_bit(87);
07082   repairing_ = value;
07083 }
07084 
07085 // required bool researching = 86;
07086 inline bool Unit::has_researching() const {
07087   return _has_bit(88);
07088 }
07089 inline void Unit::clear_researching() {
07090   researching_ = false;
07091   _clear_bit(88);
07092 }
07093 inline bool Unit::researching() const {
07094   return researching_;
07095 }
07096 inline void Unit::set_researching(bool value) {
07097   _set_bit(88);
07098   researching_ = value;
07099 }
07100 
07101 // required bool selected = 87;
07102 inline bool Unit::has_selected() const {
07103   return _has_bit(89);
07104 }
07105 inline void Unit::clear_selected() {
07106   selected_ = false;
07107   _clear_bit(89);
07108 }
07109 inline bool Unit::selected() const {
07110   return selected_;
07111 }
07112 inline void Unit::set_selected(bool value) {
07113   _set_bit(89);
07114   selected_ = value;
07115 }
07116 
07117 // required bool sieged = 88;
07118 inline bool Unit::has_sieged() const {
07119   return _has_bit(90);
07120 }
07121 inline void Unit::clear_sieged() {
07122   sieged_ = false;
07123   _clear_bit(90);
07124 }
07125 inline bool Unit::sieged() const {
07126   return sieged_;
07127 }
07128 inline void Unit::set_sieged(bool value) {
07129   _set_bit(90);
07130   sieged_ = value;
07131 }
07132 
07133 // required bool startingAttack = 89;
07134 inline bool Unit::has_startingattack() const {
07135   return _has_bit(91);
07136 }
07137 inline void Unit::clear_startingattack() {
07138   startingattack_ = false;
07139   _clear_bit(91);
07140 }
07141 inline bool Unit::startingattack() const {
07142   return startingattack_;
07143 }
07144 inline void Unit::set_startingattack(bool value) {
07145   _set_bit(91);
07146   startingattack_ = value;
07147 }
07148 
07149 // required bool stasised = 90;
07150 inline bool Unit::has_stasised() const {
07151   return _has_bit(92);
07152 }
07153 inline void Unit::clear_stasised() {
07154   stasised_ = false;
07155   _clear_bit(92);
07156 }
07157 inline bool Unit::stasised() const {
07158   return stasised_;
07159 }
07160 inline void Unit::set_stasised(bool value) {
07161   _set_bit(92);
07162   stasised_ = value;
07163 }
07164 
07165 // required bool stimmed = 91;
07166 inline bool Unit::has_stimmed() const {
07167   return _has_bit(93);
07168 }
07169 inline void Unit::clear_stimmed() {
07170   stimmed_ = false;
07171   _clear_bit(93);
07172 }
07173 inline bool Unit::stimmed() const {
07174   return stimmed_;
07175 }
07176 inline void Unit::set_stimmed(bool value) {
07177   _set_bit(93);
07178   stimmed_ = value;
07179 }
07180 
07181 // required bool training = 92;
07182 inline bool Unit::has_training() const {
07183   return _has_bit(94);
07184 }
07185 inline void Unit::clear_training() {
07186   training_ = false;
07187   _clear_bit(94);
07188 }
07189 inline bool Unit::training() const {
07190   return training_;
07191 }
07192 inline void Unit::set_training(bool value) {
07193   _set_bit(94);
07194   training_ = value;
07195 }
07196 
07197 // required bool underStorm = 93;
07198 inline bool Unit::has_understorm() const {
07199   return _has_bit(95);
07200 }
07201 inline void Unit::clear_understorm() {
07202   understorm_ = false;
07203   _clear_bit(95);
07204 }
07205 inline bool Unit::understorm() const {
07206   return understorm_;
07207 }
07208 inline void Unit::set_understorm(bool value) {
07209   _set_bit(95);
07210   understorm_ = value;
07211 }
07212 
07213 // required bool underAttack = 111;
07214 inline bool Unit::has_underattack() const {
07215   return _has_bit(96);
07216 }
07217 inline void Unit::clear_underattack() {
07218   underattack_ = false;
07219   _clear_bit(96);
07220 }
07221 inline bool Unit::underattack() const {
07222   return underattack_;
07223 }
07224 inline void Unit::set_underattack(bool value) {
07225   _set_bit(96);
07226   underattack_ = value;
07227 }
07228 
07229 // required bool underDarkSwarm = 112;
07230 inline bool Unit::has_underdarkswarm() const {
07231   return _has_bit(97);
07232 }
07233 inline void Unit::clear_underdarkswarm() {
07234   underdarkswarm_ = false;
07235   _clear_bit(97);
07236 }
07237 inline bool Unit::underdarkswarm() const {
07238   return underdarkswarm_;
07239 }
07240 inline void Unit::set_underdarkswarm(bool value) {
07241   _set_bit(97);
07242   underdarkswarm_ = value;
07243 }
07244 
07245 // required bool unpowered = 94;
07246 inline bool Unit::has_unpowered() const {
07247   return _has_bit(98);
07248 }
07249 inline void Unit::clear_unpowered() {
07250   unpowered_ = false;
07251   _clear_bit(98);
07252 }
07253 inline bool Unit::unpowered() const {
07254   return unpowered_;
07255 }
07256 inline void Unit::set_unpowered(bool value) {
07257   _set_bit(98);
07258   unpowered_ = value;
07259 }
07260 
07261 // required bool upgrading = 95;
07262 inline bool Unit::has_upgrading() const {
07263   return _has_bit(99);
07264 }
07265 inline void Unit::clear_upgrading() {
07266   upgrading_ = false;
07267   _clear_bit(99);
07268 }
07269 inline bool Unit::upgrading() const {
07270   return upgrading_;
07271 }
07272 inline void Unit::set_upgrading(bool value) {
07273   _set_bit(99);
07274   upgrading_ = value;
07275 }
07276 
07277 // required bool visible = 96;
07278 inline bool Unit::has_visible() const {
07279   return _has_bit(100);
07280 }
07281 inline void Unit::clear_visible() {
07282   visible_ = false;
07283   _clear_bit(100);
07284 }
07285 inline bool Unit::visible() const {
07286   return visible_;
07287 }
07288 inline void Unit::set_visible(bool value) {
07289   _set_bit(100);
07290   visible_ = value;
07291 }
07292 
07293 // required bool beingGathered = 97;
07294 inline bool Unit::has_beinggathered() const {
07295   return _has_bit(101);
07296 }
07297 inline void Unit::clear_beinggathered() {
07298   beinggathered_ = false;
07299   _clear_bit(101);
07300 }
07301 inline bool Unit::beinggathered() const {
07302   return beinggathered_;
07303 }
07304 inline void Unit::set_beinggathered(bool value) {
07305   _set_bit(101);
07306   beinggathered_ = value;
07307 }
07308 
07309 // repeated .messages.UnitId larvae = 99;
07310 inline int Unit::larvae_size() const {
07311   return larvae_.size();
07312 }
07313 inline void Unit::clear_larvae() {
07314   larvae_.Clear();
07315 }
07316 inline const ::messages::UnitId& Unit::larvae(int index) const {
07317   return larvae_.Get(index);
07318 }
07319 inline ::messages::UnitId* Unit::mutable_larvae(int index) {
07320   return larvae_.Mutable(index);
07321 }
07322 inline ::messages::UnitId* Unit::add_larvae() {
07323   return larvae_.Add();
07324 }
07325 inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitId >&
07326 Unit::larvae() const {
07327   return larvae_;
07328 }
07329 inline ::google::protobuf::RepeatedPtrField< ::messages::UnitId >*
07330 Unit::mutable_larvae() {
07331   return &larvae_;
07332 }
07333 
07334 // optional .messages.UnitId hatchery = 104;
07335 inline bool Unit::has_hatchery() const {
07336   return _has_bit(103);
07337 }
07338 inline void Unit::clear_hatchery() {
07339   if (hatchery_ != NULL) hatchery_->::messages::UnitId::Clear();
07340   _clear_bit(103);
07341 }
07342 inline const ::messages::UnitId& Unit::hatchery() const {
07343   return hatchery_ != NULL ? *hatchery_ : *default_instance_->hatchery_;
07344 }
07345 inline ::messages::UnitId* Unit::mutable_hatchery() {
07346   _set_bit(103);
07347   if (hatchery_ == NULL) hatchery_ = new ::messages::UnitId;
07348   return hatchery_;
07349 }
07350 
07351 // optional .messages.UnitType buildType = 110;
07352 inline bool Unit::has_buildtype() const {
07353   return _has_bit(104);
07354 }
07355 inline void Unit::clear_buildtype() {
07356   if (buildtype_ != NULL) buildtype_->::messages::UnitType::Clear();
07357   _clear_bit(104);
07358 }
07359 inline const ::messages::UnitType& Unit::buildtype() const {
07360   return buildtype_ != NULL ? *buildtype_ : *default_instance_->buildtype_;
07361 }
07362 inline ::messages::UnitType* Unit::mutable_buildtype() {
07363   _set_bit(104);
07364   if (buildtype_ == NULL) buildtype_ = new ::messages::UnitType;
07365   return buildtype_;
07366 }
07367 
07368 // required bool detected = 106;
07369 inline bool Unit::has_detected() const {
07370   return _has_bit(105);
07371 }
07372 inline void Unit::clear_detected() {
07373   detected_ = false;
07374   _clear_bit(105);
07375 }
07376 inline bool Unit::detected() const {
07377   return detected_;
07378 }
07379 inline void Unit::set_detected(bool value) {
07380   _set_bit(105);
07381   detected_ = value;
07382 }
07383 
07384 // required bool attacking = 107;
07385 inline bool Unit::has_attacking() const {
07386   return _has_bit(106);
07387 }
07388 inline void Unit::clear_attacking() {
07389   attacking_ = false;
07390   _clear_bit(106);
07391 }
07392 inline bool Unit::attacking() const {
07393   return attacking_;
07394 }
07395 inline void Unit::set_attacking(bool value) {
07396   _set_bit(106);
07397   attacking_ = value;
07398 }
07399 
07400 // required bool attackFrame = 108;
07401 inline bool Unit::has_attackframe() const {
07402   return _has_bit(107);
07403 }
07404 inline void Unit::clear_attackframe() {
07405   attackframe_ = false;
07406   _clear_bit(107);
07407 }
07408 inline bool Unit::attackframe() const {
07409   return attackframe_;
07410 }
07411 inline void Unit::set_attackframe(bool value) {
07412   _set_bit(107);
07413   attackframe_ = value;
07414 }
07415 
07416 // required bool stuck = 109;
07417 inline bool Unit::has_stuck() const {
07418   return _has_bit(108);
07419 }
07420 inline void Unit::clear_stuck() {
07421   stuck_ = false;
07422   _clear_bit(108);
07423 }
07424 inline bool Unit::stuck() const {
07425   return stuck_;
07426 }
07427 inline void Unit::set_stuck(bool value) {
07428   _set_bit(108);
07429   stuck_ = value;
07430 }
07431 
07432 // -------------------------------------------------------------------
07433 
07434 // RaceData
07435 
07436 // required .messages.Race id = 1;
07437 inline bool RaceData::has_id() const {
07438   return _has_bit(0);
07439 }
07440 inline void RaceData::clear_id() {
07441   id_ = 0;
07442   _clear_bit(0);
07443 }
07444 inline messages::Race RaceData::id() const {
07445   return static_cast< messages::Race >(id_);
07446 }
07447 inline void RaceData::set_id(messages::Race value) {
07448   GOOGLE_DCHECK(messages::Race_IsValid(value));
07449   _set_bit(0);
07450   id_ = value;
07451 }
07452 
07453 // required string name = 2;
07454 inline bool RaceData::has_name() const {
07455   return _has_bit(1);
07456 }
07457 inline void RaceData::clear_name() {
07458   if (name_ != &_default_name_) {
07459     name_->clear();
07460   }
07461   _clear_bit(1);
07462 }
07463 inline const ::std::string& RaceData::name() const {
07464   return *name_;
07465 }
07466 inline void RaceData::set_name(const ::std::string& value) {
07467   _set_bit(1);
07468   if (name_ == &_default_name_) {
07469     name_ = new ::std::string;
07470   }
07471   name_->assign(value);
07472 }
07473 inline void RaceData::set_name(const char* value) {
07474   _set_bit(1);
07475   if (name_ == &_default_name_) {
07476     name_ = new ::std::string;
07477   }
07478   name_->assign(value);
07479 }
07480 inline void RaceData::set_name(const char* value, size_t size) {
07481   _set_bit(1);
07482   if (name_ == &_default_name_) {
07483     name_ = new ::std::string;
07484   }
07485   name_->assign(reinterpret_cast<const char*>(value), size);
07486 }
07487 inline ::std::string* RaceData::mutable_name() {
07488   _set_bit(1);
07489   if (name_ == &_default_name_) {
07490     name_ = new ::std::string;
07491   }
07492   return name_;
07493 }
07494 
07495 // required .messages.UnitType worker = 3;
07496 inline bool RaceData::has_worker() const {
07497   return _has_bit(2);
07498 }
07499 inline void RaceData::clear_worker() {
07500   if (worker_ != NULL) worker_->::messages::UnitType::Clear();
07501   _clear_bit(2);
07502 }
07503 inline const ::messages::UnitType& RaceData::worker() const {
07504   return worker_ != NULL ? *worker_ : *default_instance_->worker_;
07505 }
07506 inline ::messages::UnitType* RaceData::mutable_worker() {
07507   _set_bit(2);
07508   if (worker_ == NULL) worker_ = new ::messages::UnitType;
07509   return worker_;
07510 }
07511 
07512 // required .messages.UnitType center = 4;
07513 inline bool RaceData::has_center() const {
07514   return _has_bit(3);
07515 }
07516 inline void RaceData::clear_center() {
07517   if (center_ != NULL) center_->::messages::UnitType::Clear();
07518   _clear_bit(3);
07519 }
07520 inline const ::messages::UnitType& RaceData::center() const {
07521   return center_ != NULL ? *center_ : *default_instance_->center_;
07522 }
07523 inline ::messages::UnitType* RaceData::mutable_center() {
07524   _set_bit(3);
07525   if (center_ == NULL) center_ = new ::messages::UnitType;
07526   return center_;
07527 }
07528 
07529 // required .messages.UnitType refinery = 5;
07530 inline bool RaceData::has_refinery() const {
07531   return _has_bit(4);
07532 }
07533 inline void RaceData::clear_refinery() {
07534   if (refinery_ != NULL) refinery_->::messages::UnitType::Clear();
07535   _clear_bit(4);
07536 }
07537 inline const ::messages::UnitType& RaceData::refinery() const {
07538   return refinery_ != NULL ? *refinery_ : *default_instance_->refinery_;
07539 }
07540 inline ::messages::UnitType* RaceData::mutable_refinery() {
07541   _set_bit(4);
07542   if (refinery_ == NULL) refinery_ = new ::messages::UnitType;
07543   return refinery_;
07544 }
07545 
07546 // required .messages.UnitType transport = 6;
07547 inline bool RaceData::has_transport() const {
07548   return _has_bit(5);
07549 }
07550 inline void RaceData::clear_transport() {
07551   if (transport_ != NULL) transport_->::messages::UnitType::Clear();
07552   _clear_bit(5);
07553 }
07554 inline const ::messages::UnitType& RaceData::transport() const {
07555   return transport_ != NULL ? *transport_ : *default_instance_->transport_;
07556 }
07557 inline ::messages::UnitType* RaceData::mutable_transport() {
07558   _set_bit(5);
07559   if (transport_ == NULL) transport_ = new ::messages::UnitType;
07560   return transport_;
07561 }
07562 
07563 // required .messages.UnitType supplyProvider = 7;
07564 inline bool RaceData::has_supplyprovider() const {
07565   return _has_bit(6);
07566 }
07567 inline void RaceData::clear_supplyprovider() {
07568   if (supplyprovider_ != NULL) supplyprovider_->::messages::UnitType::Clear();
07569   _clear_bit(6);
07570 }
07571 inline const ::messages::UnitType& RaceData::supplyprovider() const {
07572   return supplyprovider_ != NULL ? *supplyprovider_ : *default_instance_->supplyprovider_;
07573 }
07574 inline ::messages::UnitType* RaceData::mutable_supplyprovider() {
07575   _set_bit(6);
07576   if (supplyprovider_ == NULL) supplyprovider_ = new ::messages::UnitType;
07577   return supplyprovider_;
07578 }
07579 
07580 // -------------------------------------------------------------------
07581 
07582 // PlayerStatus
07583 
07584 // required int32 id = 1;
07585 inline bool PlayerStatus::has_id() const {
07586   return _has_bit(0);
07587 }
07588 inline void PlayerStatus::clear_id() {
07589   id_ = 0;
07590   _clear_bit(0);
07591 }
07592 inline ::google::protobuf::int32 PlayerStatus::id() const {
07593   return id_;
07594 }
07595 inline void PlayerStatus::set_id(::google::protobuf::int32 value) {
07596   _set_bit(0);
07597   id_ = value;
07598 }
07599 
07600 // required .messages.PlayerStance stance = 2;
07601 inline bool PlayerStatus::has_stance() const {
07602   return _has_bit(1);
07603 }
07604 inline void PlayerStatus::clear_stance() {
07605   stance_ = 1;
07606   _clear_bit(1);
07607 }
07608 inline messages::PlayerStance PlayerStatus::stance() const {
07609   return static_cast< messages::PlayerStance >(stance_);
07610 }
07611 inline void PlayerStatus::set_stance(messages::PlayerStance value) {
07612   GOOGLE_DCHECK(messages::PlayerStance_IsValid(value));
07613   _set_bit(1);
07614   stance_ = value;
07615 }
07616 
07617 // required int32 ownerId = 3;
07618 inline bool PlayerStatus::has_ownerid() const {
07619   return _has_bit(2);
07620 }
07621 inline void PlayerStatus::clear_ownerid() {
07622   ownerid_ = 0;
07623   _clear_bit(2);
07624 }
07625 inline ::google::protobuf::int32 PlayerStatus::ownerid() const {
07626   return ownerid_;
07627 }
07628 inline void PlayerStatus::set_ownerid(::google::protobuf::int32 value) {
07629   _set_bit(2);
07630   ownerid_ = value;
07631 }
07632 
07633 // -------------------------------------------------------------------
07634 
07635 // UnitTypeIntPair
07636 
07637 // required .messages.UnitType type = 1;
07638 inline bool UnitTypeIntPair::has_type() const {
07639   return _has_bit(0);
07640 }
07641 inline void UnitTypeIntPair::clear_type() {
07642   if (type_ != NULL) type_->::messages::UnitType::Clear();
07643   _clear_bit(0);
07644 }
07645 inline const ::messages::UnitType& UnitTypeIntPair::type() const {
07646   return type_ != NULL ? *type_ : *default_instance_->type_;
07647 }
07648 inline ::messages::UnitType* UnitTypeIntPair::mutable_type() {
07649   _set_bit(0);
07650   if (type_ == NULL) type_ = new ::messages::UnitType;
07651   return type_;
07652 }
07653 
07654 // required int32 count = 2;
07655 inline bool UnitTypeIntPair::has_count() const {
07656   return _has_bit(1);
07657 }
07658 inline void UnitTypeIntPair::clear_count() {
07659   count_ = 0;
07660   _clear_bit(1);
07661 }
07662 inline ::google::protobuf::int32 UnitTypeIntPair::count() const {
07663   return count_;
07664 }
07665 inline void UnitTypeIntPair::set_count(::google::protobuf::int32 value) {
07666   _set_bit(1);
07667   count_ = value;
07668 }
07669 
07670 // -------------------------------------------------------------------
07671 
07672 // Player
07673 
07674 // required int32 id = 1;
07675 inline bool Player::has_id() const {
07676   return _has_bit(0);
07677 }
07678 inline void Player::clear_id() {
07679   id_ = 0;
07680   _clear_bit(0);
07681 }
07682 inline ::google::protobuf::int32 Player::id() const {
07683   return id_;
07684 }
07685 inline void Player::set_id(::google::protobuf::int32 value) {
07686   _set_bit(0);
07687   id_ = value;
07688 }
07689 
07690 // required string name = 2;
07691 inline bool Player::has_name() const {
07692   return _has_bit(1);
07693 }
07694 inline void Player::clear_name() {
07695   if (name_ != &_default_name_) {
07696     name_->clear();
07697   }
07698   _clear_bit(1);
07699 }
07700 inline const ::std::string& Player::name() const {
07701   return *name_;
07702 }
07703 inline void Player::set_name(const ::std::string& value) {
07704   _set_bit(1);
07705   if (name_ == &_default_name_) {
07706     name_ = new ::std::string;
07707   }
07708   name_->assign(value);
07709 }
07710 inline void Player::set_name(const char* value) {
07711   _set_bit(1);
07712   if (name_ == &_default_name_) {
07713     name_ = new ::std::string;
07714   }
07715   name_->assign(value);
07716 }
07717 inline void Player::set_name(const char* value, size_t size) {
07718   _set_bit(1);
07719   if (name_ == &_default_name_) {
07720     name_ = new ::std::string;
07721   }
07722   name_->assign(reinterpret_cast<const char*>(value), size);
07723 }
07724 inline ::std::string* Player::mutable_name() {
07725   _set_bit(1);
07726   if (name_ == &_default_name_) {
07727     name_ = new ::std::string;
07728   }
07729   return name_;
07730 }
07731 
07732 // repeated .messages.UnitId units = 3;
07733 inline int Player::units_size() const {
07734   return units_.size();
07735 }
07736 inline void Player::clear_units() {
07737   units_.Clear();
07738 }
07739 inline const ::messages::UnitId& Player::units(int index) const {
07740   return units_.Get(index);
07741 }
07742 inline ::messages::UnitId* Player::mutable_units(int index) {
07743   return units_.Mutable(index);
07744 }
07745 inline ::messages::UnitId* Player::add_units() {
07746   return units_.Add();
07747 }
07748 inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitId >&
07749 Player::units() const {
07750   return units_;
07751 }
07752 inline ::google::protobuf::RepeatedPtrField< ::messages::UnitId >*
07753 Player::mutable_units() {
07754   return &units_;
07755 }
07756 
07757 // required .messages.Race race = 4;
07758 inline bool Player::has_race() const {
07759   return _has_bit(3);
07760 }
07761 inline void Player::clear_race() {
07762   race_ = 0;
07763   _clear_bit(3);
07764 }
07765 inline messages::Race Player::race() const {
07766   return static_cast< messages::Race >(race_);
07767 }
07768 inline void Player::set_race(messages::Race value) {
07769   GOOGLE_DCHECK(messages::Race_IsValid(value));
07770   _set_bit(3);
07771   race_ = value;
07772 }
07773 
07774 // repeated .messages.PlayerStatus stances = 5;
07775 inline int Player::stances_size() const {
07776   return stances_.size();
07777 }
07778 inline void Player::clear_stances() {
07779   stances_.Clear();
07780 }
07781 inline const ::messages::PlayerStatus& Player::stances(int index) const {
07782   return stances_.Get(index);
07783 }
07784 inline ::messages::PlayerStatus* Player::mutable_stances(int index) {
07785   return stances_.Mutable(index);
07786 }
07787 inline ::messages::PlayerStatus* Player::add_stances() {
07788   return stances_.Add();
07789 }
07790 inline const ::google::protobuf::RepeatedPtrField< ::messages::PlayerStatus >&
07791 Player::stances() const {
07792   return stances_;
07793 }
07794 inline ::google::protobuf::RepeatedPtrField< ::messages::PlayerStatus >*
07795 Player::mutable_stances() {
07796   return &stances_;
07797 }
07798 
07799 // required bool neutral = 6;
07800 inline bool Player::has_neutral() const {
07801   return _has_bit(5);
07802 }
07803 inline void Player::clear_neutral() {
07804   neutral_ = false;
07805   _clear_bit(5);
07806 }
07807 inline bool Player::neutral() const {
07808   return neutral_;
07809 }
07810 inline void Player::set_neutral(bool value) {
07811   _set_bit(5);
07812   neutral_ = value;
07813 }
07814 
07815 // required .messages.TilePosition startLocation = 7;
07816 inline bool Player::has_startlocation() const {
07817   return _has_bit(6);
07818 }
07819 inline void Player::clear_startlocation() {
07820   if (startlocation_ != NULL) startlocation_->::messages::TilePosition::Clear();
07821   _clear_bit(6);
07822 }
07823 inline const ::messages::TilePosition& Player::startlocation() const {
07824   return startlocation_ != NULL ? *startlocation_ : *default_instance_->startlocation_;
07825 }
07826 inline ::messages::TilePosition* Player::mutable_startlocation() {
07827   _set_bit(6);
07828   if (startlocation_ == NULL) startlocation_ = new ::messages::TilePosition;
07829   return startlocation_;
07830 }
07831 
07832 // required bool leftGame = 8;
07833 inline bool Player::has_leftgame() const {
07834   return _has_bit(7);
07835 }
07836 inline void Player::clear_leftgame() {
07837   leftgame_ = false;
07838   _clear_bit(7);
07839 }
07840 inline bool Player::leftgame() const {
07841   return leftgame_;
07842 }
07843 inline void Player::set_leftgame(bool value) {
07844   _set_bit(7);
07845   leftgame_ = value;
07846 }
07847 
07848 // required int32 minerals = 9;
07849 inline bool Player::has_minerals() const {
07850   return _has_bit(8);
07851 }
07852 inline void Player::clear_minerals() {
07853   minerals_ = 0;
07854   _clear_bit(8);
07855 }
07856 inline ::google::protobuf::int32 Player::minerals() const {
07857   return minerals_;
07858 }
07859 inline void Player::set_minerals(::google::protobuf::int32 value) {
07860   _set_bit(8);
07861   minerals_ = value;
07862 }
07863 
07864 // required int32 gas = 10;
07865 inline bool Player::has_gas() const {
07866   return _has_bit(9);
07867 }
07868 inline void Player::clear_gas() {
07869   gas_ = 0;
07870   _clear_bit(9);
07871 }
07872 inline ::google::protobuf::int32 Player::gas() const {
07873   return gas_;
07874 }
07875 inline void Player::set_gas(::google::protobuf::int32 value) {
07876   _set_bit(9);
07877   gas_ = value;
07878 }
07879 
07880 // required int32 cumulativeMinerals = 11;
07881 inline bool Player::has_cumulativeminerals() const {
07882   return _has_bit(10);
07883 }
07884 inline void Player::clear_cumulativeminerals() {
07885   cumulativeminerals_ = 0;
07886   _clear_bit(10);
07887 }
07888 inline ::google::protobuf::int32 Player::cumulativeminerals() const {
07889   return cumulativeminerals_;
07890 }
07891 inline void Player::set_cumulativeminerals(::google::protobuf::int32 value) {
07892   _set_bit(10);
07893   cumulativeminerals_ = value;
07894 }
07895 
07896 // required int32 cumulativeGas = 12;
07897 inline bool Player::has_cumulativegas() const {
07898   return _has_bit(11);
07899 }
07900 inline void Player::clear_cumulativegas() {
07901   cumulativegas_ = 0;
07902   _clear_bit(11);
07903 }
07904 inline ::google::protobuf::int32 Player::cumulativegas() const {
07905   return cumulativegas_;
07906 }
07907 inline void Player::set_cumulativegas(::google::protobuf::int32 value) {
07908   _set_bit(11);
07909   cumulativegas_ = value;
07910 }
07911 
07912 // required int32 supplyTotal = 13;
07913 inline bool Player::has_supplytotal() const {
07914   return _has_bit(12);
07915 }
07916 inline void Player::clear_supplytotal() {
07917   supplytotal_ = 0;
07918   _clear_bit(12);
07919 }
07920 inline ::google::protobuf::int32 Player::supplytotal() const {
07921   return supplytotal_;
07922 }
07923 inline void Player::set_supplytotal(::google::protobuf::int32 value) {
07924   _set_bit(12);
07925   supplytotal_ = value;
07926 }
07927 
07928 // required int32 supplyUsed = 14;
07929 inline bool Player::has_supplyused() const {
07930   return _has_bit(13);
07931 }
07932 inline void Player::clear_supplyused() {
07933   supplyused_ = 0;
07934   _clear_bit(13);
07935 }
07936 inline ::google::protobuf::int32 Player::supplyused() const {
07937   return supplyused_;
07938 }
07939 inline void Player::set_supplyused(::google::protobuf::int32 value) {
07940   _set_bit(13);
07941   supplyused_ = value;
07942 }
07943 
07944 // repeated .messages.UnitTypeIntPair allUnitCount = 15;
07945 inline int Player::allunitcount_size() const {
07946   return allunitcount_.size();
07947 }
07948 inline void Player::clear_allunitcount() {
07949   allunitcount_.Clear();
07950 }
07951 inline const ::messages::UnitTypeIntPair& Player::allunitcount(int index) const {
07952   return allunitcount_.Get(index);
07953 }
07954 inline ::messages::UnitTypeIntPair* Player::mutable_allunitcount(int index) {
07955   return allunitcount_.Mutable(index);
07956 }
07957 inline ::messages::UnitTypeIntPair* Player::add_allunitcount() {
07958   return allunitcount_.Add();
07959 }
07960 inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >&
07961 Player::allunitcount() const {
07962   return allunitcount_;
07963 }
07964 inline ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >*
07965 Player::mutable_allunitcount() {
07966   return &allunitcount_;
07967 }
07968 
07969 // repeated .messages.UnitTypeIntPair completedUnitCount = 16;
07970 inline int Player::completedunitcount_size() const {
07971   return completedunitcount_.size();
07972 }
07973 inline void Player::clear_completedunitcount() {
07974   completedunitcount_.Clear();
07975 }
07976 inline const ::messages::UnitTypeIntPair& Player::completedunitcount(int index) const {
07977   return completedunitcount_.Get(index);
07978 }
07979 inline ::messages::UnitTypeIntPair* Player::mutable_completedunitcount(int index) {
07980   return completedunitcount_.Mutable(index);
07981 }
07982 inline ::messages::UnitTypeIntPair* Player::add_completedunitcount() {
07983   return completedunitcount_.Add();
07984 }
07985 inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >&
07986 Player::completedunitcount() const {
07987   return completedunitcount_;
07988 }
07989 inline ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >*
07990 Player::mutable_completedunitcount() {
07991   return &completedunitcount_;
07992 }
07993 
07994 // repeated .messages.UnitTypeIntPair incompleteUnitCount = 17;
07995 inline int Player::incompleteunitcount_size() const {
07996   return incompleteunitcount_.size();
07997 }
07998 inline void Player::clear_incompleteunitcount() {
07999   incompleteunitcount_.Clear();
08000 }
08001 inline const ::messages::UnitTypeIntPair& Player::incompleteunitcount(int index) const {
08002   return incompleteunitcount_.Get(index);
08003 }
08004 inline ::messages::UnitTypeIntPair* Player::mutable_incompleteunitcount(int index) {
08005   return incompleteunitcount_.Mutable(index);
08006 }
08007 inline ::messages::UnitTypeIntPair* Player::add_incompleteunitcount() {
08008   return incompleteunitcount_.Add();
08009 }
08010 inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >&
08011 Player::incompleteunitcount() const {
08012   return incompleteunitcount_;
08013 }
08014 inline ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >*
08015 Player::mutable_incompleteunitcount() {
08016   return &incompleteunitcount_;
08017 }
08018 
08019 // repeated .messages.UnitTypeIntPair deadUnitCount = 18;
08020 inline int Player::deadunitcount_size() const {
08021   return deadunitcount_.size();
08022 }
08023 inline void Player::clear_deadunitcount() {
08024   deadunitcount_.Clear();
08025 }
08026 inline const ::messages::UnitTypeIntPair& Player::deadunitcount(int index) const {
08027   return deadunitcount_.Get(index);
08028 }
08029 inline ::messages::UnitTypeIntPair* Player::mutable_deadunitcount(int index) {
08030   return deadunitcount_.Mutable(index);
08031 }
08032 inline ::messages::UnitTypeIntPair* Player::add_deadunitcount() {
08033   return deadunitcount_.Add();
08034 }
08035 inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >&
08036 Player::deadunitcount() const {
08037   return deadunitcount_;
08038 }
08039 inline ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >*
08040 Player::mutable_deadunitcount() {
08041   return &deadunitcount_;
08042 }
08043 
08044 // repeated .messages.UnitTypeIntPair killedUnitCount = 19;
08045 inline int Player::killedunitcount_size() const {
08046   return killedunitcount_.size();
08047 }
08048 inline void Player::clear_killedunitcount() {
08049   killedunitcount_.Clear();
08050 }
08051 inline const ::messages::UnitTypeIntPair& Player::killedunitcount(int index) const {
08052   return killedunitcount_.Get(index);
08053 }
08054 inline ::messages::UnitTypeIntPair* Player::mutable_killedunitcount(int index) {
08055   return killedunitcount_.Mutable(index);
08056 }
08057 inline ::messages::UnitTypeIntPair* Player::add_killedunitcount() {
08058   return killedunitcount_.Add();
08059 }
08060 inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >&
08061 Player::killedunitcount() const {
08062   return killedunitcount_;
08063 }
08064 inline ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeIntPair >*
08065 Player::mutable_killedunitcount() {
08066   return &killedunitcount_;
08067 }
08068 
08069 // repeated .messages.UpgradeLevel upgradeLevels = 20;
08070 inline int Player::upgradelevels_size() const {
08071   return upgradelevels_.size();
08072 }
08073 inline void Player::clear_upgradelevels() {
08074   upgradelevels_.Clear();
08075 }
08076 inline const ::messages::UpgradeLevel& Player::upgradelevels(int index) const {
08077   return upgradelevels_.Get(index);
08078 }
08079 inline ::messages::UpgradeLevel* Player::mutable_upgradelevels(int index) {
08080   return upgradelevels_.Mutable(index);
08081 }
08082 inline ::messages::UpgradeLevel* Player::add_upgradelevels() {
08083   return upgradelevels_.Add();
08084 }
08085 inline const ::google::protobuf::RepeatedPtrField< ::messages::UpgradeLevel >&
08086 Player::upgradelevels() const {
08087   return upgradelevels_;
08088 }
08089 inline ::google::protobuf::RepeatedPtrField< ::messages::UpgradeLevel >*
08090 Player::mutable_upgradelevels() {
08091   return &upgradelevels_;
08092 }
08093 
08094 // repeated .messages.TechType researchedTechs = 21;
08095 inline int Player::researchedtechs_size() const {
08096   return researchedtechs_.size();
08097 }
08098 inline void Player::clear_researchedtechs() {
08099   researchedtechs_.Clear();
08100 }
08101 inline const ::messages::TechType& Player::researchedtechs(int index) const {
08102   return researchedtechs_.Get(index);
08103 }
08104 inline ::messages::TechType* Player::mutable_researchedtechs(int index) {
08105   return researchedtechs_.Mutable(index);
08106 }
08107 inline ::messages::TechType* Player::add_researchedtechs() {
08108   return researchedtechs_.Add();
08109 }
08110 inline const ::google::protobuf::RepeatedPtrField< ::messages::TechType >&
08111 Player::researchedtechs() const {
08112   return researchedtechs_;
08113 }
08114 inline ::google::protobuf::RepeatedPtrField< ::messages::TechType >*
08115 Player::mutable_researchedtechs() {
08116   return &researchedtechs_;
08117 }
08118 
08119 // repeated .messages.TechType researching = 22;
08120 inline int Player::researching_size() const {
08121   return researching_.size();
08122 }
08123 inline void Player::clear_researching() {
08124   researching_.Clear();
08125 }
08126 inline const ::messages::TechType& Player::researching(int index) const {
08127   return researching_.Get(index);
08128 }
08129 inline ::messages::TechType* Player::mutable_researching(int index) {
08130   return researching_.Mutable(index);
08131 }
08132 inline ::messages::TechType* Player::add_researching() {
08133   return researching_.Add();
08134 }
08135 inline const ::google::protobuf::RepeatedPtrField< ::messages::TechType >&
08136 Player::researching() const {
08137   return researching_;
08138 }
08139 inline ::google::protobuf::RepeatedPtrField< ::messages::TechType >*
08140 Player::mutable_researching() {
08141   return &researching_;
08142 }
08143 
08144 // repeated .messages.UpgradeType upgrading = 23;
08145 inline int Player::upgrading_size() const {
08146   return upgrading_.size();
08147 }
08148 inline void Player::clear_upgrading() {
08149   upgrading_.Clear();
08150 }
08151 inline const ::messages::UpgradeType& Player::upgrading(int index) const {
08152   return upgrading_.Get(index);
08153 }
08154 inline ::messages::UpgradeType* Player::mutable_upgrading(int index) {
08155   return upgrading_.Mutable(index);
08156 }
08157 inline ::messages::UpgradeType* Player::add_upgrading() {
08158   return upgrading_.Add();
08159 }
08160 inline const ::google::protobuf::RepeatedPtrField< ::messages::UpgradeType >&
08161 Player::upgrading() const {
08162   return upgrading_;
08163 }
08164 inline ::google::protobuf::RepeatedPtrField< ::messages::UpgradeType >*
08165 Player::mutable_upgrading() {
08166   return &upgrading_;
08167 }
08168 
08169 // optional bool self = 24 [default = false];
08170 inline bool Player::has_self() const {
08171   return _has_bit(23);
08172 }
08173 inline void Player::clear_self() {
08174   self_ = false;
08175   _clear_bit(23);
08176 }
08177 inline bool Player::self() const {
08178   return self_;
08179 }
08180 inline void Player::set_self(bool value) {
08181   _set_bit(23);
08182   self_ = value;
08183 }
08184 
08185 // required bool victorious = 25;
08186 inline bool Player::has_victorious() const {
08187   return _has_bit(24);
08188 }
08189 inline void Player::clear_victorious() {
08190   victorious_ = false;
08191   _clear_bit(24);
08192 }
08193 inline bool Player::victorious() const {
08194   return victorious_;
08195 }
08196 inline void Player::set_victorious(bool value) {
08197   _set_bit(24);
08198   victorious_ = value;
08199 }
08200 
08201 // required bool defeated = 26;
08202 inline bool Player::has_defeated() const {
08203   return _has_bit(25);
08204 }
08205 inline void Player::clear_defeated() {
08206   defeated_ = false;
08207   _clear_bit(25);
08208 }
08209 inline bool Player::defeated() const {
08210   return defeated_;
08211 }
08212 inline void Player::set_defeated(bool value) {
08213   _set_bit(25);
08214   defeated_ = value;
08215 }
08216 
08217 // -------------------------------------------------------------------
08218 
08219 // UpgradeLevel
08220 
08221 // required .messages.UpgradeType type = 1;
08222 inline bool UpgradeLevel::has_type() const {
08223   return _has_bit(0);
08224 }
08225 inline void UpgradeLevel::clear_type() {
08226   if (type_ != NULL) type_->::messages::UpgradeType::Clear();
08227   _clear_bit(0);
08228 }
08229 inline const ::messages::UpgradeType& UpgradeLevel::type() const {
08230   return type_ != NULL ? *type_ : *default_instance_->type_;
08231 }
08232 inline ::messages::UpgradeType* UpgradeLevel::mutable_type() {
08233   _set_bit(0);
08234   if (type_ == NULL) type_ = new ::messages::UpgradeType;
08235   return type_;
08236 }
08237 
08238 // required int32 level = 2;
08239 inline bool UpgradeLevel::has_level() const {
08240   return _has_bit(1);
08241 }
08242 inline void UpgradeLevel::clear_level() {
08243   level_ = 0;
08244   _clear_bit(1);
08245 }
08246 inline ::google::protobuf::int32 UpgradeLevel::level() const {
08247   return level_;
08248 }
08249 inline void UpgradeLevel::set_level(::google::protobuf::int32 value) {
08250   _set_bit(1);
08251   level_ = value;
08252 }
08253 
08254 // -------------------------------------------------------------------
08255 
08256 // TechType
08257 
08258 // required int32 id = 1;
08259 inline bool TechType::has_id() const {
08260   return _has_bit(0);
08261 }
08262 inline void TechType::clear_id() {
08263   id_ = 0;
08264   _clear_bit(0);
08265 }
08266 inline ::google::protobuf::int32 TechType::id() const {
08267   return id_;
08268 }
08269 inline void TechType::set_id(::google::protobuf::int32 value) {
08270   _set_bit(0);
08271   id_ = value;
08272 }
08273 
08274 // -------------------------------------------------------------------
08275 
08276 // UpgradeType
08277 
08278 // required int32 id = 1;
08279 inline bool UpgradeType::has_id() const {
08280   return _has_bit(0);
08281 }
08282 inline void UpgradeType::clear_id() {
08283   id_ = 0;
08284   _clear_bit(0);
08285 }
08286 inline ::google::protobuf::int32 UpgradeType::id() const {
08287   return id_;
08288 }
08289 inline void UpgradeType::set_id(::google::protobuf::int32 value) {
08290   _set_bit(0);
08291   id_ = value;
08292 }
08293 
08294 // -------------------------------------------------------------------
08295 
08296 // TechTypeData
08297 
08298 // required int32 id = 1;
08299 inline bool TechTypeData::has_id() const {
08300   return _has_bit(0);
08301 }
08302 inline void TechTypeData::clear_id() {
08303   id_ = 0;
08304   _clear_bit(0);
08305 }
08306 inline ::google::protobuf::int32 TechTypeData::id() const {
08307   return id_;
08308 }
08309 inline void TechTypeData::set_id(::google::protobuf::int32 value) {
08310   _set_bit(0);
08311   id_ = value;
08312 }
08313 
08314 // required string name = 2;
08315 inline bool TechTypeData::has_name() const {
08316   return _has_bit(1);
08317 }
08318 inline void TechTypeData::clear_name() {
08319   if (name_ != &_default_name_) {
08320     name_->clear();
08321   }
08322   _clear_bit(1);
08323 }
08324 inline const ::std::string& TechTypeData::name() const {
08325   return *name_;
08326 }
08327 inline void TechTypeData::set_name(const ::std::string& value) {
08328   _set_bit(1);
08329   if (name_ == &_default_name_) {
08330     name_ = new ::std::string;
08331   }
08332   name_->assign(value);
08333 }
08334 inline void TechTypeData::set_name(const char* value) {
08335   _set_bit(1);
08336   if (name_ == &_default_name_) {
08337     name_ = new ::std::string;
08338   }
08339   name_->assign(value);
08340 }
08341 inline void TechTypeData::set_name(const char* value, size_t size) {
08342   _set_bit(1);
08343   if (name_ == &_default_name_) {
08344     name_ = new ::std::string;
08345   }
08346   name_->assign(reinterpret_cast<const char*>(value), size);
08347 }
08348 inline ::std::string* TechTypeData::mutable_name() {
08349   _set_bit(1);
08350   if (name_ == &_default_name_) {
08351     name_ = new ::std::string;
08352   }
08353   return name_;
08354 }
08355 
08356 // required .messages.Race race = 3;
08357 inline bool TechTypeData::has_race() const {
08358   return _has_bit(2);
08359 }
08360 inline void TechTypeData::clear_race() {
08361   race_ = 0;
08362   _clear_bit(2);
08363 }
08364 inline messages::Race TechTypeData::race() const {
08365   return static_cast< messages::Race >(race_);
08366 }
08367 inline void TechTypeData::set_race(messages::Race value) {
08368   GOOGLE_DCHECK(messages::Race_IsValid(value));
08369   _set_bit(2);
08370   race_ = value;
08371 }
08372 
08373 // required int32 mineralPrice = 4;
08374 inline bool TechTypeData::has_mineralprice() const {
08375   return _has_bit(3);
08376 }
08377 inline void TechTypeData::clear_mineralprice() {
08378   mineralprice_ = 0;
08379   _clear_bit(3);
08380 }
08381 inline ::google::protobuf::int32 TechTypeData::mineralprice() const {
08382   return mineralprice_;
08383 }
08384 inline void TechTypeData::set_mineralprice(::google::protobuf::int32 value) {
08385   _set_bit(3);
08386   mineralprice_ = value;
08387 }
08388 
08389 // required int32 gasPrice = 5;
08390 inline bool TechTypeData::has_gasprice() const {
08391   return _has_bit(4);
08392 }
08393 inline void TechTypeData::clear_gasprice() {
08394   gasprice_ = 0;
08395   _clear_bit(4);
08396 }
08397 inline ::google::protobuf::int32 TechTypeData::gasprice() const {
08398   return gasprice_;
08399 }
08400 inline void TechTypeData::set_gasprice(::google::protobuf::int32 value) {
08401   _set_bit(4);
08402   gasprice_ = value;
08403 }
08404 
08405 // required int32 researchTime = 6;
08406 inline bool TechTypeData::has_researchtime() const {
08407   return _has_bit(5);
08408 }
08409 inline void TechTypeData::clear_researchtime() {
08410   researchtime_ = 0;
08411   _clear_bit(5);
08412 }
08413 inline ::google::protobuf::int32 TechTypeData::researchtime() const {
08414   return researchtime_;
08415 }
08416 inline void TechTypeData::set_researchtime(::google::protobuf::int32 value) {
08417   _set_bit(5);
08418   researchtime_ = value;
08419 }
08420 
08421 // required int32 energyUsed = 7;
08422 inline bool TechTypeData::has_energyused() const {
08423   return _has_bit(6);
08424 }
08425 inline void TechTypeData::clear_energyused() {
08426   energyused_ = 0;
08427   _clear_bit(6);
08428 }
08429 inline ::google::protobuf::int32 TechTypeData::energyused() const {
08430   return energyused_;
08431 }
08432 inline void TechTypeData::set_energyused(::google::protobuf::int32 value) {
08433   _set_bit(6);
08434   energyused_ = value;
08435 }
08436 
08437 // required .messages.UnitType whatResearches = 8;
08438 inline bool TechTypeData::has_whatresearches() const {
08439   return _has_bit(7);
08440 }
08441 inline void TechTypeData::clear_whatresearches() {
08442   if (whatresearches_ != NULL) whatresearches_->::messages::UnitType::Clear();
08443   _clear_bit(7);
08444 }
08445 inline const ::messages::UnitType& TechTypeData::whatresearches() const {
08446   return whatresearches_ != NULL ? *whatresearches_ : *default_instance_->whatresearches_;
08447 }
08448 inline ::messages::UnitType* TechTypeData::mutable_whatresearches() {
08449   _set_bit(7);
08450   if (whatresearches_ == NULL) whatresearches_ = new ::messages::UnitType;
08451   return whatresearches_;
08452 }
08453 
08454 // required .messages.WeaponType weapon = 9;
08455 inline bool TechTypeData::has_weapon() const {
08456   return _has_bit(8);
08457 }
08458 inline void TechTypeData::clear_weapon() {
08459   if (weapon_ != NULL) weapon_->::messages::WeaponType::Clear();
08460   _clear_bit(8);
08461 }
08462 inline const ::messages::WeaponType& TechTypeData::weapon() const {
08463   return weapon_ != NULL ? *weapon_ : *default_instance_->weapon_;
08464 }
08465 inline ::messages::WeaponType* TechTypeData::mutable_weapon() {
08466   _set_bit(8);
08467   if (weapon_ == NULL) weapon_ = new ::messages::WeaponType;
08468   return weapon_;
08469 }
08470 
08471 // repeated .messages.UnitType whatUses = 10;
08472 inline int TechTypeData::whatuses_size() const {
08473   return whatuses_.size();
08474 }
08475 inline void TechTypeData::clear_whatuses() {
08476   whatuses_.Clear();
08477 }
08478 inline const ::messages::UnitType& TechTypeData::whatuses(int index) const {
08479   return whatuses_.Get(index);
08480 }
08481 inline ::messages::UnitType* TechTypeData::mutable_whatuses(int index) {
08482   return whatuses_.Mutable(index);
08483 }
08484 inline ::messages::UnitType* TechTypeData::add_whatuses() {
08485   return whatuses_.Add();
08486 }
08487 inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitType >&
08488 TechTypeData::whatuses() const {
08489   return whatuses_;
08490 }
08491 inline ::google::protobuf::RepeatedPtrField< ::messages::UnitType >*
08492 TechTypeData::mutable_whatuses() {
08493   return &whatuses_;
08494 }
08495 
08496 // -------------------------------------------------------------------
08497 
08498 // WeaponType
08499 
08500 // required int32 id = 1;
08501 inline bool WeaponType::has_id() const {
08502   return _has_bit(0);
08503 }
08504 inline void WeaponType::clear_id() {
08505   id_ = 0;
08506   _clear_bit(0);
08507 }
08508 inline ::google::protobuf::int32 WeaponType::id() const {
08509   return id_;
08510 }
08511 inline void WeaponType::set_id(::google::protobuf::int32 value) {
08512   _set_bit(0);
08513   id_ = value;
08514 }
08515 
08516 // -------------------------------------------------------------------
08517 
08518 // WeaponTypeData
08519 
08520 // required int32 id = 1;
08521 inline bool WeaponTypeData::has_id() const {
08522   return _has_bit(0);
08523 }
08524 inline void WeaponTypeData::clear_id() {
08525   id_ = 0;
08526   _clear_bit(0);
08527 }
08528 inline ::google::protobuf::int32 WeaponTypeData::id() const {
08529   return id_;
08530 }
08531 inline void WeaponTypeData::set_id(::google::protobuf::int32 value) {
08532   _set_bit(0);
08533   id_ = value;
08534 }
08535 
08536 // required string name = 2;
08537 inline bool WeaponTypeData::has_name() const {
08538   return _has_bit(1);
08539 }
08540 inline void WeaponTypeData::clear_name() {
08541   if (name_ != &_default_name_) {
08542     name_->clear();
08543   }
08544   _clear_bit(1);
08545 }
08546 inline const ::std::string& WeaponTypeData::name() const {
08547   return *name_;
08548 }
08549 inline void WeaponTypeData::set_name(const ::std::string& value) {
08550   _set_bit(1);
08551   if (name_ == &_default_name_) {
08552     name_ = new ::std::string;
08553   }
08554   name_->assign(value);
08555 }
08556 inline void WeaponTypeData::set_name(const char* value) {
08557   _set_bit(1);
08558   if (name_ == &_default_name_) {
08559     name_ = new ::std::string;
08560   }
08561   name_->assign(value);
08562 }
08563 inline void WeaponTypeData::set_name(const char* value, size_t size) {
08564   _set_bit(1);
08565   if (name_ == &_default_name_) {
08566     name_ = new ::std::string;
08567   }
08568   name_->assign(reinterpret_cast<const char*>(value), size);
08569 }
08570 inline ::std::string* WeaponTypeData::mutable_name() {
08571   _set_bit(1);
08572   if (name_ == &_default_name_) {
08573     name_ = new ::std::string;
08574   }
08575   return name_;
08576 }
08577 
08578 // required .messages.TechType tech = 3;
08579 inline bool WeaponTypeData::has_tech() const {
08580   return _has_bit(2);
08581 }
08582 inline void WeaponTypeData::clear_tech() {
08583   if (tech_ != NULL) tech_->::messages::TechType::Clear();
08584   _clear_bit(2);
08585 }
08586 inline const ::messages::TechType& WeaponTypeData::tech() const {
08587   return tech_ != NULL ? *tech_ : *default_instance_->tech_;
08588 }
08589 inline ::messages::TechType* WeaponTypeData::mutable_tech() {
08590   _set_bit(2);
08591   if (tech_ == NULL) tech_ = new ::messages::TechType;
08592   return tech_;
08593 }
08594 
08595 // required .messages.UnitType whatUses = 4;
08596 inline bool WeaponTypeData::has_whatuses() const {
08597   return _has_bit(3);
08598 }
08599 inline void WeaponTypeData::clear_whatuses() {
08600   if (whatuses_ != NULL) whatuses_->::messages::UnitType::Clear();
08601   _clear_bit(3);
08602 }
08603 inline const ::messages::UnitType& WeaponTypeData::whatuses() const {
08604   return whatuses_ != NULL ? *whatuses_ : *default_instance_->whatuses_;
08605 }
08606 inline ::messages::UnitType* WeaponTypeData::mutable_whatuses() {
08607   _set_bit(3);
08608   if (whatuses_ == NULL) whatuses_ = new ::messages::UnitType;
08609   return whatuses_;
08610 }
08611 
08612 // required int32 damageAmount = 5;
08613 inline bool WeaponTypeData::has_damageamount() const {
08614   return _has_bit(4);
08615 }
08616 inline void WeaponTypeData::clear_damageamount() {
08617   damageamount_ = 0;
08618   _clear_bit(4);
08619 }
08620 inline ::google::protobuf::int32 WeaponTypeData::damageamount() const {
08621   return damageamount_;
08622 }
08623 inline void WeaponTypeData::set_damageamount(::google::protobuf::int32 value) {
08624   _set_bit(4);
08625   damageamount_ = value;
08626 }
08627 
08628 // required int32 damageBonus = 6;
08629 inline bool WeaponTypeData::has_damagebonus() const {
08630   return _has_bit(5);
08631 }
08632 inline void WeaponTypeData::clear_damagebonus() {
08633   damagebonus_ = 0;
08634   _clear_bit(5);
08635 }
08636 inline ::google::protobuf::int32 WeaponTypeData::damagebonus() const {
08637   return damagebonus_;
08638 }
08639 inline void WeaponTypeData::set_damagebonus(::google::protobuf::int32 value) {
08640   _set_bit(5);
08641   damagebonus_ = value;
08642 }
08643 
08644 // required int32 damageCooldown = 7;
08645 inline bool WeaponTypeData::has_damagecooldown() const {
08646   return _has_bit(6);
08647 }
08648 inline void WeaponTypeData::clear_damagecooldown() {
08649   damagecooldown_ = 0;
08650   _clear_bit(6);
08651 }
08652 inline ::google::protobuf::int32 WeaponTypeData::damagecooldown() const {
08653   return damagecooldown_;
08654 }
08655 inline void WeaponTypeData::set_damagecooldown(::google::protobuf::int32 value) {
08656   _set_bit(6);
08657   damagecooldown_ = value;
08658 }
08659 
08660 // required int32 damageFactor = 8;
08661 inline bool WeaponTypeData::has_damagefactor() const {
08662   return _has_bit(7);
08663 }
08664 inline void WeaponTypeData::clear_damagefactor() {
08665   damagefactor_ = 0;
08666   _clear_bit(7);
08667 }
08668 inline ::google::protobuf::int32 WeaponTypeData::damagefactor() const {
08669   return damagefactor_;
08670 }
08671 inline void WeaponTypeData::set_damagefactor(::google::protobuf::int32 value) {
08672   _set_bit(7);
08673   damagefactor_ = value;
08674 }
08675 
08676 // required .messages.UpgradeType upgradeType = 9;
08677 inline bool WeaponTypeData::has_upgradetype() const {
08678   return _has_bit(8);
08679 }
08680 inline void WeaponTypeData::clear_upgradetype() {
08681   if (upgradetype_ != NULL) upgradetype_->::messages::UpgradeType::Clear();
08682   _clear_bit(8);
08683 }
08684 inline const ::messages::UpgradeType& WeaponTypeData::upgradetype() const {
08685   return upgradetype_ != NULL ? *upgradetype_ : *default_instance_->upgradetype_;
08686 }
08687 inline ::messages::UpgradeType* WeaponTypeData::mutable_upgradetype() {
08688   _set_bit(8);
08689   if (upgradetype_ == NULL) upgradetype_ = new ::messages::UpgradeType;
08690   return upgradetype_;
08691 }
08692 
08693 // required .messages.DamageType damageType = 10;
08694 inline bool WeaponTypeData::has_damagetype() const {
08695   return _has_bit(9);
08696 }
08697 inline void WeaponTypeData::clear_damagetype() {
08698   damagetype_ = 0;
08699   _clear_bit(9);
08700 }
08701 inline messages::DamageType WeaponTypeData::damagetype() const {
08702   return static_cast< messages::DamageType >(damagetype_);
08703 }
08704 inline void WeaponTypeData::set_damagetype(messages::DamageType value) {
08705   GOOGLE_DCHECK(messages::DamageType_IsValid(value));
08706   _set_bit(9);
08707   damagetype_ = value;
08708 }
08709 
08710 // required .messages.ExplosionType explosionType = 11;
08711 inline bool WeaponTypeData::has_explosiontype() const {
08712   return _has_bit(10);
08713 }
08714 inline void WeaponTypeData::clear_explosiontype() {
08715   explosiontype_ = 0;
08716   _clear_bit(10);
08717 }
08718 inline messages::ExplosionType WeaponTypeData::explosiontype() const {
08719   return static_cast< messages::ExplosionType >(explosiontype_);
08720 }
08721 inline void WeaponTypeData::set_explosiontype(messages::ExplosionType value) {
08722   GOOGLE_DCHECK(messages::ExplosionType_IsValid(value));
08723   _set_bit(10);
08724   explosiontype_ = value;
08725 }
08726 
08727 // required int32 minRange = 12;
08728 inline bool WeaponTypeData::has_minrange() const {
08729   return _has_bit(11);
08730 }
08731 inline void WeaponTypeData::clear_minrange() {
08732   minrange_ = 0;
08733   _clear_bit(11);
08734 }
08735 inline ::google::protobuf::int32 WeaponTypeData::minrange() const {
08736   return minrange_;
08737 }
08738 inline void WeaponTypeData::set_minrange(::google::protobuf::int32 value) {
08739   _set_bit(11);
08740   minrange_ = value;
08741 }
08742 
08743 // required int32 maxRange = 13;
08744 inline bool WeaponTypeData::has_maxrange() const {
08745   return _has_bit(12);
08746 }
08747 inline void WeaponTypeData::clear_maxrange() {
08748   maxrange_ = 0;
08749   _clear_bit(12);
08750 }
08751 inline ::google::protobuf::int32 WeaponTypeData::maxrange() const {
08752   return maxrange_;
08753 }
08754 inline void WeaponTypeData::set_maxrange(::google::protobuf::int32 value) {
08755   _set_bit(12);
08756   maxrange_ = value;
08757 }
08758 
08759 // required int32 innerSplashRadius = 14;
08760 inline bool WeaponTypeData::has_innersplashradius() const {
08761   return _has_bit(13);
08762 }
08763 inline void WeaponTypeData::clear_innersplashradius() {
08764   innersplashradius_ = 0;
08765   _clear_bit(13);
08766 }
08767 inline ::google::protobuf::int32 WeaponTypeData::innersplashradius() const {
08768   return innersplashradius_;
08769 }
08770 inline void WeaponTypeData::set_innersplashradius(::google::protobuf::int32 value) {
08771   _set_bit(13);
08772   innersplashradius_ = value;
08773 }
08774 
08775 // required int32 medianSplashRadius = 15;
08776 inline bool WeaponTypeData::has_mediansplashradius() const {
08777   return _has_bit(14);
08778 }
08779 inline void WeaponTypeData::clear_mediansplashradius() {
08780   mediansplashradius_ = 0;
08781   _clear_bit(14);
08782 }
08783 inline ::google::protobuf::int32 WeaponTypeData::mediansplashradius() const {
08784   return mediansplashradius_;
08785 }
08786 inline void WeaponTypeData::set_mediansplashradius(::google::protobuf::int32 value) {
08787   _set_bit(14);
08788   mediansplashradius_ = value;
08789 }
08790 
08791 // required int32 outerSplashRadius = 16;
08792 inline bool WeaponTypeData::has_outersplashradius() const {
08793   return _has_bit(15);
08794 }
08795 inline void WeaponTypeData::clear_outersplashradius() {
08796   outersplashradius_ = 0;
08797   _clear_bit(15);
08798 }
08799 inline ::google::protobuf::int32 WeaponTypeData::outersplashradius() const {
08800   return outersplashradius_;
08801 }
08802 inline void WeaponTypeData::set_outersplashradius(::google::protobuf::int32 value) {
08803   _set_bit(15);
08804   outersplashradius_ = value;
08805 }
08806 
08807 // required bool targetsAir = 17;
08808 inline bool WeaponTypeData::has_targetsair() const {
08809   return _has_bit(16);
08810 }
08811 inline void WeaponTypeData::clear_targetsair() {
08812   targetsair_ = false;
08813   _clear_bit(16);
08814 }
08815 inline bool WeaponTypeData::targetsair() const {
08816   return targetsair_;
08817 }
08818 inline void WeaponTypeData::set_targetsair(bool value) {
08819   _set_bit(16);
08820   targetsair_ = value;
08821 }
08822 
08823 // required bool targetsGround = 18;
08824 inline bool WeaponTypeData::has_targetsground() const {
08825   return _has_bit(17);
08826 }
08827 inline void WeaponTypeData::clear_targetsground() {
08828   targetsground_ = false;
08829   _clear_bit(17);
08830 }
08831 inline bool WeaponTypeData::targetsground() const {
08832   return targetsground_;
08833 }
08834 inline void WeaponTypeData::set_targetsground(bool value) {
08835   _set_bit(17);
08836   targetsground_ = value;
08837 }
08838 
08839 // required bool targetsMechanical = 19;
08840 inline bool WeaponTypeData::has_targetsmechanical() const {
08841   return _has_bit(18);
08842 }
08843 inline void WeaponTypeData::clear_targetsmechanical() {
08844   targetsmechanical_ = false;
08845   _clear_bit(18);
08846 }
08847 inline bool WeaponTypeData::targetsmechanical() const {
08848   return targetsmechanical_;
08849 }
08850 inline void WeaponTypeData::set_targetsmechanical(bool value) {
08851   _set_bit(18);
08852   targetsmechanical_ = value;
08853 }
08854 
08855 // required bool targetsOrganic = 20;
08856 inline bool WeaponTypeData::has_targetsorganic() const {
08857   return _has_bit(19);
08858 }
08859 inline void WeaponTypeData::clear_targetsorganic() {
08860   targetsorganic_ = false;
08861   _clear_bit(19);
08862 }
08863 inline bool WeaponTypeData::targetsorganic() const {
08864   return targetsorganic_;
08865 }
08866 inline void WeaponTypeData::set_targetsorganic(bool value) {
08867   _set_bit(19);
08868   targetsorganic_ = value;
08869 }
08870 
08871 // required bool targetsNonBuilding = 21;
08872 inline bool WeaponTypeData::has_targetsnonbuilding() const {
08873   return _has_bit(20);
08874 }
08875 inline void WeaponTypeData::clear_targetsnonbuilding() {
08876   targetsnonbuilding_ = false;
08877   _clear_bit(20);
08878 }
08879 inline bool WeaponTypeData::targetsnonbuilding() const {
08880   return targetsnonbuilding_;
08881 }
08882 inline void WeaponTypeData::set_targetsnonbuilding(bool value) {
08883   _set_bit(20);
08884   targetsnonbuilding_ = value;
08885 }
08886 
08887 // required bool targetsNonRobotic = 22;
08888 inline bool WeaponTypeData::has_targetsnonrobotic() const {
08889   return _has_bit(21);
08890 }
08891 inline void WeaponTypeData::clear_targetsnonrobotic() {
08892   targetsnonrobotic_ = false;
08893   _clear_bit(21);
08894 }
08895 inline bool WeaponTypeData::targetsnonrobotic() const {
08896   return targetsnonrobotic_;
08897 }
08898 inline void WeaponTypeData::set_targetsnonrobotic(bool value) {
08899   _set_bit(21);
08900   targetsnonrobotic_ = value;
08901 }
08902 
08903 // required bool targetsTerrain = 23;
08904 inline bool WeaponTypeData::has_targetsterrain() const {
08905   return _has_bit(22);
08906 }
08907 inline void WeaponTypeData::clear_targetsterrain() {
08908   targetsterrain_ = false;
08909   _clear_bit(22);
08910 }
08911 inline bool WeaponTypeData::targetsterrain() const {
08912   return targetsterrain_;
08913 }
08914 inline void WeaponTypeData::set_targetsterrain(bool value) {
08915   _set_bit(22);
08916   targetsterrain_ = value;
08917 }
08918 
08919 // required bool targetsOrgOrMech = 24;
08920 inline bool WeaponTypeData::has_targetsorgormech() const {
08921   return _has_bit(23);
08922 }
08923 inline void WeaponTypeData::clear_targetsorgormech() {
08924   targetsorgormech_ = false;
08925   _clear_bit(23);
08926 }
08927 inline bool WeaponTypeData::targetsorgormech() const {
08928   return targetsorgormech_;
08929 }
08930 inline void WeaponTypeData::set_targetsorgormech(bool value) {
08931   _set_bit(23);
08932   targetsorgormech_ = value;
08933 }
08934 
08935 // required bool targetsOwn = 25;
08936 inline bool WeaponTypeData::has_targetsown() const {
08937   return _has_bit(24);
08938 }
08939 inline void WeaponTypeData::clear_targetsown() {
08940   targetsown_ = false;
08941   _clear_bit(24);
08942 }
08943 inline bool WeaponTypeData::targetsown() const {
08944   return targetsown_;
08945 }
08946 inline void WeaponTypeData::set_targetsown(bool value) {
08947   _set_bit(24);
08948   targetsown_ = value;
08949 }
08950 
08951 // -------------------------------------------------------------------
08952 
08953 // StaticGameData
08954 
08955 // repeated .messages.UnitId staticMinerals = 1;
08956 inline int StaticGameData::staticminerals_size() const {
08957   return staticminerals_.size();
08958 }
08959 inline void StaticGameData::clear_staticminerals() {
08960   staticminerals_.Clear();
08961 }
08962 inline const ::messages::UnitId& StaticGameData::staticminerals(int index) const {
08963   return staticminerals_.Get(index);
08964 }
08965 inline ::messages::UnitId* StaticGameData::mutable_staticminerals(int index) {
08966   return staticminerals_.Mutable(index);
08967 }
08968 inline ::messages::UnitId* StaticGameData::add_staticminerals() {
08969   return staticminerals_.Add();
08970 }
08971 inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitId >&
08972 StaticGameData::staticminerals() const {
08973   return staticminerals_;
08974 }
08975 inline ::google::protobuf::RepeatedPtrField< ::messages::UnitId >*
08976 StaticGameData::mutable_staticminerals() {
08977   return &staticminerals_;
08978 }
08979 
08980 // repeated .messages.UnitId staticGeysers = 2;
08981 inline int StaticGameData::staticgeysers_size() const {
08982   return staticgeysers_.size();
08983 }
08984 inline void StaticGameData::clear_staticgeysers() {
08985   staticgeysers_.Clear();
08986 }
08987 inline const ::messages::UnitId& StaticGameData::staticgeysers(int index) const {
08988   return staticgeysers_.Get(index);
08989 }
08990 inline ::messages::UnitId* StaticGameData::mutable_staticgeysers(int index) {
08991   return staticgeysers_.Mutable(index);
08992 }
08993 inline ::messages::UnitId* StaticGameData::add_staticgeysers() {
08994   return staticgeysers_.Add();
08995 }
08996 inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitId >&
08997 StaticGameData::staticgeysers() const {
08998   return staticgeysers_;
08999 }
09000 inline ::google::protobuf::RepeatedPtrField< ::messages::UnitId >*
09001 StaticGameData::mutable_staticgeysers() {
09002   return &staticgeysers_;
09003 }
09004 
09005 // repeated .messages.UnitId staticNeutralUnits = 3;
09006 inline int StaticGameData::staticneutralunits_size() const {
09007   return staticneutralunits_.size();
09008 }
09009 inline void StaticGameData::clear_staticneutralunits() {
09010   staticneutralunits_.Clear();
09011 }
09012 inline const ::messages::UnitId& StaticGameData::staticneutralunits(int index) const {
09013   return staticneutralunits_.Get(index);
09014 }
09015 inline ::messages::UnitId* StaticGameData::mutable_staticneutralunits(int index) {
09016   return staticneutralunits_.Mutable(index);
09017 }
09018 inline ::messages::UnitId* StaticGameData::add_staticneutralunits() {
09019   return staticneutralunits_.Add();
09020 }
09021 inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitId >&
09022 StaticGameData::staticneutralunits() const {
09023   return staticneutralunits_;
09024 }
09025 inline ::google::protobuf::RepeatedPtrField< ::messages::UnitId >*
09026 StaticGameData::mutable_staticneutralunits() {
09027   return &staticneutralunits_;
09028 }
09029 
09030 // required int32 mapWidth = 4;
09031 inline bool StaticGameData::has_mapwidth() const {
09032   return _has_bit(3);
09033 }
09034 inline void StaticGameData::clear_mapwidth() {
09035   mapwidth_ = 0;
09036   _clear_bit(3);
09037 }
09038 inline ::google::protobuf::int32 StaticGameData::mapwidth() const {
09039   return mapwidth_;
09040 }
09041 inline void StaticGameData::set_mapwidth(::google::protobuf::int32 value) {
09042   _set_bit(3);
09043   mapwidth_ = value;
09044 }
09045 
09046 // required int32 mapHeight = 5;
09047 inline bool StaticGameData::has_mapheight() const {
09048   return _has_bit(4);
09049 }
09050 inline void StaticGameData::clear_mapheight() {
09051   mapheight_ = 0;
09052   _clear_bit(4);
09053 }
09054 inline ::google::protobuf::int32 StaticGameData::mapheight() const {
09055   return mapheight_;
09056 }
09057 inline void StaticGameData::set_mapheight(::google::protobuf::int32 value) {
09058   _set_bit(4);
09059   mapheight_ = value;
09060 }
09061 
09062 // required string mapFilename = 6;
09063 inline bool StaticGameData::has_mapfilename() const {
09064   return _has_bit(5);
09065 }
09066 inline void StaticGameData::clear_mapfilename() {
09067   if (mapfilename_ != &_default_mapfilename_) {
09068     mapfilename_->clear();
09069   }
09070   _clear_bit(5);
09071 }
09072 inline const ::std::string& StaticGameData::mapfilename() const {
09073   return *mapfilename_;
09074 }
09075 inline void StaticGameData::set_mapfilename(const ::std::string& value) {
09076   _set_bit(5);
09077   if (mapfilename_ == &_default_mapfilename_) {
09078     mapfilename_ = new ::std::string;
09079   }
09080   mapfilename_->assign(value);
09081 }
09082 inline void StaticGameData::set_mapfilename(const char* value) {
09083   _set_bit(5);
09084   if (mapfilename_ == &_default_mapfilename_) {
09085     mapfilename_ = new ::std::string;
09086   }
09087   mapfilename_->assign(value);
09088 }
09089 inline void StaticGameData::set_mapfilename(const char* value, size_t size) {
09090   _set_bit(5);
09091   if (mapfilename_ == &_default_mapfilename_) {
09092     mapfilename_ = new ::std::string;
09093   }
09094   mapfilename_->assign(reinterpret_cast<const char*>(value), size);
09095 }
09096 inline ::std::string* StaticGameData::mutable_mapfilename() {
09097   _set_bit(5);
09098   if (mapfilename_ == &_default_mapfilename_) {
09099     mapfilename_ = new ::std::string;
09100   }
09101   return mapfilename_;
09102 }
09103 
09104 // required string mapName = 7;
09105 inline bool StaticGameData::has_mapname() const {
09106   return _has_bit(6);
09107 }
09108 inline void StaticGameData::clear_mapname() {
09109   if (mapname_ != &_default_mapname_) {
09110     mapname_->clear();
09111   }
09112   _clear_bit(6);
09113 }
09114 inline const ::std::string& StaticGameData::mapname() const {
09115   return *mapname_;
09116 }
09117 inline void StaticGameData::set_mapname(const ::std::string& value) {
09118   _set_bit(6);
09119   if (mapname_ == &_default_mapname_) {
09120     mapname_ = new ::std::string;
09121   }
09122   mapname_->assign(value);
09123 }
09124 inline void StaticGameData::set_mapname(const char* value) {
09125   _set_bit(6);
09126   if (mapname_ == &_default_mapname_) {
09127     mapname_ = new ::std::string;
09128   }
09129   mapname_->assign(value);
09130 }
09131 inline void StaticGameData::set_mapname(const char* value, size_t size) {
09132   _set_bit(6);
09133   if (mapname_ == &_default_mapname_) {
09134     mapname_ = new ::std::string;
09135   }
09136   mapname_->assign(reinterpret_cast<const char*>(value), size);
09137 }
09138 inline ::std::string* StaticGameData::mutable_mapname() {
09139   _set_bit(6);
09140   if (mapname_ == &_default_mapname_) {
09141     mapname_ = new ::std::string;
09142   }
09143   return mapname_;
09144 }
09145 
09146 // required string mapHash = 8;
09147 inline bool StaticGameData::has_maphash() const {
09148   return _has_bit(7);
09149 }
09150 inline void StaticGameData::clear_maphash() {
09151   if (maphash_ != &_default_maphash_) {
09152     maphash_->clear();
09153   }
09154   _clear_bit(7);
09155 }
09156 inline const ::std::string& StaticGameData::maphash() const {
09157   return *maphash_;
09158 }
09159 inline void StaticGameData::set_maphash(const ::std::string& value) {
09160   _set_bit(7);
09161   if (maphash_ == &_default_maphash_) {
09162     maphash_ = new ::std::string;
09163   }
09164   maphash_->assign(value);
09165 }
09166 inline void StaticGameData::set_maphash(const char* value) {
09167   _set_bit(7);
09168   if (maphash_ == &_default_maphash_) {
09169     maphash_ = new ::std::string;
09170   }
09171   maphash_->assign(value);
09172 }
09173 inline void StaticGameData::set_maphash(const char* value, size_t size) {
09174   _set_bit(7);
09175   if (maphash_ == &_default_maphash_) {
09176     maphash_ = new ::std::string;
09177   }
09178   maphash_->assign(reinterpret_cast<const char*>(value), size);
09179 }
09180 inline ::std::string* StaticGameData::mutable_maphash() {
09181   _set_bit(7);
09182   if (maphash_ == &_default_maphash_) {
09183     maphash_ = new ::std::string;
09184   }
09185   return maphash_;
09186 }
09187 
09188 // repeated fixed32 walkable = 9;
09189 inline int StaticGameData::walkable_size() const {
09190   return walkable_.size();
09191 }
09192 inline void StaticGameData::clear_walkable() {
09193   walkable_.Clear();
09194 }
09195 inline ::google::protobuf::uint32 StaticGameData::walkable(int index) const {
09196   return walkable_.Get(index);
09197 }
09198 inline void StaticGameData::set_walkable(int index, ::google::protobuf::uint32 value) {
09199   walkable_.Set(index, value);
09200 }
09201 inline void StaticGameData::add_walkable(::google::protobuf::uint32 value) {
09202   walkable_.Add(value);
09203 }
09204 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
09205 StaticGameData::walkable() const {
09206   return walkable_;
09207 }
09208 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
09209 StaticGameData::mutable_walkable() {
09210   return &walkable_;
09211 }
09212 
09213 // repeated fixed32 buildable = 10;
09214 inline int StaticGameData::buildable_size() const {
09215   return buildable_.size();
09216 }
09217 inline void StaticGameData::clear_buildable() {
09218   buildable_.Clear();
09219 }
09220 inline ::google::protobuf::uint32 StaticGameData::buildable(int index) const {
09221   return buildable_.Get(index);
09222 }
09223 inline void StaticGameData::set_buildable(int index, ::google::protobuf::uint32 value) {
09224   buildable_.Set(index, value);
09225 }
09226 inline void StaticGameData::add_buildable(::google::protobuf::uint32 value) {
09227   buildable_.Add(value);
09228 }
09229 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
09230 StaticGameData::buildable() const {
09231   return buildable_;
09232 }
09233 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
09234 StaticGameData::mutable_buildable() {
09235   return &buildable_;
09236 }
09237 
09238 // repeated int32 groundHeight = 17;
09239 inline int StaticGameData::groundheight_size() const {
09240   return groundheight_.size();
09241 }
09242 inline void StaticGameData::clear_groundheight() {
09243   groundheight_.Clear();
09244 }
09245 inline ::google::protobuf::int32 StaticGameData::groundheight(int index) const {
09246   return groundheight_.Get(index);
09247 }
09248 inline void StaticGameData::set_groundheight(int index, ::google::protobuf::int32 value) {
09249   groundheight_.Set(index, value);
09250 }
09251 inline void StaticGameData::add_groundheight(::google::protobuf::int32 value) {
09252   groundheight_.Add(value);
09253 }
09254 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
09255 StaticGameData::groundheight() const {
09256   return groundheight_;
09257 }
09258 inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
09259 StaticGameData::mutable_groundheight() {
09260   return &groundheight_;
09261 }
09262 
09263 // repeated .messages.UnitTypeData unitTypes = 11;
09264 inline int StaticGameData::unittypes_size() const {
09265   return unittypes_.size();
09266 }
09267 inline void StaticGameData::clear_unittypes() {
09268   unittypes_.Clear();
09269 }
09270 inline const ::messages::UnitTypeData& StaticGameData::unittypes(int index) const {
09271   return unittypes_.Get(index);
09272 }
09273 inline ::messages::UnitTypeData* StaticGameData::mutable_unittypes(int index) {
09274   return unittypes_.Mutable(index);
09275 }
09276 inline ::messages::UnitTypeData* StaticGameData::add_unittypes() {
09277   return unittypes_.Add();
09278 }
09279 inline const ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeData >&
09280 StaticGameData::unittypes() const {
09281   return unittypes_;
09282 }
09283 inline ::google::protobuf::RepeatedPtrField< ::messages::UnitTypeData >*
09284 StaticGameData::mutable_unittypes() {
09285   return &unittypes_;
09286 }
09287 
09288 // repeated .messages.WeaponTypeData weapons = 12;
09289 inline int StaticGameData::weapons_size() const {
09290   return weapons_.size();
09291 }
09292 inline void StaticGameData::clear_weapons() {
09293   weapons_.Clear();
09294 }
09295 inline const ::messages::WeaponTypeData& StaticGameData::weapons(int index) const {
09296   return weapons_.Get(index);
09297 }
09298 inline ::messages::WeaponTypeData* StaticGameData::mutable_weapons(int index) {
09299   return weapons_.Mutable(index);
09300 }
09301 inline ::messages::WeaponTypeData* StaticGameData::add_weapons() {
09302   return weapons_.Add();
09303 }
09304 inline const ::google::protobuf::RepeatedPtrField< ::messages::WeaponTypeData >&
09305 StaticGameData::weapons() const {
09306   return weapons_;
09307 }
09308 inline ::google::protobuf::RepeatedPtrField< ::messages::WeaponTypeData >*
09309 StaticGameData::mutable_weapons() {
09310   return &weapons_;
09311 }
09312 
09313 // repeated .messages.UpgradeTypeData upgrades = 13;
09314 inline int StaticGameData::upgrades_size() const {
09315   return upgrades_.size();
09316 }
09317 inline void StaticGameData::clear_upgrades() {
09318   upgrades_.Clear();
09319 }
09320 inline const ::messages::UpgradeTypeData& StaticGameData::upgrades(int index) const {
09321   return upgrades_.Get(index);
09322 }
09323 inline ::messages::UpgradeTypeData* StaticGameData::mutable_upgrades(int index) {
09324   return upgrades_.Mutable(index);
09325 }
09326 inline ::messages::UpgradeTypeData* StaticGameData::add_upgrades() {
09327   return upgrades_.Add();
09328 }
09329 inline const ::google::protobuf::RepeatedPtrField< ::messages::UpgradeTypeData >&
09330 StaticGameData::upgrades() const {
09331   return upgrades_;
09332 }
09333 inline ::google::protobuf::RepeatedPtrField< ::messages::UpgradeTypeData >*
09334 StaticGameData::mutable_upgrades() {
09335   return &upgrades_;
09336 }
09337 
09338 // repeated .messages.TechTypeData techs = 14;
09339 inline int StaticGameData::techs_size() const {
09340   return techs_.size();
09341 }
09342 inline void StaticGameData::clear_techs() {
09343   techs_.Clear();
09344 }
09345 inline const ::messages::TechTypeData& StaticGameData::techs(int index) const {
09346   return techs_.Get(index);
09347 }
09348 inline ::messages::TechTypeData* StaticGameData::mutable_techs(int index) {
09349   return techs_.Mutable(index);
09350 }
09351 inline ::messages::TechTypeData* StaticGameData::add_techs() {
09352   return techs_.Add();
09353 }
09354 inline const ::google::protobuf::RepeatedPtrField< ::messages::TechTypeData >&
09355 StaticGameData::techs() const {
09356   return techs_;
09357 }
09358 inline ::google::protobuf::RepeatedPtrField< ::messages::TechTypeData >*
09359 StaticGameData::mutable_techs() {
09360   return &techs_;
09361 }
09362 
09363 // repeated .messages.Color colors = 15;
09364 inline int StaticGameData::colors_size() const {
09365   return colors_.size();
09366 }
09367 inline void StaticGameData::clear_colors() {
09368   colors_.Clear();
09369 }
09370 inline const ::messages::Color& StaticGameData::colors(int index) const {
09371   return colors_.Get(index);
09372 }
09373 inline ::messages::Color* StaticGameData::mutable_colors(int index) {
09374   return colors_.Mutable(index);
09375 }
09376 inline ::messages::Color* StaticGameData::add_colors() {
09377   return colors_.Add();
09378 }
09379 inline const ::google::protobuf::RepeatedPtrField< ::messages::Color >&
09380 StaticGameData::colors() const {
09381   return colors_;
09382 }
09383 inline ::google::protobuf::RepeatedPtrField< ::messages::Color >*
09384 StaticGameData::mutable_colors() {
09385   return &colors_;
09386 }
09387 
09388 // repeated .messages.RaceData races = 18;
09389 inline int StaticGameData::races_size() const {
09390   return races_.size();
09391 }
09392 inline void StaticGameData::clear_races() {
09393   races_.Clear();
09394 }
09395 inline const ::messages::RaceData& StaticGameData::races(int index) const {
09396   return races_.Get(index);
09397 }
09398 inline ::messages::RaceData* StaticGameData::mutable_races(int index) {
09399   return races_.Mutable(index);
09400 }
09401 inline ::messages::RaceData* StaticGameData::add_races() {
09402   return races_.Add();
09403 }
09404 inline const ::google::protobuf::RepeatedPtrField< ::messages::RaceData >&
09405 StaticGameData::races() const {
09406   return races_;
09407 }
09408 inline ::google::protobuf::RepeatedPtrField< ::messages::RaceData >*
09409 StaticGameData::mutable_races() {
09410   return &races_;
09411 }
09412 
09413 // repeated .messages.TilePosition startLocations = 16;
09414 inline int StaticGameData::startlocations_size() const {
09415   return startlocations_.size();
09416 }
09417 inline void StaticGameData::clear_startlocations() {
09418   startlocations_.Clear();
09419 }
09420 inline const ::messages::TilePosition& StaticGameData::startlocations(int index) const {
09421   return startlocations_.Get(index);
09422 }
09423 inline ::messages::TilePosition* StaticGameData::mutable_startlocations(int index) {
09424   return startlocations_.Mutable(index);
09425 }
09426 inline ::messages::TilePosition* StaticGameData::add_startlocations() {
09427   return startlocations_.Add();
09428 }
09429 inline const ::google::protobuf::RepeatedPtrField< ::messages::TilePosition >&
09430 StaticGameData::startlocations() const {
09431   return startlocations_;
09432 }
09433 inline ::google::protobuf::RepeatedPtrField< ::messages::TilePosition >*
09434 StaticGameData::mutable_startlocations() {
09435   return &startlocations_;
09436 }
09437 
09438 // -------------------------------------------------------------------
09439 
09440 // Bullet
09441 
09442 // required int32 id = 1;
09443 inline bool Bullet::has_id() const {
09444   return _has_bit(0);
09445 }
09446 inline void Bullet::clear_id() {
09447   id_ = 0;
09448   _clear_bit(0);
09449 }
09450 inline ::google::protobuf::int32 Bullet::id() const {
09451   return id_;
09452 }
09453 inline void Bullet::set_id(::google::protobuf::int32 value) {
09454   _set_bit(0);
09455   id_ = value;
09456 }
09457 
09458 // optional int32 player = 2;
09459 inline bool Bullet::has_player() const {
09460   return _has_bit(1);
09461 }
09462 inline void Bullet::clear_player() {
09463   player_ = 0;
09464   _clear_bit(1);
09465 }
09466 inline ::google::protobuf::int32 Bullet::player() const {
09467   return player_;
09468 }
09469 inline void Bullet::set_player(::google::protobuf::int32 value) {
09470   _set_bit(1);
09471   player_ = value;
09472 }
09473 
09474 // required .messages.BulletType type = 3;
09475 inline bool Bullet::has_type() const {
09476   return _has_bit(2);
09477 }
09478 inline void Bullet::clear_type() {
09479   type_ = 0;
09480   _clear_bit(2);
09481 }
09482 inline messages::BulletType Bullet::type() const {
09483   return static_cast< messages::BulletType >(type_);
09484 }
09485 inline void Bullet::set_type(messages::BulletType value) {
09486   GOOGLE_DCHECK(messages::BulletType_IsValid(value));
09487   _set_bit(2);
09488   type_ = value;
09489 }
09490 
09491 // optional .messages.UnitId source = 4;
09492 inline bool Bullet::has_source() const {
09493   return _has_bit(3);
09494 }
09495 inline void Bullet::clear_source() {
09496   if (source_ != NULL) source_->::messages::UnitId::Clear();
09497   _clear_bit(3);
09498 }
09499 inline const ::messages::UnitId& Bullet::source() const {
09500   return source_ != NULL ? *source_ : *default_instance_->source_;
09501 }
09502 inline ::messages::UnitId* Bullet::mutable_source() {
09503   _set_bit(3);
09504   if (source_ == NULL) source_ = new ::messages::UnitId;
09505   return source_;
09506 }
09507 
09508 // required .messages.Position position = 5;
09509 inline bool Bullet::has_position() const {
09510   return _has_bit(4);
09511 }
09512 inline void Bullet::clear_position() {
09513   if (position_ != NULL) position_->::messages::Position::Clear();
09514   _clear_bit(4);
09515 }
09516 inline const ::messages::Position& Bullet::position() const {
09517   return position_ != NULL ? *position_ : *default_instance_->position_;
09518 }
09519 inline ::messages::Position* Bullet::mutable_position() {
09520   _set_bit(4);
09521   if (position_ == NULL) position_ = new ::messages::Position;
09522   return position_;
09523 }
09524 
09525 // required double angle = 6;
09526 inline bool Bullet::has_angle() const {
09527   return _has_bit(5);
09528 }
09529 inline void Bullet::clear_angle() {
09530   angle_ = 0;
09531   _clear_bit(5);
09532 }
09533 inline double Bullet::angle() const {
09534   return angle_;
09535 }
09536 inline void Bullet::set_angle(double value) {
09537   _set_bit(5);
09538   angle_ = value;
09539 }
09540 
09541 // required double velocityX = 7;
09542 inline bool Bullet::has_velocityx() const {
09543   return _has_bit(6);
09544 }
09545 inline void Bullet::clear_velocityx() {
09546   velocityx_ = 0;
09547   _clear_bit(6);
09548 }
09549 inline double Bullet::velocityx() const {
09550   return velocityx_;
09551 }
09552 inline void Bullet::set_velocityx(double value) {
09553   _set_bit(6);
09554   velocityx_ = value;
09555 }
09556 
09557 // required double velocityY = 8;
09558 inline bool Bullet::has_velocityy() const {
09559   return _has_bit(7);
09560 }
09561 inline void Bullet::clear_velocityy() {
09562   velocityy_ = 0;
09563   _clear_bit(7);
09564 }
09565 inline double Bullet::velocityy() const {
09566   return velocityy_;
09567 }
09568 inline void Bullet::set_velocityy(double value) {
09569   _set_bit(7);
09570   velocityy_ = value;
09571 }
09572 
09573 // optional .messages.UnitId target = 9;
09574 inline bool Bullet::has_target() const {
09575   return _has_bit(8);
09576 }
09577 inline void Bullet::clear_target() {
09578   if (target_ != NULL) target_->::messages::UnitId::Clear();
09579   _clear_bit(8);
09580 }
09581 inline const ::messages::UnitId& Bullet::target() const {
09582   return target_ != NULL ? *target_ : *default_instance_->target_;
09583 }
09584 inline ::messages::UnitId* Bullet::mutable_target() {
09585   _set_bit(8);
09586   if (target_ == NULL) target_ = new ::messages::UnitId;
09587   return target_;
09588 }
09589 
09590 // required .messages.Position targetPosition = 10;
09591 inline bool Bullet::has_targetposition() const {
09592   return _has_bit(9);
09593 }
09594 inline void Bullet::clear_targetposition() {
09595   if (targetposition_ != NULL) targetposition_->::messages::Position::Clear();
09596   _clear_bit(9);
09597 }
09598 inline const ::messages::Position& Bullet::targetposition() const {
09599   return targetposition_ != NULL ? *targetposition_ : *default_instance_->targetposition_;
09600 }
09601 inline ::messages::Position* Bullet::mutable_targetposition() {
09602   _set_bit(9);
09603   if (targetposition_ == NULL) targetposition_ = new ::messages::Position;
09604   return targetposition_;
09605 }
09606 
09607 // required int32 removeTimer = 11;
09608 inline bool Bullet::has_removetimer() const {
09609   return _has_bit(10);
09610 }
09611 inline void Bullet::clear_removetimer() {
09612   removetimer_ = 0;
09613   _clear_bit(10);
09614 }
09615 inline ::google::protobuf::int32 Bullet::removetimer() const {
09616   return removetimer_;
09617 }
09618 inline void Bullet::set_removetimer(::google::protobuf::int32 value) {
09619   _set_bit(10);
09620   removetimer_ = value;
09621 }
09622 
09623 // required bool exists = 12;
09624 inline bool Bullet::has_exists() const {
09625   return _has_bit(11);
09626 }
09627 inline void Bullet::clear_exists() {
09628   exists_ = false;
09629   _clear_bit(11);
09630 }
09631 inline bool Bullet::exists() const {
09632   return exists_;
09633 }
09634 inline void Bullet::set_exists(bool value) {
09635   _set_bit(11);
09636   exists_ = value;
09637 }
09638 
09639 // required bool isVisible = 13;
09640 inline bool Bullet::has_isvisible() const {
09641   return _has_bit(12);
09642 }
09643 inline void Bullet::clear_isvisible() {
09644   isvisible_ = false;
09645   _clear_bit(12);
09646 }
09647 inline bool Bullet::isvisible() const {
09648   return isvisible_;
09649 }
09650 inline void Bullet::set_isvisible(bool value) {
09651   _set_bit(12);
09652   isvisible_ = value;
09653 }
09654 
09655 
09656 // @@protoc_insertion_point(namespace_scope)
09657 
09658 }  // namespace messages
09659 
09660 #ifndef SWIG
09661 namespace google {
09662 namespace protobuf {
09663 
09664 template <>
09665 inline const EnumDescriptor* GetEnumDescriptor< messages::UnitSizeType>() {
09666   return messages::UnitSizeType_descriptor();
09667 }
09668 template <>
09669 inline const EnumDescriptor* GetEnumDescriptor< messages::Race>() {
09670   return messages::Race_descriptor();
09671 }
09672 template <>
09673 inline const EnumDescriptor* GetEnumDescriptor< messages::PlayerStance>() {
09674   return messages::PlayerStance_descriptor();
09675 }
09676 template <>
09677 inline const EnumDescriptor* GetEnumDescriptor< messages::DamageType>() {
09678   return messages::DamageType_descriptor();
09679 }
09680 template <>
09681 inline const EnumDescriptor* GetEnumDescriptor< messages::ExplosionType>() {
09682   return messages::ExplosionType_descriptor();
09683 }
09684 template <>
09685 inline const EnumDescriptor* GetEnumDescriptor< messages::BulletType>() {
09686   return messages::BulletType_descriptor();
09687 }
09688 
09689 }  // namespace google
09690 }  // namespace protobuf
09691 #endif  // SWIG
09692 
09693 // @@protoc_insertion_point(global_scope)
09694 
09695 #endif  // PROTOBUF_unit_2eproto__INCLUDED
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines