UnityEditor.ShaderForgeInspector.OnEnable C# (CSharp) Method

OnEnable() private method

private OnEnable ( ) : void
return void
		void OnEnable() {
			AnalyzeShader();

			// Reflect some things
			sipp = Type.GetType( "UnityEditor.ShaderInspectorPlatformsPopup, UnityEditor" );
			newSipp = sipp.GetConstructor( new Type[] { typeof( string ) } );
			BindingFlags bfs = BindingFlags.Public | BindingFlags.Static | BindingFlags.GetProperty;
			BindingFlags privStatic = BindingFlags.NonPublic | BindingFlags.Static;
			sippCurrentMode = sipp.GetProperty( "currentMode", bfs );
			sippCurrentPlatformMask = sipp.GetProperty( "currentPlatformMask", bfs );
			sippCurrentVariantStripping = sipp.GetProperty( "currentVariantStripping", bfs );

			shinsp = Type.GetType( "UnityEditor.ShaderInspector, UnityEditor" );
			shinspGetErrorListUI = shinsp.GetMethod( "ShaderErrorListUI", privStatic );

			sutil = Type.GetType( "UnityEditor.ShaderUtil, UnityEditor" );
			sutilHasShadowCasterPass = sutil.GetMethod( "HasShadowCasterPass", privStatic );
			sutilGetRenderQueue = sutil.GetMethod( "GetRenderQueue", privStatic );
			sutilGetLOD = sutil.GetMethod( "GetLOD", privStatic );
			sutilDoesIgnoreProjector = sutil.GetMethod( "DoesIgnoreProjector", privStatic );
			sutilHasSurfaceShaders = sutil.GetMethod( "HasSurfaceShaders", privStatic );
			sutilHasShaderSnippets = sutil.GetMethod( "HasShaderSnippets", privStatic );
			sutilOpenParsedSurfaceShader = sutil.GetMethod( "OpenParsedSurfaceShader", privStatic );
			sutilOpenCompiledShader = sutil.GetMethod( "OpenCompiledShader", privStatic );
			sutilGetShaderErrorCount = sutil.GetMethod( "GetShaderErrorCount", privStatic );
			sutilGetShaderErrors = sutil.GetMethod( "GetShaderErrors", privStatic );

			//BindingFlags priv = BindingFlags.NonPublic;
			shaderDisableBatching = typeof( Shader ).GetProperty( "disableBatching", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetProperty );

			//disableBatchingType = Type.GetType( "UnityEngine.DisableBatchingType, UnityEngine" );

			editorGUIMouseButtonDown = typeof( EditorGUI ).GetMethod( "ButtonMouseDown", privStatic, null, new Type[]{typeof(Rect),typeof(GUIContent),typeof(FocusType),typeof(GUIStyle)}, null );

			Type guilaGroup = Type.GetType( "UnityEngine.GUILayoutGroup, UnityEngine" );
			guilayoutgroupGetLast = guilaGroup.GetMethod( "GetLast", BindingFlags.Instance | BindingFlags.Public );
			guiLayoutUtilityTopLevel = typeof( GUILayoutUtility ).GetProperty( "topLevel", BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.GetProperty );
			editorGuiUtilityLoadIcon = typeof( EditorGUIUtility ).GetMethod( "LoadIcon", privStatic );
			editorGuiUtilityTextContent = typeof( EditorGUIUtility ).GetMethod( "TextContent", privStatic );
		}