00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef jumpdriveH
00023 #define jumpdriveH
00024
00025 #include <map>
00026
00027 #include "../containerbase.h"
00028 #include "../vehicletype.h"
00029 #include "../mapdisplayinterface.h"
00030
00031
00032 class GameMap;
00033 class Vehicle;
00034
00035 class JumpDrive {
00036 map<MapCoordinate,bool> destinations;
00037 public:
00038 bool available( const Vehicle* subject );
00039
00040 bool fieldReachable( const Vehicle* subject, const MapCoordinate& destination );
00041 bool getFields( const Vehicle* subject );
00042 SigC::Signal2<void,GameMap*,const MapCoordinate&> fieldAvailable;
00043
00044 bool jump( Vehicle* subject, const MapCoordinate& destination, MapDisplayInterface* mapDisplay );
00045
00046 };
00047
00048
00049 #endif
00050