TrinityCore
Loading...
Searching...
No Matches
GameObjectAIFactory.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 TRINITY_GAMEOBJECTAIFACTORY_H
19
#define TRINITY_GAMEOBJECTAIFACTORY_H
20
21
#include "
ObjectRegistry.h
"
22
#include "
SelectableAI.h
"
23
24
class
GameObject
;
25
class
GameObjectAI
;
26
27
template
<
class
REAL_GO_AI,
bool
is_db_allowed = true>
28
struct
GameObjectAIFactory
:
public
SelectableAI
<GameObject, GameObjectAI, is_db_allowed>
29
{
30
GameObjectAIFactory
(std::string
const
& name) :
SelectableAI
<
GameObject
,
GameObjectAI
, is_db_allowed>(name) { }
31
32
GameObjectAI
*
Create
(
GameObject
* go)
const override
33
{
34
return
new
REAL_GO_AI(go);
35
}
36
37
int32
Permit
(
GameObject
const
* go)
const override
38
{
39
return
REAL_GO_AI::Permissible(go);
40
}
41
};
42
43
typedef
SelectableAI<GameObject, GameObjectAI>::FactoryHolderRegistry
GameObjectAIRegistry
;
44
45
#define sGameObjectAIRegistry GameObjectAIRegistry::instance()
46
47
#endif
int32
int32_t int32
Definition
Define.h:129
GameObjectAIRegistry
SelectableAI< GameObject, GameObjectAI >::FactoryHolderRegistry GameObjectAIRegistry
Definition
GameObjectAIFactory.h:43
ObjectRegistry.h
SelectableAI.h
GameObjectAI
Definition
GameObjectAI.h:33
GameObject
Definition
GameObject.h:86
ObjectRegistry
Definition
ObjectRegistry.h:32
GameObjectAIFactory
Definition
GameObjectAIFactory.h:29
GameObjectAIFactory::Create
GameObjectAI * Create(GameObject *go) const override
Definition
GameObjectAIFactory.h:32
GameObjectAIFactory::GameObjectAIFactory
GameObjectAIFactory(std::string const &name)
Definition
GameObjectAIFactory.h:30
GameObjectAIFactory::Permit
int32 Permit(GameObject const *go) const override
Definition
GameObjectAIFactory.h:37
SelectableAI
Definition
SelectableAI.h:32
server
game
AI
GameObjectAIFactory.h
Generated on Sun May 10 2026 02:30:13 for TrinityCore by
1.9.8