public override void OnEnable() { targetMat = (Material)target; colorDeficiency = (ColorDeficiencyType)((int)targetMat.GetFloat("_Deficiency")); targetMatAsArray = new UnityEngine.Object[] { targetMat }; materialPropErrorTexture = GetMaterialProperty(targetMatAsArray, "_ErrorTex"); materialPropErrorStrength = GetMaterialProperty(targetMatAsArray, "_ErrorStrength"); materialPropErrorBlinkSpeed = GetMaterialProperty(targetMatAsArray, "_ErrorBlinkSpeed"); }
public override void OnInspectorGUI() { if (!isVisible) { return; } colorDeficiency = (ColorDeficiencyType)EditorGUILayout.EnumPopup("Color Deficiency", colorDeficiency); targetMat.SetFloat("_Deficiency", (float)((int)colorDeficiency)); EditorGUILayout.Space(); base.DefaultShaderProperty(materialPropErrorTexture, "Error Texture"); base.DefaultShaderProperty(materialPropErrorStrength, "Error Strength"); base.DefaultShaderProperty(materialPropErrorBlinkSpeed, "Error Blink Speed"); }
void Update() { if (selectedDeficiency != currentDeficiency) { if (material == null) { Debug.Log("ColorblindSimulationImageEffect:: Cannot change deficiency type, no material set."); selectedDeficiency = currentDeficiency; return; } if (!material.HasProperty("_Deficiency")) { Debug.Log("ColorblindSimulationImageEffect:: The set material is not compatible with this script."); selectedDeficiency = currentDeficiency; return; } material.SetInt("_Deficiency", (int)selectedDeficiency); currentDeficiency = selectedDeficiency; } }