modular-avatar/Editor/PluginDefinition/ModularAvatarContext.cs

36 lines
955 B
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.AvatarDescriptor);
}
public void OnDeactivate(ndmf.BuildContext context)
{
try
{
toDispose?.Dispose();
toDispose = null;
}
catch (Exception e)
{
ErrorReportUI.OpenErrorReportUI();
throw e;
}
}
}
}