protected override void PreviewInSceneInternal(WorldStampCreator parent) { var bounds = parent.Template.Bounds; if (_maskPainter == null) { _maskPainter = new Painter(Mask, GridManager); _maskPainter.Ramp = new Gradient() { colorKeys = new[] { new GradientColorKey(Color.red, 0), new GradientColorKey(Color.black, 0.001f), new GradientColorKey(Color.black, 1), }, alphaKeys = new[] { new GradientAlphaKey(1, 0), new GradientAlphaKey(0, 1), } }; _maskPainter.Rect = new Rect(bounds.min.xz(), bounds.size.xz()); } else { GridSize = WorldStampCreator.GetMinGridSize(bounds, parent.Template.Terrain); _maskPainter.GridManager = GridManager; _maskPainter.Canvas = Mask; _maskPainter.MaxValue = 1; _maskPainter.MinValue = 0; _maskPainter.Rect = new Rect(Vector2.zero, bounds.size.xz()); _maskPainter.TRS = Matrix4x4.TRS(bounds.min, Quaternion.identity, Vector3.one); //_maskPainter.Repaint(); _maskPainter.PaintingEnabled = true; _maskPainter.OnSceneGUI(); } }