void ChangeShaderDetails(E_ShaderDetails level) { GraphicsDetailsUtl.DisableShaderKeyword("UNITY_SHADER_DETAIL_LOW"); GraphicsDetailsUtl.DisableShaderKeyword("UNITY_SHADER_DETAIL_MEDIUM"); GraphicsDetailsUtl.DisableShaderKeyword("UNITY_SHADER_DETAIL_HIGH"); switch (level) { case E_ShaderDetails.E_SHADER_DETAILS_LOW: { GraphicsDetailsUtl.EnableShaderKeyword("UNITY_SHADER_DETAIL_LOW"); } break; case E_ShaderDetails.E_SHADER_DETAILS_MEDIUM: { GraphicsDetailsUtl.EnableShaderKeyword("UNITY_SHADER_DETAIL_MEDIUM"); } break; case E_ShaderDetails.E_SHADER_DETAILS_HIGH: { GraphicsDetailsUtl.EnableShaderKeyword("UNITY_SHADER_DETAIL_HIGH"); } break; } }
void OnGUI() { E_ShaderDetails shaderDetails = (E_ShaderDetails)EditorGUILayout.EnumPopup(m_ShaderDetails); if (shaderDetails != m_ShaderDetails) { ChangeShaderDetails(shaderDetails); } m_ShaderDetails = shaderDetails; if (GUILayout.Button("Rebuild shaders", GUILayout.Width(200)) == true) { RebuildShaders(); } }