Add scene asset type to editor
This commit is contained in:
parent
9d1cb3254e
commit
b22447a931
2 changed files with 24 additions and 6 deletions
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in a new issue