Class: cEspacio
cObjeto ----+
|
cObjetoPersistente ----+
|
cEspacio
Description:
Se encarga de controlar la interacción entre
las naves y el responsable de manejar el tiempo.
Unit:
Espacio
(Espacio.pas)
Constructors:
-
constructor create( np: cNavePropia = nil; objetos: TList = nil; dt: tTiempo = 25 );
-
Constructor. La lista que se pasa NO debe incluir la nave propia
Methods:
-
destructor destroy; override;
-
Destructor
-
procedure mActualizar;
-
Actualiza el Espacio. En esto se incluye mover las naves, detectar colisiones y tomar las
desiciones necesarias según sea el caso.
-
procedure mActualizarObjetoVolador( ov: cObjetoVolador );
-
Actualiza el estado de un objeto según sea tu tipo
-
procedure mAgregarObjeto( ov: cObjetoVolador );
-
Agrega un Objeto Volador al Espacio
-
function mBuscarDuplicado( ov: cObjetoVolador ): cObjetoVolador;
-
Busca el duplicado de un objeto volador
-
procedure mComunicarPosicion( nEsp: cNaveEspia );
-
Método que se encarga de avisar al resto de las naves enemigas que estan cerca de una
espia sobre la ultima posicion de la nave propia.
-
procedure mDesSerializar( str: string ); override;
-
Recrea el objeto a partir de una cadena de texto con el objeto
serializado.
-
procedure mDestruir( ov: cObjetoVolador );
-
Destruye un Objeto Volador
-
procedure mDetectarColision;
-
Procedimiento que evalua las posiciones de los Objetos Voladores que se encuentran en el espacio,
verificando 2 a 2 si hay una colisión.
-
procedure mEliminarDuplicados;
-
Elimina los objetos duplicados después de recuperarlos de una serialización
-
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 mGetNavePropia: cNavePropia;
-
Método que obtiene la nave propia del espacio (este método es probable que deje de exstir)
-
function mGetObjetos: TList;
-
Obtiene la lista de Objetos Voladores del Espacio
-
function mQuitarObjeto( ov: cObjetoVolador ): boolean;
-
Quita un Objeto Volador del Espacio. Devuelve true si lo saco y false si no existia
-
function mSerializar: string; override;
-
Devuelve una cadena de texto con el objeto serializado.
-
function mSetNavePropia( np: cNavePropia ): cNavePropia;
-
Método para cambiar la nave propia. Devuelve un puntero a la nave propia vieja.
-
function mSetObjetos( l: TList ): TList;
-
Cambia la lista de Objetos Voladores del Espacio, devolviendo un puntero a la lista vieja
constructor create( np: cNavePropia = nil; objetos: TList = nil; dt: tTiempo = 25 );
- Constructor
- Parameters
-
np
: Nave propia a utilizar -
objetos
: Lista de objetos voladores (sin incluir la nave propia!) -
dt
: Intervalo de tiempo
destructor destroy; override;
- Destructor
procedure mActualizar;
- Actualiza el Espacio. En esto se incluye mover las naves, detectar colisiones y tomar las
desiciones necesarias según sea el caso.
procedure mActualizarObjetoVolador( ov: cObjetoVolador );
- Actualiza el estado de un objeto volador, dependiendo de que tipo de objeto sea.
- Parameters
-
ov
: Objeto Volador a actualizar
procedure mAgregarObjeto( ov: cObjetoVolador );
- Agrega un Objeto Volador al Espacio
- Parameters
-
ov
: Objeto volador a agregar
function mBuscarDuplicado( ov: cObjetoVolador ): cObjetoVolador;
- Busca el duplicado de un objeto volador
- Parameters
-
ov
: Objeto volador al cual se le quiere encontrar un duplicado - Returns
- Objeto Volador duplicado de ov
procedure mComunicarPosicion( nEsp: cNaveEspia );
- Método que se encarga de avisar al resto de las naves enemigas que estan cerca de una
espia sobre la ultima posicion de la nave propia.
- Parameters
-
nEsp
: Nave espía que está avisando
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.
procedure mDestruir( ov: cObjetoVolador );
- Destruye un objeto volador, liberando memoria y eliminandolo de la lista
- Parameters
-
ov
: Objeto Volador a destruir
procedure mDetectarColision;
- Procedimiento que evalua las posiciones de los Objetos Voladores que se encuentran en el espacio,
verificando 2 a 2 si hay una colisión.
procedure mEliminarDuplicados;
- Elimina los objetos duplicados después de recuperarlos de una serialización
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 mGetNavePropia: cNavePropia;
- Returns
- Instancia de la nave propia que se encuentra en el espacio (como puntero)
function mGetObjetos: TList;
- Returns
- Lista de objetos del espacio (como puntero)
function mQuitarObjeto( ov: cObjetoVolador ): boolean;
- Quita un Objeto Volador del Espacio. Devuelve true si lo saco y false si no existia
(esto lo quita del espacio, no lo destruye)
- Parameters
-
ov
: Objeto a quitar del espacio - Returns
- true si se quitó, false si no estaba en el espacio
function mSerializar: string; override;
- Returns
- Cadena de texto con el objeto serializado.
function mSetNavePropia( np: cNavePropia ): cNavePropia;
- Returns
- Lista de objetos del espacio (como puntero)
function mSetObjetos( l: TList ): TList;
- Cambia la lista de Objetos Voladores del Espacio, devolviendo un puntero a la lista vieja
- Parameters
-
l
: Nueva lista de objetos a asignarle al espacio - Returns
- Vieja lista de objetos del espacio