00001
00002 #ifndef mapedcommandsH
00003 #define mapedcommandsH
00004
00005 #include "../typen.h"
00006
00007 class GameMap;
00008 class ObjectType;
00009 class BuildingType;
00010 class VehicleType;
00011 class TerrainType;
00012 class Building;
00013 class Vehicle;
00014 class Object;
00015 class Resources;
00016 class ContainerBase;
00017
00018 extern void clearField( GameMap* map, const MapCoordinate& pos );
00019
00020 extern Building* placeBuilding( GameMap* map, const MapCoordinate& pos, const BuildingType* bld, int owner );
00021 extern Vehicle* placeUnit( GameMap* map, const MapCoordinate& pos, const VehicleType* veh, int owner );
00022 extern Object* placeObject( GameMap* map, const MapCoordinate& pos, const ObjectType* obj, bool force = false );
00023 extern bool placeTerrain( GameMap* map, const MapCoordinate& pos, const TerrainType* terrain, int weather = 0 );
00024 extern int selectPlayer( GameMap* map );
00025 extern MapCoordinate selectPosition();
00026
00027 extern Resources putResources( ContainerBase* container, const Resources& resources );
00028
00029 class FieldVector : public vector<MapCoordinate> {
00030 public:
00031 FieldVector();
00032 unsigned int size();
00033
00034 MapCoordinate getItem( int i );
00035 };
00036
00037
00038 extern FieldVector getFieldsInDistance( GameMap* map, const MapCoordinate& position, int distance );
00039 extern void setReactionFire( Vehicle* vehicle, bool state );
00040
00041 class EditingEnvironment {
00042 public:
00043 int getSelectedPlayerPosition() const;
00044 int getBrushSize() const;
00045 };
00046
00047 extern EditingEnvironment getEditingEnvironment();
00048
00049 #endif