#ifndef STARTER
 #define STARTER

#include "Base.h"

/**** STARTER ****/
/*	Adding objects to list, Init and Draw */
class CStarter {
	public:
		CBase *first, *final;
		CHeap Heap;

	public:
		CStarter(){ first=final=NULL; }

	public:
		inline void  Add(CBase *t);

		inline void  Init();
		inline void  Draw();
};

//------------------------- Descriptions ---------------------------

// Add
inline void CStarter :: Add(CBase *t)
{
	t -> previous = final;
	t -> Heap = &Heap;
	if (final != NULL)
		final -> next = t;
	final = t;

	if (first==NULL)
		first = t;
};


// Draw
void  CStarter :: Draw()
{
	for (CBase *current = first; current != NULL; current = current -> next)
		current->Draw(); 
};


// Init
void  CStarter :: Init()
{
	for (CBase *current = first; current != NULL; current = current -> next) 
		current->Init();
};



#endif

