private static void DrawClippingMaskSettings(Material material) { EditorGUILayout.BeginVertical(EditorStyles.helpBox); bool useClippingMask = material.IsKeywordEnabled("USE_CLIPPING_MASK"); useClippingMask = EditorGUILayout.Toggle("Use clipping mask?", useClippingMask); if (useClippingMask != material.IsKeywordEnabled("USE_CLIPPING_MASK")) { if (useClippingMask) { material.EnableKeyword("USE_CLIPPING_MASK"); } else { material.DisableKeyword("USE_CLIPPING_MASK"); } } if (useClippingMask) { int maskValue = Mathf.RoundToInt(material.GetFloat("_ClippingMaskVal") * 255f); int maskValTmp = maskValue; maskValue = EditorGUILayout.IntSlider("Clipping mask", maskValue, 0, 255); if (maskValue != maskValTmp) { material.SetFloat("_ClippingMaskVal", maskValue / 255f); } ClippingMode clippingMode = material.IsKeywordEnabled("CLIPPINGMODE_OUTSIDE") ? ClippingMode.OutsideMask : ClippingMode.InsideMask; ClippingMode newClippingMode = (ClippingMode)EditorGUILayout.EnumPopup("Clipping mode", clippingMode); if (clippingMode != newClippingMode) { if (newClippingMode == ClippingMode.InsideMask) { material.EnableKeyword("CLIPPINGMODE_INSIDE"); material.DisableKeyword("CLIPPINGMODE_OUTSIDE"); } else { material.DisableKeyword("CLIPPINGMODE_INSIDE"); material.EnableKeyword("CLIPPINGMODE_OUTSIDE"); } } } EditorGUILayout.EndVertical(); }
public override void ReadFromBinary(IBinaryReader reader) { Mode = (ClippingMode)reader.ReadEnum(); }
public MarkerClipping(CgmFile container, ClippingMode mode) : this(container) { Mode = mode; }
public LineClippingMode(ClippingMode mode) : base(3, 7) { Mode = mode; }
public EdgeClipping(CgmFile container, ClippingMode mode) : this(container) { Mode = mode; }
public MarkerClippingMode(ClippingMode mode) : base(3, 8) { Mode = mode; }
public EdgeClippingMode(ClippingMode mode) : base(3, 9) { Mode = mode; }