TrinityCore
GridLoader.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_GRIDLOADER_H
19
#define TRINITY_GRIDLOADER_H
20
32
//I cannot see why this cannot be replaced by a Grid::Visit
33
/*
34
#include "Define.h"
35
#include "Grid.h"
36
#include "TypeContainerVisitor.h"
37
38
template
39
<
40
class ACTIVE_OBJECT,
41
class WORLD_OBJECT_TYPES,
42
class GRID_OBJECT_TYPES
43
>
44
class GridLoader
45
{
46
public:
47
48
// Loads the grid
49
template<class LOADER>
50
void Load(Grid<ACTIVE_OBJECT, WORLD_OBJECT_TYPES, GRID_OBJECT_TYPES> &grid, LOADER &loader)
51
{
52
grid.LockGrid();
53
loader.Load(grid);
54
grid.UnlockGrid();
55
}
56
57
// Stop the grid
58
template<class STOPER>
59
void Stop(Grid<ACTIVE_OBJECT, WORLD_OBJECT_TYPES, GRID_OBJECT_TYPES> &grid, STOPER &stoper)
60
{
61
grid.LockGrid();
62
stoper.Stop(grid);
63
grid.UnlockGrid();
64
}
65
66
// Unloads the grid
67
template<class UNLOADER>
68
void Unload(Grid<ACTIVE_OBJECT, WORLD_OBJECT_TYPES, GRID_OBJECT_TYPES> &grid, UNLOADER &unloader)
69
{
70
grid.LockGrid();
71
unloader.Unload(grid);
72
grid.UnlockGrid();
73
}
74
};
75
*/
76
#endif
server
game
Grids
GridLoader.h
Generated on Thu Mar 14 2024 23:39:16 for TrinityCore by
1.9.4