/**
 * 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 System.Collections.Generic;
namespace Live2D.Cubism.Framework.MotionFade
{
    /// 
    /// Cubism fade state interface.
    /// 
    public interface ICubismFadeState
    {
        /// 
        /// Get cubism playing motion list.
        /// 
        /// Cubism playing motion list.
        List GetPlayingMotions();
        /// 
        /// Is default state.
        /// 
        ///  State is default;  otherwise.
        bool IsDefaultState();
        /// 
        /// Get layer weight.
        /// 
        /// Layer weight.
        float GetLayerWeight();
        /// 
        /// Get state transition finished.
        /// 
        ///  State transition is finished;  otherwise.
        bool GetStateTransitionFinished();
        /// 
        /// Set state transition finished.
        /// 
        /// State is finished.
        void SetStateTransitionFinished(bool isFinished);
        /// 
        /// Stop animation.
        /// 
        /// Playing motion index.
        void StopAnimation(int index);
    }
}