2025-10-04 22:08:19 +03:30
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <ecs/entity.hpp>
|
2025-10-05 10:07:36 +03:30
|
|
|
#include <memory/scope.hpp>
|
2025-10-04 22:08:19 +03:30
|
|
|
#include <renderer/api.hpp>
|
|
|
|
|
|
|
|
|
|
namespace lt::renderer {
|
|
|
|
|
|
|
|
|
|
class IMessenger
|
|
|
|
|
{
|
|
|
|
|
public:
|
2025-10-07 16:09:50 +03:30
|
|
|
[[nodiscard]] static auto create(Api target_api, class IInstance *instance, ecs::Entity entity)
|
2025-10-05 10:07:36 +03:30
|
|
|
-> memory::Scope<IMessenger>;
|
2025-10-04 22:08:19 +03:30
|
|
|
|
|
|
|
|
IMessenger() = default;
|
|
|
|
|
|
|
|
|
|
virtual ~IMessenger() = default;
|
|
|
|
|
|
|
|
|
|
IMessenger(IMessenger &&) = default;
|
|
|
|
|
|
|
|
|
|
IMessenger(const IMessenger &) = delete;
|
|
|
|
|
|
|
|
|
|
auto operator=(IMessenger &&) -> IMessenger & = default;
|
|
|
|
|
|
|
|
|
|
auto operator=(const IMessenger &) -> IMessenger & = delete;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
} // namespace lt::renderer
|