Exemple #1
0
        public override bool GetTexture(ShaderProperty.TextureValue field, ref Texture tex, PlaytimePainter painter)
        {
            if (!painter.terrain || !field.Equals(PainterDataAndConfig.TerrainLight))
            {
                return(false);
            }

            tex = mergingTerrain.lightTexture;
            return(true);
        }
Exemple #2
0
            public override bool GetTexture(ShaderProperty.TextureValue field, ref Texture tex)
            {
                if (volumeTexture && field.Equals(volumeTexture.TextureInShaderProperty))
                {
                    tex = volumeTexture.Texture;
                    return(true);
                }

                return(false);
            }
Exemple #3
0
        public override bool GetTexture(ShaderProperty.TextureValue field, ref Texture tex)
        {
            if (!painter.terrain || !field.Equals(PainterShaderVariables.TerrainLight))
            {
                return(false);
            }

            tex = mergingTerrain.lightTexture;
            return(true);
        }
Exemple #4
0
        public override bool UpdateTilingFromMaterial(ShaderProperty.TextureValue fieldName, PlaytimePainter painter)
        {
            if (!painter.terrain || fieldName == null ||
                !fieldName.Equals(PainterDataAndConfig.TerrainLight))
            {
                return(false);
            }

            var id = painter.TexMeta;

            if (id == null)
            {
                return(true);
            }
            id.tiling = Vector2.one;
            id.offset = Vector2.zero;
            return(true);
        }
Exemple #5
0
        public override bool GetTexture(ShaderProperty.TextureValue field, ref Texture tex)
        {
            if (!field.Equals(textureName))
            {
                return(false);
            }

            var tmp = GetTexture();

            if (!tmp)
            {
                return(false);
            }

            tex = tmp;

            return(true);
        }
Exemple #6
0
        public override bool SetTextureOnMaterial(ShaderProperty.TextureValue field, TextureMeta id, PlaytimePainter painter)
        {
            var tex = id.CurrentTexture();

            if (!painter.terrain || !field.Equals(PainterDataAndConfig.TerrainLight))
            {
                return(false);
            }

            FindMergingTerrain(painter);
            if (mergingTerrain && id != null)
            {
                mergingTerrain.lightTexture = id.texture2D;
            }

#if UNITY_EDITOR
            var t2D = tex as Texture2D;

            if (t2D)
            {
                var importer = (t2D).GetTextureImporter();
                if (importer != null)
                {
                    var needReimport = importer.WasClamped();
                    needReimport |= importer.HadNoMipmaps();

                    if (needReimport)
                    {
                        importer.SaveAndReimport();
                    }
                }
            }
#endif

            PainterDataAndConfig.TerrainLight.GlobalValue = tex;



            return(true);
        }
Exemple #7
0
        public override bool BrushConfigPEGI()
        {
            var changed = false;
            var p       = PlaytimePainter.inspected;

            if (p.IsUiGraphicPainter)
            {
                var gr = p.uiGraphic;

                if (!gr.raycastTarget)
                {
                    "Raycast target on UI is disabled, enable for painting".writeWarning();
                    if ("Enable Raycasts on UI".Click().nl())
                    {
                        gr.raycastTarget = true;
                    }
                }

                if (p.TexMeta.TargetIsRenderTexture())
                {
                    var prop = p.GetMaterialTextureProperty();

                    if (textureName.Equals(prop) && p.NotUsingPreview)
                    {
                        "Image element can't use Render Texture as sprite. Switch to preview. Sprite will be updated when switching to CPU"
                        .writeWarning();
                    }

                    if (GlobalBrush.GetBrushType(false) == BrushTypes.Sphere.Inst)
                    {
                        "Brush sphere doesn't work with UI.".writeWarning();
                    }
                }
            }

            return(changed);
        }
 private bool CorrectField(ShaderProperty.TextureValue field, PlaytimePainter painter) =>
 painter.terrain &&
 field.Equals(PainterShaderVariables.TerrainHeight);
 private bool CorrectField(ShaderProperty.TextureValue field) => field.Equals(PainterShaderVariables.TerrainHeight);
Exemple #10
0
 private Sprite GetSprite(ShaderProperty.TextureValue field)
 => field.Equals(textureName) ? GetSprite() : null;
Exemple #11
0
 private bool CorrectField(ShaderProperty.TextureValue field, PlaytimePainter painter) =>
 painter.terrain &&
 field.Equals(PainterDataAndConfig.TerrainHeight);
Exemple #12
0
 private bool CorrectField(ShaderProperty.TextureValue field) => field.Equals(PainterDataAndConfig.TerrainHeight);
 private Sprite GetSprite(ShaderProperty.TextureValue field, PlaytimePainter painter)
 => field.Equals(textureName) ? GetSprite(painter) : null;