Core/Object: use the final keyword for several (World)Object classes that should not get derived from (#29585)

This commit is contained in:
Ovahlord
2024-01-22 08:57:06 +01:00
committed by GitHub
parent a4a4d010a0
commit b81fa2e8a3
12 changed files with 12 additions and 12 deletions

View File

@@ -39,7 +39,7 @@ namespace Movement
class Spline;
}
class TC_GAME_API AreaTrigger : public WorldObject, public GridObject<AreaTrigger>, public MapObject
class TC_GAME_API AreaTrigger final : public WorldObject, public GridObject<AreaTrigger>, public MapObject
{
public:
AreaTrigger();

View File

@@ -26,7 +26,7 @@ class Unit;
class SpellInfo;
enum class ConversationActorType : uint32;
class TC_GAME_API Conversation : public WorldObject, public GridObject<Conversation>
class TC_GAME_API Conversation final : public WorldObject, public GridObject<Conversation>
{
public:
Conversation();

View File

@@ -49,7 +49,7 @@ enum CorpseFlags
CORPSE_FLAG_FFA_PVP = 0x40
};
class TC_GAME_API Corpse : public WorldObject, public GridObject<Corpse>
class TC_GAME_API Corpse final : public WorldObject, public GridObject<Corpse>
{
public:
explicit Corpse(CorpseType type = CORPSE_BONES);

View File

@@ -33,7 +33,7 @@ enum DynamicObjectType
DYNAMIC_OBJECT_FARSIGHT_FOCUS = 0x2
};
class TC_GAME_API DynamicObject : public WorldObject, public GridObject<DynamicObject>, public MapObject
class TC_GAME_API DynamicObject final : public WorldObject, public GridObject<DynamicObject>, public MapObject
{
public:
DynamicObject(bool isWorldObject);

View File

@@ -20,7 +20,7 @@
#include "Item.h"
class TC_GAME_API AzeriteEmpoweredItem : public Item
class TC_GAME_API AzeriteEmpoweredItem final : public Item
{
public:
AzeriteEmpoweredItem();

View File

@@ -26,7 +26,7 @@ constexpr uint32 MAX_AZERITE_ITEM_KNOWLEDGE_LEVEL = 30;
constexpr uint32 PLAYER_CONDITION_ID_UNLOCKED_AZERITE_ESSENCES = 69048;
constexpr uint32 SPELL_ID_HEART_ESSENCE_ACTION_BAR_OVERRIDE = 298554;
class TC_GAME_API AzeriteItem : public Item
class TC_GAME_API AzeriteItem final : public Item
{
public:
AzeriteItem();

View File

@@ -36,7 +36,7 @@ typedef std::vector<uint32> AutoSpellList;
class Player;
class PetAura;
class TC_GAME_API Pet : public Guardian
class TC_GAME_API Pet final : public Guardian
{
public:
explicit Pet(Player* owner, PetType type = MAX_PET_TYPE);

View File

@@ -1105,7 +1105,7 @@ enum class ZonePVPTypeOverride : uint32
Combat = 4
};
class TC_GAME_API Player : public Unit, public GridObject<Player>
class TC_GAME_API Player final : public Unit, public GridObject<Player>
{
friend class WorldSession;
friend class CinematicMgr;

View File

@@ -29,7 +29,7 @@ enum class SceneType : uint32
PetBattle = 1
};
class TC_GAME_API SceneObject : public WorldObject, public GridObject<SceneObject>
class TC_GAME_API SceneObject final : public WorldObject, public GridObject<SceneObject>
{
public:
SceneObject();

View File

@@ -27,7 +27,7 @@ enum TotemType
TOTEM_STATUE = 2 // copied straight from MaNGOS, may need more implementation to work
};
class TC_GAME_API Totem : public Minion
class TC_GAME_API Totem final : public Minion
{
public:
Totem(SummonPropertiesEntry const* properties, Unit* owner);

View File

@@ -26,7 +26,7 @@
struct CreatureData;
struct SummonPropertiesEntry;
class TC_GAME_API Transport : public GameObject, public TransportBase
class TC_GAME_API Transport final : public GameObject, public TransportBase
{
friend Transport* TransportMgr::CreateTransport(uint32, Map*, ObjectGuid::LowType, uint8, uint32, uint32);

View File

@@ -27,7 +27,7 @@ struct VehicleEntry;
class Unit;
class VehicleJoinEvent;
class TC_GAME_API Vehicle : public TransportBase
class TC_GAME_API Vehicle final : public TransportBase
{
public:
Vehicle(Unit* unit, VehicleEntry const* vehInfo, uint32 creatureEntry);