using Sirenix.OdinInspector;
using TheVVaS.CustomSettings.Runtime;
using UnityEngine;
using VOID.Generic.Objects.Unit.Animations;
using VOID.ScriptableObjects.Animations;

namespace VOID.Generic.Settings
{
    [CustomSettings("99 - Settings/Animations", "Humanoid Animations", "VOID RPG Settings")]
    public class HumanoidAnimationSettings : SerializedScriptableObject
    {
        [Title("Animator Controller")]
        public RuntimeAnimatorController animatorController;
        
        [Title("Avatars")]
        public Avatar femaleAvatar;
        public Avatar maleAvatar;

        [Title("Base animation clips for override")]
        [InfoBox("Base animation clips used by animator that will be overridden with final animations")]
        public ActionLoopAnimation baseCastingLoop;
        public ActionAnimation baseAbility;
        public ActionLoopAnimation baseAbilityLoop;
        public ActionLoopAnimation baseTraverseLoop;
        public ActionLoopAnimation baseDeath;
        
        [Title("Action Animations")]
        [InfoBox("Ability and Casting animations are defined by abilities.")]
        public ActionLoopAnimationList defaultLadderUpAnimation;
        public ActionLoopAnimationList defaultLadderDownAnimation;
        public ActionLoopAnimationList defaultDeathAnimation;
    }
}