TrinityCore
Loading...
Searching...
No Matches
TraitPacketsCommon.h
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef TRINITYCORE_TRAIT_PACKETS_COMMON_H
19#define TRINITYCORE_TRAIT_PACKETS_COMMON_H
20
21#include "PacketUtilities.h"
22
23enum class TraitCombatConfigFlags : int32;
24enum class TraitConfigType : int32;
25
26namespace UF
27{
28struct TraitConfig;
29struct TraitEntry;
30struct TraitSubTreeCache;
31}
32
34{
46
48{
50 explicit TraitSubTreeCache(UF::TraitSubTreeCache const& ufSubTreeCache);
51
53 std::vector<TraitEntry> Entries;
54 bool Active = false;
55};
56
58{
60 explicit TraitConfig(UF::TraitConfig const& ufConfig);
61
62 int32 ID = 0;
66 int32 LocalIdentifier = 0; // Local to specialization
70 std::vector<TraitEntry> Entries;
71 std::vector<TraitSubTreeCache> SubTrees;
73};
74
75ByteBuffer& operator>>(ByteBuffer& data, TraitEntry& traitEntry);
76ByteBuffer& operator<<(ByteBuffer& data, TraitEntry const& traitEntry);
77ByteBuffer& operator>>(ByteBuffer& data, TraitSubTreeCache& traitSubTreeCache);
78ByteBuffer& operator<<(ByteBuffer& data, TraitSubTreeCache const& traitSubTreeCache);
79ByteBuffer& operator>>(ByteBuffer& data, TraitConfig& traitConfig);
80ByteBuffer& operator<<(ByteBuffer& data, TraitConfig const& traitConfig);
81}
82
83#endif // TRINITYCORE_TRAIT_PACKETS_COMMON_H
TraitConfigType
Definition DBCEnums.h:2851
TraitCombatConfigFlags
Definition DBCEnums.h:2821
int32_t int32
Definition Define.h:150
ByteBuffer & operator>>(ByteBuffer &data, TraitEntry &traitEntry)
ByteBuffer & operator<<(ByteBuffer &data, TraitEntry const &traitEntry)
TraitCombatConfigFlags CombatConfigFlags
std::vector< TraitSubTreeCache > SubTrees
std::vector< TraitEntry > Entries