/**
* Copyright(c) Live2D Inc. All rights reserved.
*
* Use of this source code is governed by the Live2D Open Software license
* that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html.
*/
using Live2D.Cubism.Framework.MotionFade;
using System;
using UnityEditor;
namespace Live2D.Cubism.Editor.Deleters
{
///
/// Handles importing of Cubism models.
///
[Serializable]
public sealed class CubismAnimationClipDeleter : CubismDeleterBase
{
#region Unity Event Handling
///
/// Registers deleter.
///
[InitializeOnLoadMethod]
// ReSharper disable once UnusedMember.Local
private static void RegisterDeleter()
{
CubismDeleter.RegisterDeleter(".anim");
}
#endregion
#region CubismDeleterBase
///
/// Deleters the corresponding asset.
///
public override void Delete()
{
var fadeAssetPath = AssetPath.Replace(".anim", ".fade.asset");
var fadeAsset = AssetDatabase.LoadAssetAtPath(fadeAssetPath);
// Fail silently...
if (fadeAsset == null)
{
return;
}
// Delete fade motion asset.
AssetDatabase.DeleteAsset(fadeAssetPath);
// Get fade motion asset deleter.
var fadeMotionDeleter = CubismDeleter.GetDeleterAsPath(fadeAssetPath);
// Fail silently...
if (fadeMotionDeleter == null)
{
return;
}
fadeMotionDeleter.Delete();
}
#endregion
}
}