ScorchedContext.cpp

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 #include <engine/ScorchedContext.h>
00022 #include <engine/GameState.h>
00023 #include <engine/ActionController.h>
00024 #include <engine/ViewPoints.h>
00025 #include <engine/ModFiles.h>
00026 #include <net/NetInterface.h>
00027 #include <coms/ComsMessageHandler.h>
00028 #include <common/OptionsTransient.h>
00029 #include <tank/TankContainer.h>
00030 #include <tank/TankTeamScore.h>
00031 #include <tank/TankModelStore.h>
00032 #include <target/TargetSpace.h>
00033 #include <movement/TargetMovement.h>
00034 #include <landscapemap/LandscapeMaps.h>
00035 #include <landscapedef/LandscapeDefinitions.h>
00036 #include <weapons/AccessoryStore.h>
00037 #include <lua/LUAScriptHook.h>
00038 
00039 ScorchedContext::ScorchedContext(const char *name, bool server) : 
00040         serverMode(server)
00041 {
00042         actionController = new ActionController();
00043         accessoryStore = new AccessoryStore();
00044         gameState = new GameState(name);
00045         targetContainer = new TargetContainer();
00046         tankContainer = new TankContainer(*targetContainer);
00047         landscapeMaps = new LandscapeMaps();
00048         comsMessageHandler = new ComsMessageHandler(name);
00049         netInterface = (NetInterface *) 0;
00050         optionsGame = new OptionsScorched();
00051         optionsTransient = new OptionsTransient(*optionsGame);
00052         viewPoints = new ViewPoints();
00053         modFiles = new ModFiles();
00054         landscapes = new LandscapeDefinitions();
00055         tankModelStore = new TankModelStore();
00056         tankTeamScore = new TankTeamScore();
00057         targetSpace = new TargetSpace();
00058         targetMovement = new TargetMovement();
00059         luaScriptFactory = new LUAScriptFactory();
00060         luaScriptHook = new LUAScriptHook(luaScriptFactory,
00061                 server?"server":"client",
00062                 server?S3D::getSettingsFile("serverhooks"):S3D::getSettingsFile("clienthooks"));
00063 
00064         getViewPoints().setContext(this);
00065         getActionController().setScorchedContext(this);
00066         getTargetSpace().setContext(this);
00067         luaScriptFactory->setContext(this);
00068 }
00069 
00070 ScorchedContext::~ScorchedContext()
00071 {
00072 }

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