00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #if defined(karteneditor) && !defined(pbpeditor)
00024 #error the mapeditor is not supposed the gui icons !
00025 #endif
00026
00027
00028 #ifndef guifunctionsinterfaceH
00029 #define guifunctionsinterfaceH
00030
00031 #include "guiiconhandler.h"
00032
00033 class AStar3D;
00034
00035 namespace GuiFunctions {
00036
00037 class MovementBase : public GuiFunction {
00038 protected:
00039 virtual void parametrizePathFinder( AStar3D& pathFinder ) {};
00040 virtual int getVerticalDirection() = 0;
00041 public:
00042 void execute( const MapCoordinate& pos, ContainerBase* subject, int num );
00043 bool available( const MapCoordinate& pos, ContainerBase* subject, int num );
00044 };
00045
00046 class Movement : public MovementBase
00047 {
00048 protected:
00049 virtual void parametrizePathFinder( AStar3D& pathFinder );
00050 public:
00051 bool checkForKey( const SDL_KeyboardEvent* key, int modifier, int num );
00052 Surface& getImage( const MapCoordinate& pos, ContainerBase* subject, int num );
00053 ASCString getName( const MapCoordinate& pos, ContainerBase* subject, int num );
00054 int getVerticalDirection() { return 0; };
00055 bool available( const MapCoordinate& pos, ContainerBase* subject, int num );
00056 };
00057
00058
00059 class Cancel : public GuiFunction
00060 {
00061 public:
00062 bool available( const MapCoordinate& pos, ContainerBase* subject, int num );
00063 void execute( const MapCoordinate& pos, ContainerBase* subject, int num );
00064 bool checkForKey( const SDL_KeyboardEvent* key, int modifier, int num );
00065 Surface& getImage( const MapCoordinate& po, ContainerBase* subject, int nums );
00066 ASCString getName( const MapCoordinate& pos, ContainerBase* subject, int num );
00067 };
00068
00069 }
00070
00071 #endif
00072