69 data >> traitEntry.
Rank;
91 if (entriesSize > 100)
94 traitSubTreeCache.
Entries.resize(entriesSize);
98 data >> Bits<1>(traitSubTreeCache.
Active);
106 data << Size<uint32>(traitSubTreeCache.
Entries);
111 data << Bits<1>(traitSubTreeCache.
Active);
119 data >> traitConfig.
ID;
120 data >> As<int32>(traitConfig.
Type);
122 if (entriesSize > 100)
125 traitConfig.
Entries.resize(entriesSize);
128 if (subtreesSize > 10)
131 traitConfig.
SubTrees.resize(subtreesSize);
133 switch (traitConfig.
Type)
154 data >> SizedString::BitsSize<9>(traitConfig.
Name);
157 data >> traitSubTreeCache;
159 data >> SizedString::Data<Strings::DontValidateUtf8>(traitConfig.
Name);
168 data << Size<uint32>(traitConfig.
Entries);
169 data << Size<uint32>(traitConfig.
SubTrees);
170 switch (traitConfig.
Type)
191 data << SizedString::BitsSize<9>(traitConfig.
Name);
194 data << traitSubTreeCache;
198 data << SizedString::Data(static_cast<std::string const&>(traitConfig.
Name));
ByteBuffer & operator>>(ByteBuffer &data, TraitEntry &traitEntry)
ByteBuffer & operator<<(ByteBuffer &data, TraitEntry const &traitEntry)
void OnInvalidArraySize(std::size_t requestedSize, std::size_t sizeLimit)
UpdateField< int32, 12, 13 > TraitSystemID
UpdateField< int32, 4, 6 > Type
DynamicUpdateField< UF::TraitEntry, 0, 1 > Entries
UpdateField< int32, 0, 3 > ID
UpdateField< std::string, 4, 5 > Name
UpdateField< int32, 12, 14 > VariationID
UpdateField< int32, 4, 7 > SkillLineID
DynamicUpdateField< UF::TraitSubTreeCache, 0, 2 > SubTrees
UpdateField< int32, 8, 10 > CombatConfigFlags
UpdateField< int32, 8, 9 > ChrSpecializationID
UpdateField< int32, 8, 11 > LocalIdentifier
std::vector< UF::TraitEntry > Entries
int32 ChrSpecializationID
TraitCombatConfigFlags CombatConfigFlags
std::vector< TraitSubTreeCache > SubTrees
std::vector< TraitEntry > Entries
std::vector< TraitEntry > Entries