#include "EnemyFactory.h"
#include "EnemyFrog.h"
#include "EnemyLadybug.h"
#include "EnemySlimeBlue.h"
#include "EnemySlimePurple.h"
#include "EnemySlimeGreen.h"
#include "EnemyWormGreen.h"
#include "EnemySnail.h"
#include "EnemyMouse.h"


EnemyFactory* EnemyFactory::_instance = nullptr;
EnemyFactory::EnemyFactory(){}

EnemyFactory* EnemyFactory::getInstance(){
	if (_instance == nullptr){
		_instance = new EnemyFactory();
	}
	return _instance;
}

Enemy* EnemyFactory::getEnemy(int tileGID){
	switch (tileGID)
	{
	case WORM_PINK:		return Enemy::create();
	case FROG:			return EnemyFrog::create();
	case LADYBUG:		return EnemyLadybug::create();
	case SLIME_BLUE:	return EnemySlimeBlue::create();
	case SLIME_PURPLE:	return EnemySlimePurple::create();
	case WORM_GREEN:	return EnemyWormGreen::create();
	case MOUSE:			return EnemyMouse::create();
	case SLIME_GREEN:	return EnemySlimeGreen::create();;
	case SNAIL:			return EnemySnail::create();
	default:			return Enemy::create();
	}
}