2021-12-28 13:04:50 -05:00
|
|
|
#include "spritefactorysfml.h"
|
2021-12-29 09:59:18 -05:00
|
|
|
#include "classicspritesfml.h"
|
2021-12-28 13:04:50 -05:00
|
|
|
|
2022-01-12 09:09:43 -05:00
|
|
|
ClassicSpriteFactorySFML::ClassicSpriteFactorySFML(sf::RenderTarget * const render_target) :
|
2021-12-28 13:04:50 -05:00
|
|
|
_render_target(render_target)
|
|
|
|
{}
|
|
|
|
|
|
|
|
std::shared_ptr<ClassicSprite> ClassicSpriteFactorySFML::create(Type type) const
|
|
|
|
{
|
|
|
|
sf::RectangleShape sprite;
|
|
|
|
sprite.setSize({20.f, 20.f});
|
|
|
|
switch (type)
|
|
|
|
{
|
|
|
|
case Type::UP:
|
|
|
|
sprite.setFillColor(sf::Color(255, 0, 0));
|
|
|
|
break;
|
|
|
|
|
|
|
|
case Type::DOWN:
|
|
|
|
sprite.setFillColor(sf::Color(0, 255, 0));
|
|
|
|
break;
|
|
|
|
|
|
|
|
case Type::LEFT:
|
|
|
|
sprite.setFillColor(sf::Color(0, 0, 255));
|
|
|
|
break;
|
|
|
|
|
|
|
|
case Type::RIGHT:
|
|
|
|
sprite.setFillColor(sf::Color(255, 0, 255));
|
|
|
|
break;
|
|
|
|
|
|
|
|
default: // yellow
|
|
|
|
sprite.setFillColor(sf::Color(255, 239, 0));
|
|
|
|
}
|
|
|
|
|
2021-12-29 09:59:18 -05:00
|
|
|
return std::make_shared<ClassicSpriteSFML>(_render_target, sprite);
|
2021-12-28 13:04:50 -05:00
|
|
|
}
|