2025-07-05 13:28:41 +03:30
|
|
|
#pragma once
|
|
|
|
|
2025-07-17 10:44:00 +03:30
|
|
|
#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,
|
2025-07-17 10:44:00 +03:30
|
|
|
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;
|
|
|
|
|
2025-07-17 10:44:00 +03:30
|
|
|
math::vec4 tint {};
|
2025-07-05 13:28:41 +03:30
|
|
|
};
|
|
|
|
|
2025-07-11 00:05:48 +03:30
|
|
|
} // namespace lt
|