00001 //////////////////////////////////////////////////////////////////////////////// 00002 // Scorched3D (c) 2000-2009 00003 // 00004 // This file is part of Scorched3D. 00005 // 00006 // Scorched3D is free software; you can redistribute it and/or modify 00007 // it under the terms of the GNU General Public License as published by 00008 // the Free Software Foundation; either version 2 of the License, or 00009 // (at your option) any later version. 00010 // 00011 // Scorched3D is distributed in the hope that it will be useful, 00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 // GNU General Public License for more details. 00015 // 00016 // You should have received a copy of the GNU General Public License 00017 // along with Scorched3D; if not, write to the Free Software 00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00019 //////////////////////////////////////////////////////////////////////////////// 00020 00021 #if !defined(__INCLUDE_ScorchedContexth_INCLUDE__) 00022 #define __INCLUDE_ScorchedContexth_INCLUDE__ 00023 00024 class AccessoryStore; 00025 class ActionController; 00026 class GameState; 00027 class TargetSpace; 00028 class TargetContainer; 00029 class TargetMovement; 00030 class LandscapeMaps; 00031 class ComsMessageHandler; 00032 class NetInterface; 00033 class OptionsScorched; 00034 class OptionsTransient; 00035 class ViewPoints; 00036 class ModFiles; 00037 class LandscapeDefinitions; 00038 class TankContainer; 00039 class TankModelStore; 00040 class TankTeamScore; 00041 class LUAScriptFactory; 00042 class LUAScriptHook; 00043 00044 class ScorchedContext 00045 { 00046 public: 00047 ScorchedContext(const char *name, bool server); 00048 virtual ~ScorchedContext(); 00049 00050 bool getServerMode() { return serverMode; } 00051 00052 void setNetInterface(NetInterface *i) { netInterface = i; } 00053 NetInterface &getNetInterface() { return *netInterface; } 00054 bool getNetInterfaceValid() { return netInterface != 0; } 00055 00056 ViewPoints &getViewPoints() { return *viewPoints; } 00057 TargetSpace &getTargetSpace() { return *targetSpace; } 00058 AccessoryStore &getAccessoryStore() { return *accessoryStore; } 00059 GameState &getGameState() { return *gameState; } 00060 TankContainer &getTankContainer() { return *tankContainer; } 00061 TargetContainer &getTargetContainer() { return *targetContainer; } 00062 TargetMovement &getTargetMovement() { return *targetMovement; } 00063 TankTeamScore &getTankTeamScore() { return *tankTeamScore; } 00064 ActionController &getActionController() { return *actionController; } 00065 LandscapeMaps &getLandscapeMaps() { return *landscapeMaps; } 00066 OptionsScorched &getOptionsGame() { return *optionsGame; } 00067 OptionsTransient &getOptionsTransient() { return *optionsTransient; } 00068 ComsMessageHandler &getComsMessageHandler() { return *comsMessageHandler; } 00069 ModFiles &getModFiles() { return *modFiles; } 00070 LandscapeDefinitions &getLandscapes() { return *landscapes; } 00071 TankModelStore &getTankModels() { return *tankModelStore; } 00072 LUAScriptFactory &getLUAScriptFactory() { return *luaScriptFactory; } 00073 LUAScriptHook &getLUAScriptHook() { return *luaScriptHook; } 00074 00075 protected: 00076 ActionController *actionController; 00077 GameState *gameState; 00078 LandscapeMaps *landscapeMaps; 00079 ComsMessageHandler *comsMessageHandler; 00080 NetInterface *netInterface; 00081 OptionsScorched *optionsGame; 00082 OptionsTransient *optionsTransient; 00083 ViewPoints *viewPoints; 00084 ModFiles *modFiles; 00085 AccessoryStore *accessoryStore; 00086 LandscapeDefinitions *landscapes; 00087 TargetContainer *targetContainer; 00088 TankContainer *tankContainer; 00089 TankModelStore *tankModelStore; 00090 TankTeamScore *tankTeamScore; 00091 TargetSpace *targetSpace; 00092 TargetMovement *targetMovement; 00093 LUAScriptFactory *luaScriptFactory; 00094 LUAScriptHook *luaScriptHook; 00095 bool serverMode; 00096 }; 00097 00098 #endif
1.5.3