public override void OnEnable() { base.OnEnable(); m_HBAO = (HBAO)target; m_HBAOTex = Resources.Load <Texture2D>("hbao_urp"); //var o = new PropertyFetcher<HBAO>(serializedObject); m_PropertyFetcher = new PropertyFetcher <HBAO>(serializedObject); var settings = m_HBAO.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance) .Where(t => t.FieldType.IsSubclassOf(typeof(VolumeParameter))) .Where(t => (t.IsPublic && t.GetCustomAttributes(typeof(NonSerializedAttribute), false).Length == 0) || (t.GetCustomAttributes(typeof(SerializeField), false).Length > 0)) .Where(t => t.GetCustomAttributes(typeof(HideInInspector), false).Length == 0) .Where(t => t.GetCustomAttributes(typeof(HBAO.SettingsGroup), false).Any()); foreach (var setting in settings) { //Debug.Log("setting name: " + setting.Name); foreach (var attr in setting.GetCustomAttributes(typeof(HBAO.SettingsGroup)) as IEnumerable <HBAO.SettingsGroup> ) { if (!m_GroupFields.ContainsKey(attr)) { m_GroupFields[attr] = new List <MemberInfo>(); } m_GroupFields[attr].Add(setting); } } m_SelectedPreset = m_Presets.Values.ToList().IndexOf(m_HBAO.GetCurrentPreset()); }
private void FetchVolumeComponent() { if (hbao == null) { hbao = VolumeManager.instance.stack.GetComponent <HBAO>(); } }