Fix model collision data generate option to be in ModelProxy

This commit is contained in:
Wojtek Figat
2020-12-29 23:11:00 +01:00
parent a2371dab83
commit 826c0206cb
2 changed files with 14 additions and 9 deletions

View File

@@ -2,6 +2,7 @@
using System; using System;
using FlaxEditor.Content.Thumbnails; using FlaxEditor.Content.Thumbnails;
using FlaxEditor.GUI.ContextMenu;
using FlaxEditor.Viewport.Previews; using FlaxEditor.Viewport.Previews;
using FlaxEditor.Windows; using FlaxEditor.Windows;
using FlaxEditor.Windows.Assets; using FlaxEditor.Windows.Assets;
@@ -39,6 +40,19 @@ namespace FlaxEditor.Content
/// <inheritdoc /> /// <inheritdoc />
public override Type AssetType => typeof(Model); public override Type AssetType => typeof(Model);
/// <inheritdoc />
public override void OnContentWindowContextMenu(ContextMenu menu, ContentItem item)
{
base.OnContentWindowContextMenu(menu, item);
menu.AddButton("Generate collision data", () =>
{
var model = FlaxEngine.Content.LoadAsync<Model>(((ModelAssetItem)item).ID);
var cdProxy = (CollisionDataProxy)Editor.Instance.ContentDatabase.GetProxy<CollisionData>();
cdProxy.CreateCollisionDataFromModel(model);
});
}
/// <inheritdoc /> /// <inheritdoc />
public override void OnThumbnailDrawPrepare(ThumbnailRequest request) public override void OnThumbnailDrawPrepare(ThumbnailRequest request)
{ {

View File

@@ -89,15 +89,6 @@ namespace FlaxEditor.Windows
if (item is AssetItem assetItem) if (item is AssetItem assetItem)
{ {
cm.AddButton("Copy asset ID", () => Clipboard.Text = JsonSerializer.GetStringID(assetItem.ID)); cm.AddButton("Copy asset ID", () => Clipboard.Text = JsonSerializer.GetStringID(assetItem.ID));
if (item is ModelAssetItem modelAssetItem)
{
cm.AddButton("Generate collision data", () =>
{
var model = FlaxEngine.Content.Load<Model>(modelAssetItem.ID);
var cdProxy = (CollisionDataProxy)Editor.Instance.ContentDatabase.GetProxy<CollisionData>();
cdProxy.CreateCollisionDataFromModel(model);
});
}
} }
if (Editor.CanExport(item.Path)) if (Editor.CanExport(item.Path))