/// <summary> /// 所有権(Dispose権)を移譲する /// </summary> /// <param name="take"></param> public void TransferOwnership(TakeResponsibilityForDestroyObjectFunc take) { foreach (var(k, v) in _textureCache.ToArray()) { take(k, v); _textureCache.Remove(k); } }
public void TransferOwnership(TakeResponsibilityForDestroyObjectFunc take) { foreach (var(key, o) in _runtimeClips.ToArray()) { take(key, o); _runtimeClips.Remove(key); } }
/// <summary> /// 所有権(Dispose権)を移譲する /// /// 所有権を移動する関数。 /// /// * 所有権が移動する。return true => ImporterContext.Dispose の対象から外れる /// * 所有権が移動しない。return false => Importer.Context.Dispose でDestroyされる /// /// </summary> /// <param name="take"></param> public void TransferOwnership(TakeResponsibilityForDestroyObjectFunc take) { foreach (var x in m_materials.ToArray()) { if (!x.UseExternal) { // 外部の '.asset' からロードしていない take(x.Key, x.Asset); m_materials.Remove(x); } } }
/// <summary> /// Root ヒエラルキーで使っているリソース /// </summary> /// <returns></returns> public virtual void TransferOwnership(TakeResponsibilityForDestroyObjectFunc take) { foreach (var mesh in Meshes.ToArray()) { take(SubAssetKey.Create(mesh.Mesh), mesh.Mesh); Meshes.Remove(mesh); } AnimationClipFactory.TransferOwnership(take); TextureFactory.TransferOwnership(take); MaterialFactory.TransferOwnership(take); }
public override void TransferOwnership(TakeResponsibilityForDestroyObjectFunc take) { // VRM-0 は SubAssetKey を使っていないので default で済ます // VRM 固有のリソース(ScriptableObject) take(default, HumanoidAvatar);