AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
GameObjectAIFactory< REAL_GO_AI > Struct Template Reference

#include "GameObjectAIFactory.h"

Inheritance diagram for GameObjectAIFactory< REAL_GO_AI >:
SelectableGameObjectAI FactoryHolder< T, O, Key > Permissible< GameObject >

Public Member Functions

 GameObjectAIFactory (std::string const &name)
 
GameObjectAICreate (GameObject *go) const override
 
int32 Permit (GameObject const *go) const override
 
- Public Member Functions inherited from SelectableGameObjectAI
 SelectableGameObjectAI (std::string const &name)
 
- Public Member Functions inherited from FactoryHolder< T, O, Key >
 FactoryHolder (Key const &k)
 
virtual ~FactoryHolder ()
 
void RegisterSelf ()
 
virtual T * Create (O *object=nullptr) const =0
 Abstract Factory create method.
 
- Public Member Functions inherited from Permissible< GameObject >
virtual ~Permissible ()
 
virtual int32 Permit (GameObject const *) const=0
 

Additional Inherited Members

- Public Types inherited from FactoryHolder< T, O, Key >
typedef ObjectRegistry< FactoryHolder< T, O, Key >, Key > FactoryHolderRegistry
 

Detailed Description

template<class REAL_GO_AI>
struct GameObjectAIFactory< REAL_GO_AI >

Constructor & Destructor Documentation

◆ GameObjectAIFactory()

template<class REAL_GO_AI >
GameObjectAIFactory< REAL_GO_AI >::GameObjectAIFactory ( std::string const &  name)
inline
35: SelectableGameObjectAI(name) { }
Definition: GameObjectAIFactory.h:28

Member Function Documentation

◆ Create()

template<class REAL_GO_AI >
GameObjectAI * GameObjectAIFactory< REAL_GO_AI >::Create ( GameObject go) const
inlineoverride
38 {
39 return new REAL_GO_AI(go);
40 }

◆ Permit()

template<class REAL_GO_AI >
int32 GameObjectAIFactory< REAL_GO_AI >::Permit ( GameObject const *  go) const
inlineoverridevirtual

Implements Permissible< GameObject >.

43 {
44 return REAL_GO_AI::Permissible(go);
45 }