Fix for env probes baking in Editor

This commit is contained in:
Wojtek Figat
2021-09-20 11:37:25 +02:00
parent 628456bcc6
commit 77b0d194c7
2 changed files with 18 additions and 5 deletions

View File

@@ -11,6 +11,8 @@ namespace FlaxEditor.CustomEditors.Dedicated
[CustomEditor(typeof(EnvironmentProbe)), DefaultEditor]
public class EnvironmentProbeEditor : ActorEditor
{
private FlaxEngine.GUI.Button _bake;
/// <inheritdoc />
public override void Initialize(LayoutElementsContainer layout)
{
@@ -18,10 +20,20 @@ namespace FlaxEditor.CustomEditors.Dedicated
if (Values.HasDifferentTypes == false)
{
// Add 'Bake' button
layout.Space(10);
var button = layout.Button("Bake");
button.Button.Clicked += BakeButtonClicked;
_bake = layout.Button("Bake").Button;
_bake.Clicked += BakeButtonClicked;
}
}
/// <inheritdoc />
public override void Refresh()
{
base.Refresh();
if (_bake != null)
{
_bake.Enabled = Values.Count != 0 && Values[0] is EnvironmentProbe probe && !probe.IsUsingCustomProbe;
}
}
@@ -29,7 +41,7 @@ namespace FlaxEditor.CustomEditors.Dedicated
{
for (int i = 0; i < Values.Count; i++)
{
if (Values[i] is EnvironmentProbe envProbe)
if (Values[i] is EnvironmentProbe envProbe && !envProbe.IsUsingCustomProbe)
{
envProbe.Bake();
Editor.Instance.Scene.MarkSceneEdited(envProbe.Scene);

View File

@@ -151,7 +151,8 @@ Delegate<const ProbesRenderer::Entry&> ProbesRenderer::OnFinishBake;
void ProbesRenderer::Bake(EnvironmentProbe* probe, float timeout)
{
ASSERT(probe && dynamic_cast<EnvironmentProbe*>(probe));
if (!probe || probe->IsUsingCustomProbe())
return;
// Check if already registered for bake
for (int32 i = 0; i < _probesToBake.Count(); i++)