private void _InitShaderView(Materials.Row maCfg) { var tem = Instantiate(Tem_MaterialBtn, MaBtnRoot).GetComponent <MaterialBtn>(); m_MaBtnLst.Add(tem); tem.Text_Name.text = maCfg.Name; tem.Btn.onClick.AddListener(() => { _UpdateProView(maCfg); }); }
private void _UpdateProView(Materials.Row maCfg) { #region Slider 表现 var sliderlst = maCfg.SliderProperties; if (sliderlst.Count <= m_ProSliderLst.Count) { for (int i = m_ProSliderLst.Count - sliderlst.Count; i > 0; i--) { m_ProSliderLst[m_ProSliderLst.Count - i].gameObject.SetActive(false); } } else { for (int i = sliderlst.Count - m_ProSliderLst.Count; i > 0; i--) { m_ProSliderLst.Add(Instantiate(Tem_ProSlider, ProSliderRoot).GetComponent <MaterialProSlider>()); } } for (int i = 0; i < sliderlst.Count; i++) { int j = i; m_ProSliderLst[i].gameObject.SetActive(true); m_ProSliderLst[i].Text_ProName.text = sliderlst[i].name; m_ProSliderLst[i].Slider_ProValue.value = m_ProLastValDic[maCfg.Name][sliderlst[i].name]; m_ProSliderLst[i].Slider_ProValue.minValue = sliderlst[i].min; m_ProSliderLst[i].Slider_ProValue.maxValue = sliderlst[i].max; m_ProSliderLst[i].Slider_ProValue.onValueChanged.RemoveAllListeners(); m_ProSliderLst[i].Slider_ProValue.onValueChanged.AddListener((val) => { if (Mathf.Abs(val - m_ProLastValDic[maCfg.Name][sliderlst[j].name]) > 0.01) { m_ProLastValDic[maCfg.Name][sliderlst[j].name] = val; var materail = m_MaterialDic[maCfg.Name]; materail.SetFloat(sliderlst[j].name, val); Pic.texture = PostEffectsCore.Instance.UpdateImage(RT, materail); } }); } #endregion }