ShipElement Class Reference

Objets du Vaisseau ayant un contenu variable avec le temps (par exemple: réserve d'energie). More...

#include <ShipElement.h>

Inheritance diagram for ShipElement:

ShipEngine List of all members.

Public Member Functions

 ShipElement (String name, Real minValue, Real maxValue, String Unit, Real HourIncrement)
 Construction.
virtual ~ShipElement ()
 Destruction.
void setValue (Real value)
 Initialise la valeur courante de cet élément (en valeur absolue).
Real getValue ()
 On renvoie la valeur courante de cet élément (en valeur absolue).
String getName ()
 Renvoie le Nom de cet Element.
String getUnit ()
 Renvoie les Unités de cet Element.
Real getPourcentageValue ()
 On renvoie la valeur courante de cet élément (de 0 à 1).
void updateValue_Day (int number_of_days=1)
 On met à jour la valeur en fonction d'un certain nombre de jours écoulés.
void updateValue_Hour (Real ElapsedTime)
 On met à jour la valeur en fonction d'un certain nombre de fraction d'heures écoulées.
Real addValue (Real addedValue)
 Ajoute une partie de la valeur de cet élément. On renvoie la valeur réellement ajoutée.
Real subValue (Real subtractedValue)
 Soustrait une partie de la valeur de cet élément.
void setResourceElement (ShipElement *ShipResource, Real QuantityPerHour)
 L'élément peut consommer des ressources produites par un (ou plusieurs) autres éléments.
void setDamage (Real DamagePercentage)
 On mémorise le niveau de dégradation (entre 0 et 1) (1=100% damaged).
void addDamage (Real DamagePercentage)
 On augmente (ou diminue) le niveau de dégradation (entre 0 et 1) (1=100% damaged).
Real getDamage ()
 Renvoie le niveau de dégradation.
bool isBroken ()
 Renvoie TRUE si l'element est completement détruit.
void defineSpare (tSpare spare)
 Memorise les spareparts nécessaires à la réparation de cet element quand il tombe en panne.
void setPosition (Vector3 pos)
 TODO (Si l'élement a un mesh associé).
String getStatus ()
 TODO.
void setDayIncrementValue (Real dayIncrement)
 Change la valeur d'évolution quotidienne de l'élément.
void setHourIncrementValue (Real HourIncrement)
 Change la valeur d'évolution continue de l'élément.
void setActivity (Real pourcentage)
 Détermine l'activite de l'Element (de 0 à 1) (1=100% actif).
Real getActivity ()
 Renvoie l'activité de l'Element (de 0 à 1) (1=100% actif).
Real getMaxValue ()
 Renvoie la valeur maximum définie pour cet Element.
Real getRealMaxValue ()
 Renvoie la valeur maximum que peut prendre cet Element (compte tenu des dommages).

Protected Member Functions

Real consumeResource (int ResourceIndex, Real ElapsedHours=24)
 Gestion de la consommation des resources d'autres ShipElement.

Protected Attributes

String mName
String mUnit
 Nom de la réserve.
Real mActivity
 Unité de la réserve.
Real mMinValue
 Pourcentage d'activité demandé: entre 0 et 1.
Real mMaxValue
 Valeur minimale de la réserve.
Real mCurrentValue
 Valeur maximale de la réserve.
Real mDayIncrement
 Valeur courante de la réserve.
Real mHourIncrement
 Augmentation normale de la réserve durant 1 journée.
Real mBFpercentage
 Augmentation normale de la réserve durant 1 heure.
tSpare mSpare
 Pourcentage de bon fonctionnement: entre 0 et 1.
ShipElementmResourcePtr [MAX_RESOURCES]
 liste des spareparts nécéssaires en cas de panne
Real mResourceQty [MAX_RESOURCES]
 Tableau des ressources nécéssaires à cette réserve.

Detailed Description

Objets du Vaisseau ayant un contenu variable avec le temps (par exemple: réserve d'energie).

Cet objet est un peu complexe car il peut servir à simuler des éléments variés du vaisseau spacial.

L'utilisation basique est le générateur d'energie. L'élément a:

Si l'Element est endommagé, ou s'il ne trouve pas assez de resources, ou si on lmui demande de travailler à 50% (activity), son rendement baisse.


Constructor & Destructor Documentation

ShipElement::ShipElement String  name,
Real  minValue,
Real  maxValue,
String  Unit,
Real  HourIncrement
 

Construction.

ShipElement::~ShipElement  )  [virtual]
 

Destruction.


Member Function Documentation

void ShipElement::addDamage Real  DamagePercentage  ) 
 

On augmente (ou diminue) le niveau de dégradation (entre 0 et 1) (1=100% damaged).

Real ShipElement::addValue Real  addedValue  ) 
 

Ajoute une partie de la valeur de cet élément. On renvoie la valeur réellement ajoutée.

Real ShipElement::consumeResource int  ResourceIndex,
Real  ElapsedHours = 24
[protected]
 

Gestion de la consommation des resources d'autres ShipElement.

void ShipElement::defineSpare tSpare  spare  ) 
 

Memorise les spareparts nécessaires à la réparation de cet element quand il tombe en panne.

Real ShipElement::getActivity  ) 
 

Renvoie l'activité de l'Element (de 0 à 1) (1=100% actif).

Real ShipElement::getDamage  ) 
 

Renvoie le niveau de dégradation.

Real ShipElement::getMaxValue  ) 
 

Renvoie la valeur maximum définie pour cet Element.

String ShipElement::getName  ) 
 

Renvoie le Nom de cet Element.

Real ShipElement::getPourcentageValue  ) 
 

On renvoie la valeur courante de cet élément (de 0 à 1).

Real ShipElement::getRealMaxValue  ) 
 

Renvoie la valeur maximum que peut prendre cet Element (compte tenu des dommages).

String ShipElement::getStatus  ) 
 

TODO.

String ShipElement::getUnit  ) 
 

Renvoie les Unités de cet Element.

Real ShipElement::getValue  ) 
 

On renvoie la valeur courante de cet élément (en valeur absolue).

Reimplemented in ShipEngine.

bool ShipElement::isBroken  ) 
 

Renvoie TRUE si l'element est completement détruit.

void ShipElement::setActivity Real  pourcentage  ) 
 

Détermine l'activite de l'Element (de 0 à 1) (1=100% actif).

Reimplemented in ShipEngine.

void ShipElement::setDamage Real  DamagePercentage  ) 
 

On mémorise le niveau de dégradation (entre 0 et 1) (1=100% damaged).

void ShipElement::setDayIncrementValue Real  dayIncrement  ) 
 

Change la valeur d'évolution quotidienne de l'élément.

void ShipElement::setHourIncrementValue Real  HourIncrement  ) 
 

Change la valeur d'évolution continue de l'élément.

void ShipElement::setPosition Vector3  pos  ) 
 

TODO (Si l'élement a un mesh associé).

void ShipElement::setResourceElement ShipElement ShipResource,
Real  QuantityPerHour
 

L'élément peut consommer des ressources produites par un (ou plusieurs) autres éléments.

void ShipElement::setValue Real  value  ) 
 

Initialise la valeur courante de cet élément (en valeur absolue).

Real ShipElement::subValue Real  subtractedValue  ) 
 

Soustrait une partie de la valeur de cet élément.

void ShipElement::updateValue_Day int  number_of_days = 1  ) 
 

On met à jour la valeur en fonction d'un certain nombre de jours écoulés.

Si le reservoir est plein, on ne produit plus

La production est aussi tempérée par la quantité de resources disponibles

Si l'élément est endommagé, l'évolution de la réserve est diminuée.

void ShipElement::updateValue_Hour Real  ElapsedTime  ) 
 

On met à jour la valeur en fonction d'un certain nombre de fraction d'heures écoulées.

Si le reservoir est plein, on ne produit plus

La production est aussi tempérée par la quantité de resources disponibles

Si l'élément est endommagé, l'évolution de la réserve est diminuée.

Reimplemented in ShipEngine.


Member Data Documentation

Real ShipElement::mActivity [protected]
 

Unité de la réserve.

Real ShipElement::mBFpercentage [protected]
 

Augmentation normale de la réserve durant 1 heure.

Real ShipElement::mCurrentValue [protected]
 

Valeur maximale de la réserve.

Real ShipElement::mDayIncrement [protected]
 

Valeur courante de la réserve.

Real ShipElement::mHourIncrement [protected]
 

Augmentation normale de la réserve durant 1 journée.

Real ShipElement::mMaxValue [protected]
 

Valeur minimale de la réserve.

Real ShipElement::mMinValue [protected]
 

Pourcentage d'activité demandé: entre 0 et 1.

String ShipElement::mName [protected]
 

ShipElement* ShipElement::mResourcePtr[MAX_RESOURCES] [protected]
 

liste des spareparts nécéssaires en cas de panne

Real ShipElement::mResourceQty[MAX_RESOURCES] [protected]
 

Tableau des ressources nécéssaires à cette réserve.

tSpare ShipElement::mSpare [protected]
 

Pourcentage de bon fonctionnement: entre 0 et 1.

String ShipElement::mUnit [protected]
 

Nom de la réserve.


The documentation for this class was generated from the following files:
Generated on Mon Mar 27 21:33:15 2006 for Long Forgotten Earth by  doxygen 1.4.6-NO