# if UNITY_EDITOR using System.Collections; using System.Collections.Generic; using UnityEditor.Rendering; using UnityEngine; namespace UnityEngine.Rendering { public class RequiredSettingsSOT : RequiredSettingsSO where T : RequiredSettingBase { [SerializeField] public List m_requiredSettings; public override List requiredSettings => new List(m_requiredSettings); public bool allGood { get { if (requiredSettings == null || requiredSettings.Count == 0) return true; foreach(var setting in requiredSettings) { if (!setting.state) return false; } return true; } } } public abstract class RequiredSettingsSO : ScriptableObject, RequiredSettingsSOI { public abstract List requiredSettings { get; } } public interface RequiredSettingsSOI { public List requiredSettings { get; } } } #endif