#ifndef EDITSCENE_PREFABINSTANCE_HPP
#define EDITSCENE_PREFABINSTANCE_HPP
#pragma once
#include <string>

/**
 * @brief Marks an entity as an instance of a prefab asset.
 *
 * The entity's TransformComponent acts as the world-space override
 * for the prefab root.  All other components (and the child subtree)
 * are loaded from the prefab file at runtime and are NOT serialized
 * with the main scene.
 */
struct PrefabInstanceComponent {
	/** Path to the prefab JSON file (relative to working dir) */
	std::string prefabPath;

	/** Set to true once the prefab has been instantiated.
	 *  Prevents double-instantiation on repeated resolve calls.
	 */
	bool instantiated = false;
};

#endif // EDITSCENE_PREFABINSTANCE_HPP
