fix environment texture drag to viewport didn't create SkylightComponent; fix PhysicsWrappers::CreateConvexMesh collier worng scale;some tweaks
This commit is contained in:
@ -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();
|
||||
|
||||
Reference in New Issue
Block a user