Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CriteriaContains Class Reference

#include <criteria.h>

Inheritance diagram for CriteriaContains:
CriteriaLeaf CriteriaNode

Public Member Functions

virtual bool isDestination (unsigned system) const
 
virtual std::string getDescription () const
 
virtual std::string getText () const
 
virtual CriteriaNodeclone () const
 
 CriteriaContains (std::string value, CriteriaParent *parent=NULL)
 
virtual ~CriteriaContains ()
 
- Public Member Functions inherited from CriteriaLeaf
virtual CriteriaNodeunhook ()
 
virtual std::vector
< CriteriaNode * > 
getChildren () const
 
 CriteriaLeaf (CriteriaParent *parent, std::string value)
 
virtual ~CriteriaLeaf ()
 
- Public Member Functions inherited from CriteriaNode
 CriteriaNode (CriteriaParent *parent=NULL)
 
virtual ~CriteriaNode ()
 
void setParent (CriteriaParent *parent)
 
CriteriaParentgetParent ()
 

Additional Inherited Members

- Protected Attributes inherited from CriteriaLeaf
std::string m_value
 

Detailed Description

Definition at line 201 of file criteria.h.

Constructor & Destructor Documentation

CriteriaContains::CriteriaContains ( std::string  value,
CriteriaParent parent = NULL 
)
inline

Definition at line 209 of file criteria.h.

Referenced by clone().

209  :
210  CriteriaLeaf( parent, value ) {}
virtual CriteriaContains::~CriteriaContains ( )
inlinevirtual

Definition at line 211 of file criteria.h.

211 {}

Member Function Documentation

CriteriaNode * CriteriaContains::clone ( ) const
virtual

Implements CriteriaLeaf.

Definition at line 389 of file criteria.cpp.

References CriteriaContains(), and CriteriaLeaf::m_value.

390 {
391  return new CriteriaContains( m_value, NULL );
392 }
string CriteriaContains::getDescription ( ) const
virtual

Implements CriteriaNode.

Definition at line 376 of file criteria.cpp.

References CriteriaLeaf::m_value.

Referenced by getText().

377 {
378  string temp = "CONTAINS(";
379  temp += m_value;
380  temp += ")";
381  return temp;
382 }
string CriteriaContains::getText ( ) const
virtual

Implements CriteriaNode.

Definition at line 384 of file criteria.cpp.

References getDescription().

385 {
386  return getDescription();
387 }
bool CriteriaContains::isDestination ( unsigned  system) const
virtual

Implements CriteriaNode.

Definition at line 353 of file criteria.cpp.

References _Universe, Universe::AccessCockpit(), Cockpit::AccessNavSystem(), Universe::getGalaxy(), SaveGame::getMissionData(), GalaxyXML::Galaxy::getPlanetVariable(), i, CriteriaLeaf::m_value, Flightgroup::name, Cockpit::savegame, and v.

354 {
355  string name = _Universe->AccessCockpit()->AccessNavSystem()->systemIter[system].GetName();
356 
357  //Check to make sure we have been there in person
358  //Not only for realism
359  //but the systems may have not been created yet.
360  string key( string( "visited_" )+name );
361  vector< float > *v = &_Universe->AccessCockpit()->savegame->getMissionData( key );
362  if ( v->empty() )
363  return false;
364  if ( (*v)[0] != 1.0 )
365  return false;
366  string texture = _Universe->getGalaxy()->getPlanetVariable( m_value, "texture", "" );
367  if (texture == "")
368  return false;
369  set< string > types = getPlanetTypesFromXML( name.c_str() );
370  for (set< string >::iterator i = types.begin(); i != types.end(); ++i)
371  if ( (*i).find( texture, 0 ) != string::npos )
372  return true;
373  return false;
374 }

The documentation for this class was generated from the following files: