// Material wrapper generated by shader translator tool
using System;
using System.Reflection;
using UnityEngine;

using Kopernicus.MaterialWrapper;

namespace Kopernicus
{
    namespace Configuration
    {
        public class PQSProjectionFallbackLoader : PQSProjectionFallback
        {
            // Saturation, default = 1
            [ParserTarget("saturation", optional = true)]
            private NumericParser<float> saturationSetter
            {
                set { base.saturation = value.value; }
            }

            // Contrast, default = 1
            [ParserTarget("contrast", optional = true)]
            private NumericParser<float> contrastSetter
            {
                set { base.contrast = value.value; }
            }

            // Colour Unsaturation (A = Factor), default = (1,1,1,0)
            [ParserTarget("tintColor", optional = true)]
            private ColorParser tintColorSetter
            {
                set { base.tintColor = value.value; }
            }

            // Near Tiling, default = 1000
            [ParserTarget("texTiling", optional = true)]
            private NumericParser<float> texTilingSetter
            {
                set { base.texTiling = value.value; }
            }

            // Near Blend, default = 0.5
            [ParserTarget("texPower", optional = true)]
            private NumericParser<float> texPowerSetter
            {
                set { base.texPower = value.value; }
            }

            // Far Blend, default = 0.5
            [ParserTarget("multiPower", optional = true)]
            private NumericParser<float> multiPowerSetter
            {
                set { base.multiPower = value.value; }
            }

            // NearFar Start, default = 2000
            [ParserTarget("groundTexStart", optional = true)]
            private NumericParser<float> groundTexStartSetter
            {
                set { base.groundTexStart = value.value; }
            }

            // NearFar Start, default = 10000
            [ParserTarget("groundTexEnd", optional = true)]
            private NumericParser<float> groundTexEndSetter
            {
                set { base.groundTexEnd = value.value; }
            }

            // Multifactor, default = 0.5
            [ParserTarget("multiFactor", optional = true)]
            private NumericParser<float> multiFactorSetter
            {
                set { base.multiFactor = value.value; }
            }

            // Main Texture, default = "white" {}
            [ParserTarget("mainTex", optional = true)]
            private Texture2DParser mainTexSetter
            {
                set { base.mainTex = value.value; }
            }

            [ParserTarget("mainTexScale", optional = true)]
            private Vector2Parser mainTexScaleSetter
            {
                set { base.mainTexScale = value.value; }
            }

            [ParserTarget("mainTexOffset", optional = true)]
            private Vector2Parser mainTexOffsetSetter
            {
                set { base.mainTexOffset = value.value; }
            }

            // PlanetOpacity, default = 1
            [ParserTarget("planetOpacity", optional = true)]
            private NumericParser<float> planetOpacitySetter
            {
                set { base.planetOpacity = value.value; }
            }

            // Constructors
            public PQSProjectionFallbackLoader () : base() { }
            public PQSProjectionFallbackLoader (string contents) : base (contents) { }
            public PQSProjectionFallbackLoader (Material material) : base(material) { }
        }
    }
}
