blob: 5fc43afe80414de41310fb3861ad5fcd4d7f327e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
#pragma once
#include "cAuthenticator.h"
class cThread;
class cMonsterConfig;
class cGroupManager;
class cRecipeChecker;
class cFurnaceRecipe;
class cWebAdmin;
class cPluginManager;
class cServer;
class cWorld;
class cPlayer;
typedef cItemCallback<cPlayer> cPlayerListCallback;
typedef cItemCallback<cWorld> cWorldListCallback;
class cRoot //tolua_export
{ //tolua_export
public:
static cRoot* Get() { return s_Root; } //tolua_export
cRoot();
~cRoot();
void Start();
cServer* GetServer(void) { return m_Server; } //tolua_export
cWorld* GetDefaultWorld(void); //tolua_export
cWorld* GetWorld( const AString & a_WorldName ); //tolua_export
/// Calls the callback for each world; returns true if the callback didn't abort (return true)
bool ForEachWorld(cWorldListCallback & a_Callback); // >> Exported in ManualBindings <<
cMonsterConfig *GetMonsterConfig() { return m_MonsterConfig;}
cGroupManager * GetGroupManager (void) { return m_GroupManager; } // tolua_export
cRecipeChecker * GetRecipeChecker(void) { return m_RecipeChecker; } // tolua_export
cFurnaceRecipe * GetFurnaceRecipe(void) { return m_FurnaceRecipe; } // tolua_export
cWebAdmin * GetWebAdmin (void) { return m_WebAdmin; } // tolua_export
cPluginManager * GetPluginManager(void) { return m_PluginManager; } // tolua_export
cAuthenticator & GetAuthenticator(void) { return m_Authenticator; }
void ServerCommand(const char* a_Cmd ); //tolua_export
void KickUser(int a_ClientID, const AString & a_Reason); // Kicks the user, no matter in what world they are. Used from cAuthenticator
void AuthenticateUser(int a_ClientID); // Called by cAuthenticator to auth the specified user
void TickWorlds( float a_Dt );
/// Returns the number of chunks loaded
int GetTotalChunkCount(void); // tolua_export
/// Saves all chunks in all worlds
void SaveAllChunks(void);
/// Calls the callback for each player in all worlds
bool ForEachPlayer(cPlayerListCallback & a_Callback);
private:
void LoadGlobalSettings();
void LoadWorlds();
void UnloadWorlds();
cServer * m_Server;
cMonsterConfig * m_MonsterConfig;
cGroupManager * m_GroupManager;
cRecipeChecker * m_RecipeChecker;
cFurnaceRecipe * m_FurnaceRecipe;
cWebAdmin * m_WebAdmin;
cPluginManager * m_PluginManager;
cAuthenticator m_Authenticator;
cMCLogger * m_Log;
bool m_bStop;
bool m_bRestart;
struct sRootState;
sRootState* m_pState;
cThread* m_InputThread;
static void InputThread(void* a_Params);
static cRoot* s_Root;
}; //tolua_export
|