示例#1
0
        bool ColorSliders()
        {
            bool            changed = false;
            PlaytimePainter painter = PlaytimePainter.inspectedPainter;
            bool            slider  = BlitMode.ShowColorSliders;

            if ((painter != null) && (painter.IsTerrainHeightTexture()))
            {
                changed |= ChannelSlider(BrushMask.A, ref colorLinear.a, null, true);
            }
            else if ((painter != null) && painter.IsTerrainControlTexture())
            {
                // Debug.Log("Is control texture");
                changed |= ChannelSlider(BrushMask.R, ref colorLinear.r, painter.terrain.GetSplashPrototypeTexture(0), slider);
                changed |= ChannelSlider(BrushMask.G, ref colorLinear.g, painter.terrain.GetSplashPrototypeTexture(1), slider);
                changed |= ChannelSlider(BrushMask.B, ref colorLinear.b, painter.terrain.GetSplashPrototypeTexture(2), slider);
                changed |= ChannelSlider(BrushMask.A, ref colorLinear.a, painter.terrain.GetSplashPrototypeTexture(3), slider);
            }
            else
            {
                var id = painter.ImgData;
                if ((id.TargetIsRenderTexture()) && (id.renderTexture != null))
                {
                    changed |= ChannelSlider(BrushMask.R, ref colorLinear.r);
                    changed |= ChannelSlider(BrushMask.G, ref colorLinear.g);
                    changed |= ChannelSlider(BrushMask.B, ref colorLinear.b);
                }
                else
                {
                    changed |= ChannelSlider(BrushMask.R, ref colorLinear.r, null, slider);
                    changed |= ChannelSlider(BrushMask.G, ref colorLinear.g, null, slider);
                    changed |= ChannelSlider(BrushMask.B, ref colorLinear.b, null, slider);
                    changed |= ChannelSlider(BrushMask.A, ref colorLinear.a, null, slider);
                }
            }
            return(changed);
        }