fix environment texture drag to viewport didn't create SkylightComponent; fix PhysicsWrappers::CreateConvexMesh collier worng scale;some tweaks

This commit is contained in:
2026-03-09 01:03:35 +08:00
parent c1bb8f9fba
commit eb0a463370
10 changed files with 54 additions and 49 deletions

View File

@ -606,28 +606,39 @@ namespace Prism
if (ImGui::BeginDragDropTarget())
{
auto payload = ImGui::AcceptDragDropPayload("asset_payload");
if (payload)
if (auto payload = ImGui::AcceptDragDropPayload("asset_payload"))
{
int count = payload->DataSize / sizeof(AssetHandle);
for (int i = 0; i < count; i++)
{
AssetHandle assetHandle = *(((AssetHandle*)payload->Data) + i);
AssetHandle assetHandle = *(static_cast<AssetHandle*>(payload->Data) + i);
Ref<Asset> asset = AssetsManager::GetAsset<Asset>(assetHandle);
// We can't really support dragging and dropping scenes when we're dropping multiple assets
if (count == 1 && asset->Type == AssetType::Scene)
{
OpenScene(asset->FilePath);
break;
}
if (asset->Type == AssetType::Mesh)
switch (asset->Type)
{
case AssetType::Mesh:
{
Entity entity = m_EditorScene->CreateEntity(asset->FileName);
entity.AddComponent<MeshComponent>(Ref<Mesh>(asset));
SelectEntity(entity);
break;
}
case AssetType::EnvMap:
{
Entity entity = m_EditorScene->CreateEntity(asset->FileName);
entity.AddComponent<SkyLightComponent>(Ref<Environment>(asset));
SelectEntity(entity);
break;
}
}
}
}
ImGui::EndDragDropTarget();