Unregister 呼んでなかった

This commit is contained in:
ousttrue
2024-09-05 16:55:12 +09:00
parent 005b64d18f
commit f83c8260ab
2 changed files with 28 additions and 2 deletions

View File

@@ -12,9 +12,33 @@ namespace UniGLTF.SpringBoneJobs
{
private readonly List<IDisposable> _disposables = new List<IDisposable>();
public void Add(IDisposable disposable)
class Disposable : IDisposable
{
Action m_onDispose;
Disposable(Action action)
{
m_onDispose = action;
}
public static IDisposable Create(Action action)
{
return new Disposable(action);
}
public void Dispose()
{
m_onDispose();
}
}
public FastSpringBoneDisposer Add(IDisposable disposable)
{
_disposables.Add(disposable);
return this;
}
public FastSpringBoneDisposer AddAction(Action action)
{
_disposables.Add(Disposable.Create(action));
return this;
}
private void OnDestroy()

View File

@@ -395,7 +395,9 @@ namespace VRM.SimpleViewer
SpringBoneJobs.FastSpringBoneService.Instance.BufferCombiner.Register(buffer);
// 削除登録
instance.Root.AddComponent<FastSpringBoneDisposer>().Add(buffer);
instance.Root.AddComponent<FastSpringBoneDisposer>()
.AddAction(()=>{ SpringBoneJobs.FastSpringBoneService.Instance.BufferCombiner.Unregister(buffer);})
.Add(buffer);
}
instance.EnableUpdateWhenOffscreen();