mirror of
https://github.com/bdunderscore/modular-avatar.git
synced 2025-01-29 17:52:52 +08:00
43 lines
1.3 KiB
C#
43 lines
1.3 KiB
C#
using System;
|
|
using nadena.dev.ndmf;
|
|
using nadena.dev.modular_avatar.editor.ErrorReporting;
|
|
|
|
namespace nadena.dev.modular_avatar.core.editor
|
|
{
|
|
internal class ModularAvatarContext : IExtensionContext
|
|
{
|
|
private IDisposable toDispose;
|
|
internal BuildContext BuildContext { get; private set; }
|
|
|
|
public void OnActivate(ndmf.BuildContext context)
|
|
{
|
|
if (BuildContext == null)
|
|
{
|
|
BuildContext = new BuildContext(context);
|
|
}
|
|
|
|
toDispose = BuildReport.CurrentReport.ReportingOnAvatar(context.AvatarRootObject);
|
|
}
|
|
|
|
public void OnDeactivate(ndmf.BuildContext context)
|
|
{
|
|
try
|
|
{
|
|
toDispose?.Dispose();
|
|
toDispose = null;
|
|
|
|
if (BuildReport.CurrentReport?.CurrentAvatar?.successful == false)
|
|
{
|
|
// This is a bit of a temporary hack until we have a better way to report errors via NDMF
|
|
ErrorReportUI.OpenErrorReportUI();
|
|
throw new Exception("Errors occurred during modular avatar processing");
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
ErrorReportUI.OpenErrorReportUI();
|
|
throw e;
|
|
}
|
|
}
|
|
}
|
|
} |