light/modules/ecs/public/components/sprite_renderer.hpp

36 lines
555 B
C++
Raw Normal View History

2025-07-05 13:28:41 +03:30
#pragma once
#include <math/vec4.hpp>
2025-07-06 16:52:50 +03:30
#include <utility>
2025-07-05 13:28:41 +03:30
2025-07-11 00:05:48 +03:30
namespace lt {
2025-07-05 13:28:41 +03:30
class Texture;
struct SpriteRendererComponent
{
SpriteRendererComponent() = default;
2025-07-05 16:07:51 +03:30
2025-07-05 13:28:41 +03:30
SpriteRendererComponent(const SpriteRendererComponent &) = default;
SpriteRendererComponent(
Ref<Texture> _texture,
const math::vec4 &_tint = math::vec4 { 1.0f, 1.0f, 1.0f, 1.0f }
2025-07-05 13:28:41 +03:30
)
2025-07-06 16:52:50 +03:30
: texture(std::move(std::move(_texture)))
2025-07-05 13:28:41 +03:30
, tint(_tint)
{
}
2025-07-06 16:52:50 +03:30
operator Ref<Texture>() const
2025-07-05 13:28:41 +03:30
{
return texture;
}
2025-07-05 16:07:51 +03:30
Ref<Texture> texture;
math::vec4 tint {};
2025-07-05 13:28:41 +03:30
};
2025-07-11 00:05:48 +03:30
} // namespace lt