Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
GridStates.h
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#ifndef SKYFIRE_GRIDSTATES_H
7#define SKYFIRE_GRIDSTATES_H
8
9#include "GridDefines.h"
10#include "NGrid.h"
11
12class Map;
13
15{
16public:
17#ifdef SKYFIRE_DEBUG
18#define MAGIC_TESTVAL 0xFBE823BA
19 GridState() { i_Magic = MAGIC_TESTVAL; }
20 bool checkMagic();
21 void setMagic() { i_Magic = MAGIC_TESTVAL; }
22 unsigned int i_Magic;
23#endif
24 virtual ~GridState() { };
25 virtual void Update(Map&, NGridType&, GridInfo&, uint32 t_diff) const = 0;
26};
27
28class InvalidState : public GridState
29{
30public:
31 void Update(Map&, NGridType&, GridInfo&, uint32 t_diff) const;
32};
33
34class ActiveState : public GridState
35{
36public:
37 void Update(Map&, NGridType&, GridInfo&, uint32 t_diff) const;
38};
39
40class IdleState : public GridState
41{
42public:
43 void Update(Map&, NGridType&, GridInfo&, uint32 t_diff) const;
44};
45
46class RemovalState : public GridState
47{
48public:
49 void Update(Map&, NGridType&, GridInfo&, uint32 t_diff) const;
50};
51#endif
std::uint32_t uint32
Definition Define.h:77
NGrid< MAX_NUMBER_OF_CELLS, Player, AllWorldObjectTypes, AllGridObjectTypes > NGridType
Definition GridDefines.h:69
void Update(Map &, NGridType &, GridInfo &, uint32 t_diff) const
virtual ~GridState()
Definition GridStates.h:24
virtual void Update(Map &, NGridType &, GridInfo &, uint32 t_diff) const =0
void Update(Map &, NGridType &, GridInfo &, uint32 t_diff) const
void Update(Map &, NGridType &, GridInfo &, uint32 t_diff) const
Definition Map.h:238
void Update(Map &, NGridType &, GridInfo &, uint32 t_diff) const