libikarus/src/objects/properties/property_source.hpp
Folling 9ad3d62b14
implement remaining logic
Signed-off-by: Folling <mail@folling.io>
2025-04-15 12:08:04 +02:00

27 lines
701 B
C++

#pragma once
#include <boost/variant2.hpp>
#include <ikarus/id.h>
#include <ikarus/objects/properties/property_source.h>
struct IkarusPropertySource {
public:
using Data = boost::variant2::variant<IkarusBlueprint *, IkarusEntity *>;
public:
explicit IkarusPropertySource(Data data);
IkarusPropertySource(IkarusPropertySource const &) = default;
IkarusPropertySource(IkarusPropertySource &&) = default;
IkarusPropertySource & operator=(IkarusPropertySource const &) = default;
IkarusPropertySource & operator=(IkarusPropertySource &&) = default;
virtual ~IkarusPropertySource() = default;
public:
[[nodiscard]] IkarusId get_id() const;
public:
Data data;
};