27 lines
701 B
C++
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;
|
|
};
|