Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
 private void FetchVolumeComponent()
 {
     if (hbao == null)
     {
         hbao = VolumeManager.instance.stack.GetComponent <HBAO>();
     }
 }