researchexecution.h

Go to the documentation of this file.
00001 /*
00002     This file is part of Advanced Strategic Command; http://www.asc-hq.de
00003     Copyright (C) 1994-2010  Martin Bickel  and  Marc Schellenberger
00004 
00005     This program is free software; you can redistribute it and/or modify
00006     it under the terms of the GNU General Public License as published by
00007     the Free Software Foundation; either version 2 of the License, or
00008     (at your option) any later version.
00009 
00010     This program is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013     GNU General Public License for more details.
00014 
00015     You should have received a copy of the GNU General Public License
00016     along with this program; see the file COPYING. If not, write to the 
00017     Free Software Foundation, Inc., 59 Temple Place, Suite 330, 
00018     Boston, MA  02111-1307  USA
00019 */
00020 
00021 #ifndef researchExecutionH
00022 #define researchExecutionH
00023 
00024 class Vehicle;
00025 class Player;
00026 
00027 class VehicleType;
00028 class BuildingType;
00029 
00030 class TechnologyPresenter {
00031    public:
00032       class Gadgets {
00033          public:
00034             std::list<const VehicleType*> units;
00035             std::list<const BuildingType*> buildings;
00036       };
00037       
00038       virtual void showTechnology( const Technology* tech, const Gadgets& newGadgetsAvailable )  = 0;
00039       virtual ~TechnologyPresenter() {};
00040 };
00041   
00043 extern void setResearchPresenter( TechnologyPresenter* presenter ); 
00044 
00045 class SuppressTechPresentation {
00046       TechnologyPresenter* presenter;
00047    public: 
00048       SuppressTechPresentation();
00049       ~SuppressTechPresentation();
00050 };
00051 
00052 
00054 extern void dissectvehicle ( Vehicle* eht );
00055 
00068 extern void runResearch( Player& player, vector<const Technology*>* newTechs, vector<ASCString>* newTechAdapter );
00069 
00071 extern void checkForNewResearch( Player& player );
00072 
00073 
00074 #endif

Generated on Mon May 21 01:26:36 2012 for Advanced Strategic Command by  doxygen 1.5.1