#include "allegro.h"

#include "Round.h"
#include "Unit.h"
#include "UnitCreate.h"
#include "gameConstants.h"

#include <vector>
#include <string>
using namespace std;

Round :: Round ()
{
  arenaSizeX = 0; 
  arenaSizeY = 0;
  arenaPic = NULL;
  unitTypes = new vector <Unit *> ();
  unitsToAppear = new vector <UnitCreate *> ();
  winningConditions = new vector <int> ();
  losingConditions = new vector <int> ();
  survivalTime = 0;
  criticalUnitType = -1;

  titlePic = NULL;
  arenaPic = NULL;

  name = new string ("No Name");
}

void Round :: setArenaSize (fixed sx, fixed sy)
{
  arenaSizeX = sx;
  arenaSizeY = sy;
}

fixed Round :: getArenaSizeX ()
{ return arenaSizeX;}

fixed Round :: getArenaSizeY ()
{ return arenaSizeY;}

BITMAP * Round :: getArenaPic ()
{ return arenaPic;}

void Round :: setArenaPic (BITMAP * p)
{ arenaPic = p;}

BITMAP *  Round :: getTitlePic ()
{ return titlePic;}

void Round :: setTitlePic (BITMAP * p)
{ titlePic = p;}

vector <UnitCreate *> * Round :: getUnitsToAppear ()
{ return unitsToAppear;}

void Round :: addUnitsToAppear (UnitCreate * uuuu)
{ unitsToAppear -> push_back (uuuu);}

void Round :: setArenaKB (fixed a)
{ arenaKB = a;}

fixed Round :: getArenaKB ()
{ return arenaKB;}

void Round :: setArenaWall (int a)
{ arenaWall = a;}

int Round :: getArenaWall ()
{ return arenaWall;}

string * Round :: getName ()
{ return name;}

void Round :: setName (string * s)
{ name = new string (*s);}

Round :: ~Round ()
{}
