Class: cNave
cObjeto ----+
|
cObjetoPersistente ----+
|
cObjetoVolador ----+
|
cNave
Description:
Clase abstracta con elementos comunes a todas las naves.
Unit:
Nave
(Nave.pas)
Constructors:
-
constructor create( pos: cVector = nil; vel: cVector = nil; dim: tLongitud = 5;
-
Constructor
Methods:
-
procedure mActualizarRetardadores( dT: tTiempo );
-
Actualiza los retardadores
-
function mCrearLaserDisparado: cLaser;
-
Crea un laser (actualizando retardos y todo lo que sea necesario)
-
function mCrearMisDirDisparado( ov : cObjetoVolador ): cMisilDirigido;
-
Crea un misil dirigido (actualizando retardos y todo lo que sea necesario)
-
function mCrearMisilDisparado: cMisil;
-
Crea un misil (actualizando retardos y todo lo que sea necesario)
-
procedure mDesSerializar( str: string ); override;
-
Recrea el objeto a partir de una cadena de texto con el objeto
serializado.
-
function mDisparar( dT: tTiempo; ov : cObjetoVolador = nil ): cArma; virtual;
-
Hace que se dispare un arma (todavía no está implementado), devolviendo la nueva
municion disparada
-
function mGetDebugInfo( debugLevel: tDebugInfo = DI_MINI ): string; override;
-
Método heredado que devuelve un string con el estado del Objeto. Se utiliza para depurar
y la información entregada depende del parámetro tDebugInfo.
-
function mGetMisiles: tMaxMisil;
-
Obtiene la cantidad de Misiles que le quedan a la nave
-
function mGetMisilesDirigidos: tMaxMisilDirigido;
-
Obtiene la cantidad de Misiles Dirigidos que le quedan a la nave
-
function mGetVelMax: tLongitud;
-
Obtiene la velocidad máxima
-
function mPuedeDispararLaser( ov : cObjetoVolador ): boolean;
-
Chequea que el enemigo este a distancia, que tenga municiones, etc.
-
function mPuedeDispararMisDir( ov : cObjetoVolador ): boolean;
-
Chequea que el enemigo este a distancia, que tenga municiones, etc.
-
function mPuedeDispararMisil( ov : cObjetoVolador ): boolean;
-
Chequea que el enemigo este a distancia, que tenga municiones, etc.
-
function mRestarMisil: cNave;
-
Resta un misil
-
function mRestarMisilDirigido: cNave;
-
Resta un misil dirigido
-
procedure mRetardarLaser;
-
Resetea el contador del retardo del láser
-
procedure mRetardarMisDir;
-
Resetea el contador del retardo del misil dirigido
-
procedure mRetardarMisil;
-
Resetea el contador del retardo del misil
-
function mSerializar: string; override;
-
Devuelve una cadena de texto con el objeto serializado.
-
function mSetVelMax( velMax: tLongitud ): cNave;
-
Setea la velocidad máxima
-
function mSetVelModulo( velocidad: tLongitud ): cObjetoVolador; override;
-
Método para establecer el modulo de la velocidad
-
function mSetVelocidad( velocidad: cVector ): cObjetoVolador; override;
-
Método para establecer la velocidad
-
function mTieneMisil: boolean;
-
Devuelve true si todavía tiene misiles
-
function mTieneMisilDirigido: boolean;
-
Devuelve true si todavía tiene misiles dirigidos
constructor create( pos: cVector = nil; vel: cVector = nil; dim: tLongitud = 5;
- Constructor
- Parameters
-
pos
: Posicion inicial -
vel
: Velocidad inicial -
dim
: Dimensión (radio, en metros) -
pot
: Potencia (cantidad de daño que hace por intervalode tiempo) -
ene
: Energía (cantidad de daño que soporta antes de ser destruido) -
misiles
: Cantidad de misiles comunes -
misilesDirigidos
: Cantidad de misiles dirigidos -
velMax
: Velocidad máxima que puede alcanzar (modulo) -
retardoLaser
: Ratardo del arma antes de poder volver a disparar -
retardoMisil
: Ratardo del arma antes de poder volver a disparar -
retardoMisDir
: Ratardo del arma antes de poder volver a disparar
procedure mActualizarRetardadores( dT: tTiempo );
- Actualiza los retardadores
- Parameters
-
dT
: Intervalo de tiempo a restarles
function mCrearLaserDisparado: cLaser;
- Returns
- Nuevo láser
function mCrearMisDirDisparado( ov : cObjetoVolador ): cMisilDirigido;
- Crea un misil dirigido (actualizando retardos y restando un misil dirigido)
- Parameters
-
ov
: Objetivo del misil dirigido - Returns
- Nuevo misil dirigido
function mCrearMisilDisparado: cMisil;
- Returns
- Nuevo misil
procedure mDesSerializar( str: string ); override;
- Recrea el objeto a partir de una cadena de texto con el objeto
serializado.
- Parameters
-
str
: Cadena de texto con el objeto serializado.
function mDisparar( dT: tTiempo; ov : cObjetoVolador = nil ): cArma; virtual;
- Hace que se dispare un arma
- Parameters
-
ov
: Objetivo del disparo -
dT
: Intervalo de tiempo - Returns
- Arma disparada (o nil si no se puede disparar ningún arma)
function mGetDebugInfo( debugLevel: tDebugInfo = DI_MINI ): string; override;
- Devuelve el estado del objeto basandose en la cantidad de datos requeridos.
@return Cadena de texto con el estado del Objeto.
- Parameters
-
debugLevel
: Cantidad de información requerida
function mGetMisiles: tMaxMisil;
- Obtiene la cantidad de Misiles que le quedan a la nave
return Cantidad de misiles que le quedan a la nave
function mGetMisilesDirigidos: tMaxMisilDirigido;
- Obtiene la cantidad de Misiles que le quedan a la nave
return Cantidad de misiles dirigidos que le quedan a la nave
function mGetVelMax: tLongitud;
- Returns
- Velocidad máxima (modulo)
function mPuedeDispararLaser( ov : cObjetoVolador ): boolean;
- Chequea que el enemigo este a distancia, que tenga municiones, etc.
- Parameters
-
np
: Nave Propia a la que quiere disparar - Returns
- True si está todo ok, False si no.
function mPuedeDispararMisDir( ov : cObjetoVolador ): boolean;
- Chequea que el enemigo este a distancia, que tenga municiones, etc.
- Parameters
-
np
: Nave Propia a la que quiere disparar - Returns
- True si está todo ok, False si no.
function mPuedeDispararMisil( ov : cObjetoVolador ): boolean;
- Chequea que el enemigo este a distancia, que tenga municiones, etc.
- Parameters
-
np
: Nave Propia a la que quiere disparar - Returns
- True si está todo ok, False si no.
function mRestarMisil: cNave;
- Resta un misil
function mRestarMisilDirigido: cNave;
- Resta un misil dirigido
procedure mRetardarLaser;
- Resetea el contador del retardo del láser
procedure mRetardarMisDir;
- Resetea el contador del retardo del misil dirigido
procedure mRetardarMisil;
- Resetea el contador del retardo del misil
function mSerializar: string; override;
- Returns
- Cadena de texto con el objeto serializado.
function mSetVelMax( velMax: tLongitud ): cNave;
- Setea la velocidad máxima
- Parameters
-
velMax
: Nueva velocidad máxima (modulo)
function mSetVelModulo( velocidad: tLongitud ): cObjetoVolador; override;
- Método para establecer la velocidad
function mSetVelocidad( velocidad: cVector ): cObjetoVolador; override;
- Método para establecer el modulo de la velocidad
function mTieneMisil: boolean;
- Returns
- true si tiene misiles, false si no
function mTieneMisilDirigido: boolean;
- Returns
- true si tiene misiles dirigidos, false si no