using System; using Sirenix.OdinInspector; using UnityEngine; using UnityEngine.Video; namespace SO { [CreateAssetMenu(menuName = "Definitions/StepSO")] public class StepSO : ScriptableObject { [SerializeField, ReadOnly] private string guid = System.Guid.NewGuid().ToString(); [SerializeField] private string stepName; [SerializeField] private string description; [SerializeField] private Texture document; [SerializeField] private AnimationClip animationClip; [SerializeField] private AnimationClip guideClip; [SerializeField] private VideoClip video; public string StepName => stepName; public string Description => description; public Texture Document => document; public AnimationClip Animation => animationClip; public AnimationClip GuideClip => guideClip; public VideoClip Video => video; public override bool Equals(object other) { if (other == null) return false; if (other.GetType() != typeof(StepSO)) return false; return ((StepSO)other).guid.Equals(guid, StringComparison.InvariantCultureIgnoreCase); } } }