#ifndef ITEMLIST_H
#define ITEMLIST_H


#define maxitems 200
#include "Item.h"
class ItemList
{
private:

public:
Item* Items[maxitems];
int numItems;
ItemList();
void load(string);
void use(Unit*,int);
int get_value(int i);

};

ItemList::ItemList()
{
numItems=0;


}


void ItemList::use(Unit* pl,int i)
{

Items[i]->Use(pl->attributess);

}

int ItemList::get_value(int i)
{
	return Items[i]->value();

}


void ItemList::load(string filename )
{

	ifstream inData;
	inData.open(filename.c_str() );
	string namer ;
	char trash ;
	int num = 0;
	int num2 = 0;
			 string num4;
	inData >> num;
	inData >> trash;	

	while( 	numItems < num)
  	{

		Item* nd;
		nd = new Item();

		inData >> namer;
		nd->Set_name(namer);
		Items[numItems]=nd;
		Items[numItems]->Set_name(namer);
				//inData >> trash;



			
				inData >> num2;
				nd->Set_X(num2);
		Items[numItems]->Set_X(num2);
				inData >> trash;
				//textprintf_centre(screen, font, 40, 200, makecol(255, 255, 255),"FPS:%d", num2);

				inData >> num2;
				nd->Set_Y(num2);
		Items[numItems]->Set_Y(num2);
				inData >> trash;

				inData >> num2;
				nd->Set_W(num2);
		Items[numItems]->Set_W(num2);
				inData >> trash;

				inData >> num2;
				nd->Set_H(num2);
		Items[numItems]->Set_H(num2);
				inData >> trash;

				inData >> num2;
				nd->Set_layer(num2);
		Items[numItems]->Set_layer(num2);
				inData >> trash;

				inData >> num2;
				nd->Set_source_X(num2);
		Items[numItems]->Set_source_X(num2);
				inData >> trash;

				inData >> num2;
				nd->Set_source_Y(num2);
		Items[numItems]->Set_source_Y(num2);
				inData >> trash;

				inData >> num2;
				if (num2== 0)
				{
					nd->Set_collision(false);
		Items[numItems]->Set_collision(false);
				}
				else if (num2== 1)
				{
					nd->Set_collision(true);
		Items[numItems]->Set_collision(true);
				}
				inData >> trash;


				inData >> num2;
				nd->Set_frame(num2);
		Items[numItems]->Set_frame(num2);
				inData >> trash;



				inData >> num2;
				nd->Set_direction(num2);
		Items[numItems]->Set_direction(num2);
				inData >> trash;


				inData >> num2;
				nd->Set_sourcebitmap(num2);
		Items[numItems]->Set_sourcebitmap(num2);
				inData >> trash;


				inData >> num2;
				if (num2== 1)
				{
		//Items[numItems]->Set_destbitmap();
					//nd->CharacterObject.Set_destbitmap();
				}
				inData >> trash;

				inData >> num2;
				//netId++;
				nd->Set_id(num2);
		Items[numItems]->Set_id(num2);
				inData >> trash;
			
				inData >> num2;
				nd->Set_inarea(num2);
		Items[numItems]->Set_inarea(num2);
				inData >> trash;
			
				inData >> num2;




		Items[numItems]->Set_socketid(num2);


		Items[numItems]->Set_destx(Items[numItems]->Get_X());
		Items[numItems]->Set_desty(Items[numItems]->Get_Y());
		Items[numItems]->toString();

				nd->Set_socketid(num2);

		nd->Set_destx(nd->Get_X());
		nd->Set_desty(nd->Get_Y());
		nd->toString();

			num4="";
		inData >> num4;
		Items[numItems]->attributess->Set_statholder(num4);
				//Items[numItems]->attributess->fromString();

		//textout(screen,font,nd->Get_unit().c_str(),100,400,makecol(255,255,255));
		//

	Items[numItems]=nd;	
	
		numItems++;
	
	}


	inData.close();

	//Sleep(9000);

}


#endif