Archived
1
Fork 0

Add scene asset type to editor

This commit is contained in:
redstrate 2021-07-19 07:15:34 -04:00
parent 9d1cb3254e
commit b22447a931
2 changed files with 24 additions and 6 deletions

View file

@ -84,7 +84,8 @@ enum class AssetType {
Unknown, Unknown,
Mesh, Mesh,
Texture, Texture,
Material Material,
Scene
}; };
template<typename T> template<typename T>
@ -95,6 +96,8 @@ AssetType get_asset_type() {
return AssetType::Material; return AssetType::Material;
} else if constexpr(std::is_same<T, Texture>::value) { } else if constexpr(std::is_same<T, Texture>::value) {
return AssetType::Texture; return AssetType::Texture;
} else if constexpr(std::is_same<T, Scene>::value) {
return AssetType::Scene;
} }
return AssetType::Unknown; return AssetType::Unknown;
@ -297,6 +300,13 @@ public:
} }
} }
template<class T>
void open_asset(const AssetType type, const std::function<void(prism::path path)> func_ptr) {
current_asset_type = type;
open_asset_popup = true;
on_asset_select = func_ptr;
}
DebugPass* debugPass = nullptr; DebugPass* debugPass = nullptr;
int viewport_width = 1, viewport_height = 1; int viewport_width = 1, viewport_height = 1;

View file

@ -265,6 +265,12 @@ void CommonEditor::begin_frame() {
ImGui::CloseCurrentPopup(); ImGui::CloseCurrentPopup();
} }
if (ImGui::IsItemHovered()) {
ImGui::BeginTooltip();
ImGui::Text(p.c_str());
ImGui::EndTooltip();
}
column++; column++;
if(column != 5) if(column != 5)
@ -760,6 +766,8 @@ void cacheAssetFilesystem() {
asset_files[std::filesystem::relative(p, data_directory)] = AssetType::Material; asset_files[std::filesystem::relative(p, data_directory)] = AssetType::Material;
} else if(p.path().extension() == ".png") { } else if(p.path().extension() == ".png") {
asset_files[std::filesystem::relative(p, data_directory)] = AssetType::Texture; asset_files[std::filesystem::relative(p, data_directory)] = AssetType::Texture;
} else if(p.path().extension() == ".scene") {
asset_files[std::filesystem::relative(p, data_directory)] = AssetType::Scene;
} }
} }