private void AdditionalShaderChannelsCheck() { Canvas canvas = (target as MPImage)?.GetComponentInParent <Canvas>(); if (canvas && MPEditorUtility.HasAdditionalShaderChannels(canvas)) { return; } if (canvas) { MPEditorUtility.AddAdditionalShaderChannelsToCanvas(canvas); Debug.Log( $"Additional shader channels ('Texcoord1', 'Texcoord2') added to canvas '{canvas.gameObject.name}'"); } }
private void FixShaderChannelGUI() { if (!shaderChannelsNeedUpdate) { return; } EditorGUILayout.HelpBox( "Parent Canvas needs to have these additional shader channels : Texcoord1, Texcoord2", MessageType.Error); EditorGUILayout.BeginHorizontal(); { GUILayout.FlexibleSpace(); if (GUILayout.Button("Fix", GUILayout.Width(100))) { Canvas canvas = (target as MPImage)?.GetComponentInParent <Canvas>(); if (canvas != null) { MPEditorUtility.AddAdditionalShaderChannelsToCanvas(canvas); shaderChannelsNeedUpdate = false; } } } EditorGUILayout.EndHorizontal(); }