ed_mapcomponent.cpp

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 #include "ed_mapcomponent.h"
00022 #include "edglobal.h"
00023 #include "spfst.h"
00024 #include "spfst-legacy.h"
00025 #include "ed_mapcomponent.h"
00026 
00027 #include "lua/luastate.h"
00028 #include "lua/luarunner.h"
00029 
00030 int MapComponent::currentPlayer = 0;
00031 bool MapComponent::initialized = false;
00032 
00033 void MapComponent::setPlayer( int player )
00034 {
00035    currentPlayer = player;
00036 };
00037 
00038 void VehicleItem :: display( Surface& s, const SPoint& pos ) const { 
00039    if ( actmap ) {
00040       int player = selection.getPlayer();
00041       if ( player > 7 || player < 0 )
00042          player = 0;
00043       item->paint ( s, pos, actmap->getPlayer( player ).getPlayerColor()); 
00044    } else
00045       item->paint ( s, pos ); 
00046 };
00047 
00048 
00049 MapComponent::MapComponent( const MapItemType* item ) : mapItem( item )
00050 {
00051    if ( !initialized ) {
00052       initialized = true;
00053       selection.playerChanged.connect( SigC::slot( &MapComponent::setPlayer ));
00054          
00055    }
00056 }
00057 
00058 LuaBrush::LuaBrush( const ASCString& filename ) : script(filename)
00059 {
00060    
00061 }
00062 
00063 int LuaBrush :: place( const MapCoordinate& mc ) const
00064 {
00065    LuaState state;
00066    LuaRunner runner( state );
00067    runner.runFile( script );
00068    if ( !runner.getErrors().empty() )
00069       errorMessage( runner.getErrors() );
00070    updateFieldInfo();
00071    return 1;
00072 }
00073 
00074 LuaBrush* LuaBrush::clone() const
00075 {
00076         return new LuaBrush( script );
00077 }
00078 
00079 
00080 
00081 
00082       

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