#ifndef estructurasDeCotnrolH
#define estructurasDeCotnrolH

//---------------------------------------------------------------------------
#define ATAQUE_SONDEAR_ATACANTE                  0
#define ATAQUE_ESCAPAR_A_ESCOMBROS               1
#define ATAQUE_BUSCAR_RUTA_ESCAPE                2
#define ATAQUE_NAVES_VOLANDO                     3
#define ATAQUE_SACAR_NAVES_EN_ULTIMO_SEGUNDO    60

//---------------------------------------------------------------------------
typedef struct Recursos
{
  long Metal;
  long Cristal;
  long Deuterio;
  long energiaConsumida;
  long energiaProducida;
} TRecursos;
//---------------------------------------------------------------------------
typedef struct Hangar
{
  int id;
  // char descr[45];
  long maxship;
  long consumption;
  long speed;
  long capacity;
  long ship;
} THangar;
//---------------------------------------------------------------------------
typedef struct Eventos
{
  long ida;
  long vuelta;
  long start,stop;
  char mision; /* (e)spiar, (E)spiado, (a)tacar, (A)tacado, (r)ecolectar, (i)ndefinido      */

  int gO,sO,pO,tO;  /* tIPO - // 1 - planeta  // 2 - Escombros // 3 - Luna */
  char planeta_o[45];
  int gD,sD,pD,tD;
  char planeta_d[45];

  int status; /* (0) pendiente de acción, (15) Espiado 5min, (12) Espiado 2min, (2) Depliegue, (3) Regreso  */
  bool avisado;
} TEventos;
typedef TEventos* PEventos;
//---------------------------------------------------------------------------
typedef struct AtaqueOfensivo
{
  bool lanzado;
  
  int numNaves;
  int velocidadFactor;
  long velocidadBase;
  bool usarSatelites;

  THangar       naves[14];
  TEventos      evento;
} TAtaqueOfensivo;
typedef TAtaqueOfensivo* PAtaqueOfensivo;
//---------------------------------------------------------------------------
typedef struct Ataques
{
  long t;
  long start;
  int status; /* (0) pendiente de acción, (1) Espiado, (2) Depliegue, (3) Regreso  */

  long tDelay; /* Tiempo desde que se inicia la acción hasta que se ejecuta */

  int gO,sO,pO,tO;
  int gD,sD,pD,tD;

  bool borrar;
} TAtaques;
typedef TAtaques* PAtaques;
//---------------------------------------------------------------------------
typedef struct Planetas
{
  long cp;
  int g,s,p,t;
  char planeta[45];

  TRecursos RecursosDisp;
  TDateTime lastUpdate;
} TPlanetas;
typedef TPlanetas* PPlanetas;


#endif 