modular-avatar/Editor/PluginDefinition/ModularAvatarContext.cs
kaikoga ae7103cf82
chore: use ndmf Avatar Root api where applicable (#482)
* expose ndmf AvatarRoot APIs through ma.RuntimeUtil

* refactor: prefer RuntimeUtil helpers for checking avatar root

* refactor: ndmf.BuildContext represents Avatar (log)

* refactor: ndmf.BuildContext represents Avatar (WorldFixed)

* refactor: ndmf.BuildContext represents Avatar (FirstPersonVisible)

* refactor: ndmf.BuildContext represents Avatar (BlendShapeSync)

* refactor: prefer FindAvatarTransformInParents() (ErrorReportUI)

* refactor: prefer FindAvatarTransformInParents() (Runtime)

* refactor: prefer FindAvatarTransformInParents() (Editor)

* delegate more ndmf AvatarRoot APIs through ma.RuntimeUtil
2023-10-15 18:44:53 +09:00

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