Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
ProductionPrerequisite Class Reference

#include <ProductionPrerequisite.h>

Public Member Functions

 ProductionPrerequisite ()
 
 ~ProductionPrerequisite ()
 
void init ()
 init to safe default values.
 
void resetSciences (void)
 
void addSciencePrereq (ScienceType science)
 
void resetUnits (void)
 
void addUnitPrereq (AsciiString units, Bool orUnitWithPrevious)
 
void addUnitPrereq (const std::vector< AsciiString > &units)
 
void resolveNames ()
 called after all ThingTemplates have been loaded.
 
UnicodeString getRequiresList (const Player *player) const
 
Bool isSatisfied (const Player *player) const
 return true iff the player satisfies our set of prerequisites
 
const ThingTemplategetExistingBuildFacilityTemplate (const Player *player) const
 
Int getAllPossibleBuildFacilityTemplates (const ThingTemplate *tmpls[], Int maxtmpls) const
 

Detailed Description

Definition at line 61 of file ProductionPrerequisite.h.

Constructor & Destructor Documentation

◆ ProductionPrerequisite()

ProductionPrerequisite::ProductionPrerequisite ( )

Definition at line 62 of file ProductionPrerequisite.cpp.

◆ ~ProductionPrerequisite()

ProductionPrerequisite::~ProductionPrerequisite ( )

Definition at line 68 of file ProductionPrerequisite.cpp.

Member Function Documentation

◆ addSciencePrereq()

void ProductionPrerequisite::addSciencePrereq ( ScienceType science)
inline

Definition at line 72 of file ProductionPrerequisite.h.

◆ addUnitPrereq() [1/2]

void ProductionPrerequisite::addUnitPrereq ( AsciiString unit,
Bool orUnitWithPrevious )

Add a unit prerequisite, if 'orWithPrevious' is set then this unit is said to be an alternate prereq to the previously added unit, otherwise this becomes a new 'block' and is required in ADDDITION to other entries. Return FALSE if no space left to add unit

Definition at line 200 of file ProductionPrerequisite.cpp.

◆ addUnitPrereq() [2/2]

void ProductionPrerequisite::addUnitPrereq ( const std::vector< AsciiString > & units)

Add a unit prerequisite, if 'orWithPrevious' is set then this unit is said to be an alternate prereq to the previously added unit, otherwise this becomes a new 'block' and is required in ADDDITION to other entries. Return FALSE if no space left to add unit

Definition at line 216 of file ProductionPrerequisite.cpp.

◆ getAllPossibleBuildFacilityTemplates()

Int ProductionPrerequisite::getAllPossibleBuildFacilityTemplates ( const ThingTemplate * tmpls[],
Int maxtmpls ) const

Definition at line 121 of file ProductionPrerequisite.cpp.

◆ getExistingBuildFacilityTemplate()

const ThingTemplate * ProductionPrerequisite::getExistingBuildFacilityTemplate ( const Player * player) const

return the BuildFacilityTemplate, if any.

if this template needs no build facility, null is returned.

if the template needs a build facility but the given player doesn't have any in existence, null will be returned.

you may not pass 'null' for player.

Definition at line 136 of file ProductionPrerequisite.cpp.

◆ getRequiresList()

UnicodeString ProductionPrerequisite::getRequiresList ( const Player * player) const

returns an asciistring which is a list of all the prerequisites not satisfied yet

Definition at line 230 of file ProductionPrerequisite.cpp.

◆ init()

void ProductionPrerequisite::init ( )

init to safe default values.

Definition at line 73 of file ProductionPrerequisite.cpp.

◆ isSatisfied()

Bool ProductionPrerequisite::isSatisfied ( const Player * player) const

return true iff the player satisfies our set of prerequisites

Definition at line 155 of file ProductionPrerequisite.cpp.

◆ resetSciences()

void ProductionPrerequisite::resetSciences ( void )
inline

Definition at line 71 of file ProductionPrerequisite.h.

◆ resetUnits()

void ProductionPrerequisite::resetUnits ( void )
inline

Definition at line 74 of file ProductionPrerequisite.h.

◆ resolveNames()

void ProductionPrerequisite::resolveNames ( )

called after all ThingTemplates have been loaded.

Todo
for now removing this assert until we can completely remove the GDF stuff, the problem is that some INI files refer to GDF names, and they aren't yet loaded in the world builder but will all go away later anyway etc

Definition at line 81 of file ProductionPrerequisite.cpp.


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