ScorchedContext.h

Go to the documentation of this file.
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

Generated on Mon Feb 16 15:14:49 2009 for Scorched3D by  doxygen 1.5.3