#pragma once
#include "C:\L\Avatars\Character.h"
class Tile
{
public:
	Tile();
	~Tile();
	Tile*			getThis		()			{ return this;		};
	void			setGround	(int n);
	int 			getGround	() const	{ return Ground;	};
	void			setResource	(int n)		{ Resource = n;		};
	int				getResource	() const	{ return Resource;	};
	void			setAmntRe	(int data)	{ Amount = data;	};
	int				getAmntRe	() const	{ return Amount;	};

	Character*		getAvatar	() const	{ if(Occupant != NULL) return Occupant->getThis(); else return NULL;	};
	void			assignPC	(Character *Av){Occupant = Av->getThis();	};

	void			setNULLOcc	()			{ Occupant = NULL;	};
	bool			getIfOcc	() const	{ if(Occupant != NULL) return true; else return false;					};

	unsigned int	getSex		() const	{ if(Occupant != NULL) return Occupant->getSex();		else return 0;	};
	int				getDirection() const	{ if(Occupant != NULL) return Occupant->getDirection(); else return 0;	};
	int				getTicks	() const	{ if(Occupant != NULL) return Occupant->getTicks();		else return 0;	};
	unsigned int	getStatus	() const	{ if(Occupant != NULL) return Occupant->getStatus();	else return 0;	};
	int				getPVP		() const	{ if(Occupant != NULL) return Occupant->getPVP();		else return 0;	};
	int				getPort		() const	{ if(Occupant != NULL) return Occupant->getPort();		else return 0;	};
	int				getOffX		() const	{ if(Occupant != NULL) return Occupant->getOffSetX();	else return 0;	};
	int				getOffY		() const	{ if(Occupant != NULL) return Occupant->getOffSetY();	else return 0;	};
	void			RESET		();

private:
	Character		*Occupant;		//4 bytes
	Item			*Things;
	int				Ground;
	int				Resource;
	int				Amount;
};