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
38template
39<
40class ACTIVE_OBJECT,
41class WORLD_OBJECT_TYPES,
42class GRID_OBJECT_TYPES
43>
44class 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