TrinityCore
SelectableAI.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 SelectableAI_h__
19
#define SelectableAI_h__
20
21
#include "
FactoryHolder.h
"
22
23
class
DBPermit
24
{
25
public
:
26
virtual
~DBPermit
() { }
27
virtual
bool
IsScriptNameAllowedInDB
()
const
= 0;
28
};
29
30
template
<
class
O,
class
AI>
31
struct
SelectableAI
:
public
FactoryHolder
<AI, O>,
public
Permissible
<O>,
public
DBPermit
32
{
33
SelectableAI
(std::string
const
& name,
uint32
scriptId,
bool
isDBAllowed)
34
:
FactoryHolder
<AI, O>(name),
Permissible
<O>(),
DBPermit
(),
_scriptId
(scriptId),
_isDBAllowed
(isDBAllowed) { }
35
36
bool
IsScriptNameAllowedInDB
() const final
override
{
return
_isDBAllowed
; }
37
38
uint32
GetScriptId
()
const
{
return
_scriptId
; }
39
40
private
:
41
uint32
_scriptId
;
42
bool
_isDBAllowed
;
43
};
44
45
#endif
// SelectableAI_h__
uint32
uint32_t uint32
Definition:
Define.h:142
FactoryHolder.h
DBPermit
Definition:
SelectableAI.h:24
DBPermit::~DBPermit
virtual ~DBPermit()
Definition:
SelectableAI.h:26
DBPermit::IsScriptNameAllowedInDB
virtual bool IsScriptNameAllowedInDB() const =0
FactoryHolder
Definition:
FactoryHolder.h:28
Permissible
Definition:
FactoryHolder.h:49
SelectableAI
Definition:
SelectableAI.h:32
SelectableAI::_isDBAllowed
bool _isDBAllowed
Definition:
SelectableAI.h:42
SelectableAI::GetScriptId
uint32 GetScriptId() const
Definition:
SelectableAI.h:38
SelectableAI::SelectableAI
SelectableAI(std::string const &name, uint32 scriptId, bool isDBAllowed)
Definition:
SelectableAI.h:33
SelectableAI::IsScriptNameAllowedInDB
bool IsScriptNameAllowedInDB() const final override
Definition:
SelectableAI.h:36
SelectableAI::_scriptId
uint32 _scriptId
Definition:
SelectableAI.h:41
server
game
AI
SelectableAI.h
Generated on Tue Mar 18 2025 20:54:00 for TrinityCore by
1.9.4