Ejemplo n.º 1
0
        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();
            }
        }