void SpriteComponent::update() { // setting position from Transform Component TransformComponent* transform = parent.getComponent<TransformComponent>(); sprite.setPosition(utils::mToPx(transform->getX()), utils::mToPx(transform->getY()) ); sprite.setRotation(utils::radToDeg(transform->getRotation()) ); GameManager& gameManager = GameManager::getInstance(); gameManager.getWindow().draw(sprite); }
void SpriteComponent::setTexture(std::string textureName) { // load texture from AssetManager AssetManager& assetManager = AssetManager::getInstance(); sprite.setTexture(assetManager.getTextureByName(textureName)); //assetManager.getTextureByName(textureName).setSmooth(true); // set origin in the center float xOrigin, yOrigin; sf::Vector2u size = sprite.getTexture()->getSize(); xOrigin = size.x / 2; yOrigin = size.y / 2; sprite.setOrigin(xOrigin, yOrigin); // if the parent GameObject has a transform component, get the transform from it TransformComponent* transformComponent = parent.getComponent<TransformComponent>(); if (transformComponent) { sprite.setPosition(utils::mToPx(transformComponent->getX()), utils::mToPx(transformComponent->getY()) ); sprite.setRotation(utils::radToDeg(transformComponent->getRotation())); } }