Advanced Strategic Command
mapdisplayinterface.h
Go to the documentation of this file.
1 
2 /***************************************************************************
3  * *
4  * This program is free software; you can redistribute it and/or modify *
5  * it under the terms of the GNU General Public License as published by *
6  * the Free Software Foundation; either version 2 of the License, or *
7  * (at your option) any later version. *
8  * *
9  ***************************************************************************/
10 
11 #ifndef mapdisplayinterfaceH
12  #define mapdisplayinterfaceH
13 
14 
15  #include "loki/Functor.h"
16 
17 class Sound;
18 
19 #include "typen.h"
20 #include "vehicle.h"
21 #include "attack.h"
22 
23 
25  public:
26  typedef Loki::Functor<void, LOKI_TYPELIST_1(int) > SoundStartCallback;
27  virtual int displayMovingUnit ( const MapCoordinate3D& start, const MapCoordinate3D& dest, Vehicle* vehicle, int fieldnum, int totalmove, SoundStartCallback startSound, int duration ) = 0;
28  virtual void displayMap ( void ) = 0;
29  virtual void displayMap ( Vehicle* additionalVehicle ) = 0;
30  virtual void displayPosition ( int x, int y ) = 0;
31  void displayPosition ( const MapCoordinate& pos ) { displayPosition(pos.x,pos.y ); };
32  virtual void resetMovement ( void ) = 0;
33  virtual void startAction ( void ) = 0;
34  virtual void stopAction ( void ) = 0;
35  virtual void cursor_goto ( const MapCoordinate& pos ) = 0;
36  virtual void displayActionCursor ( int x1, int y1, int x2, int y2 ) = 0;
37  virtual void displayActionCursor ( const MapCoordinate& pos1, const MapCoordinate& pos2 ) { displayActionCursor(pos1.x,pos1.y, pos2.x,pos2.y); };
38  virtual void removeActionCursor ( void ) = 0;
39  virtual void updateDashboard () = 0;
40  virtual void repaintDisplay () = 0;
41  virtual void setTempView( bool view ) = 0;
42  virtual void showBattle( tfight& battle ) = 0;
43  virtual void playPositionalSound( const MapCoordinate& pos, Sound* snd ) = 0;
44  virtual int getUnitMovementDuration() const = 0;
45  virtual ~MapDisplayInterface () {};
46  };
47 
49 
50 
51 #endif
virtual void displayActionCursor(const MapCoordinate &pos1, const MapCoordinate &pos2)
MapDisplayInterface & getDefaultMapDisplay()
Definition: sound.h:20
virtual void displayPosition(int x, int y)=0
virtual void displayActionCursor(int x1, int y1, int x2, int y2)=0
virtual void updateDashboard()=0
virtual void playPositionalSound(const MapCoordinate &pos, Sound *snd)=0
virtual void resetMovement(void)=0
Loki::Functor< void, LOKI_TYPELIST_1(int) > SoundStartCallback
virtual void cursor_goto(const MapCoordinate &pos)=0
virtual int displayMovingUnit(const MapCoordinate3D &start, const MapCoordinate3D &dest, Vehicle *vehicle, int fieldnum, int totalmove, SoundStartCallback startSound, int duration)=0
Coordinate on the twodimensional map.
Definition: typen.h:202
virtual void displayMap(void)=0
Interface for all the fighting routines of ASC.
virtual void setTempView(bool view)=0
void displayPosition(const MapCoordinate &pos)
Definition: attack.h:83
virtual void startAction(void)=0
virtual void removeActionCursor(void)=0
virtual void stopAction(void)=0
Coordinate on the map including height.
Definition: typen.h:238
virtual void showBattle(tfight &battle)=0
virtual void repaintDisplay()=0
virtual int getUnitMovementDuration() const =0