コード例 #1
0
        internal Color GetColor()
        {
            Color underGroundColor = staticInstance.GrasColor;

            if (underGroundColor.a < 1f)
            {
                underGroundColor = GrassColorUtils.ManualCalcNewColor(underGroundColor, grasTextureName, grasTextureName);
            }
            return(underGroundColor);
        }
コード例 #2
0
        internal Color GetColor()
        {
            Color underGroundColor = staticInstance.GrasColor;

            if (underGroundColor.a != 1f && underGroundColor.a != 0f)
            {
                underGroundColor = GrassColorUtils.ManualCalcNewColor(underGroundColor, grasTextureName, grasTextureName);
                // convert it once and for all
                staticInstance.GrasColor = underGroundColor;
            }
            return(underGroundColor);
        }
コード例 #3
0
        public void ReadConfig()
        {
            if (staticInstance.grassColor2Configs.Count == 0)
            {
                nearGrassTextureName  = DefaultNearGrassTexture;
                farGrassTextureName   = DefaultFarGrassTexture;
                tarmacTextureName     = DefaultTarmacTexture;
                blendMaskTextureName  = DefaultBlendMaskTexture;
                nearGrassTiling       = float.Parse(DefaultNearGrassTiling);
                farGrassTiling        = float.Parse(DefaultFarGrassTiling);
                farGrassBlendDistance = float.Parse(DefaultFarGrassBlendDistance);
                grassColor            = defaultColor;
                tarmacColor           = Color.white;
                tarmacTiling          = new Vector2(10, 10);

                // try to import legacy values
                if (staticInstance.GrasColor != Color.clear)
                {
                    Log.Normal("Loading Legacy Grass Config" + staticInstance.gameObject.name);
                    //useLegacy = true;
                    grassColor = staticInstance.GrasColor;
                    string oldGrassTexture = staticInstance.GrasTexture;
                    if (String.IsNullOrEmpty(staticInstance.GrasTexture) || staticInstance.GrasTexture == "BUILTIN:/terrain_grass00_new")
                    {
                        oldGrassTexture = "KerbalKonstructs/Assets/Colors/legacyGrassColors";
                    }
                    if (String.IsNullOrEmpty(staticInstance.GrasTexture))
                    {
                        staticInstance.GrasTexture = "BUILTIN:/terrain_grass00_new_detail";
                    }

                    farGrassTiling       = farGrassTiling * 5;
                    nearGrassTextureName = staticInstance.GrasTexture;
                    farGrassTextureName  = staticInstance.GrasTexture;

                    grassColor = GrassColorUtils.ManualCalcNewColor(staticInstance.GrasColor, oldGrassTexture, staticInstance.GrasTexture);
                }

                return;
            }

            foreach (ConfigNode grassConfig in staticInstance.grassColor2Configs)
            {
                Log.Normal("found instance cfgnode");
                if (grassConfig.GetValue("GrassMeshName") == GrassMeshName)
                {
                    Log.Normal("found instance grassnode");
                    nearGrassTextureName  = (grassConfig.HasValue("NearGrassTexture")) ? grassConfig.GetValue("NearGrassTexture") : DefaultNearGrassTexture;
                    farGrassTextureName   = (grassConfig.HasValue("FarGrassTexture")) ? grassConfig.GetValue("FarGrassTexture") : DefaultFarGrassTexture;
                    tarmacTextureName     = (grassConfig.HasValue("TarmacTexture")) ? grassConfig.GetValue("TarmacTexture") : DefaultTarmacTexture;
                    blendMaskTextureName  = (grassConfig.HasValue("BlendMaskTexture")) ? grassConfig.GetValue("BlendMaskTexture") : DefaultBlendMaskTexture;
                    nearGrassTiling       = (grassConfig.HasValue("NearGrassTiling")) ? float.Parse(grassConfig.GetValue("NearGrassTiling")) : 1f;
                    farGrassTiling        = (grassConfig.HasValue("FarGrassTiling")) ? float.Parse(grassConfig.GetValue("FarGrassTiling")) : 1f;
                    farGrassBlendDistance = (grassConfig.HasValue("FarGrassBlendDistance")) ? float.Parse(grassConfig.GetValue("FarGrassBlendDistance")) : 50f;

                    grassColor   = (grassConfig.HasValue("GrassColor")) ? ConfigNode.ParseColor(grassConfig.GetValue("GrassColor")) : defaultColor;
                    tarmacColor  = (grassConfig.HasValue("TarmacColor")) ? ConfigNode.ParseColor(grassConfig.GetValue("TarmacColor")) : Color.white;
                    tarmacTiling = (grassConfig.HasValue("TarmacTiling")) ? ConfigNode.ParseVector2(grassConfig.GetValue("TarmacTiling")) : new Vector2(10, 10);
                    useLegacy    = (grassConfig.HasValue("UseLegacyColor")) ? Boolean.Parse(grassConfig.GetValue("UseLegacyColor")) : false;
                    break;
                }
            }
        }
コード例 #4
0
        public void ReadConfig()
        {
            if (staticInstance.grassColor2Configs.Count == 0)
            {
                nearGrassTextureName  = DefaultNearGrassTexture;
                farGrassTextureName   = DefaultFarGrassTexture;
                tarmacTextureName     = DefaultTarmacTexture;
                blendMaskTextureName  = DefaultBlendMaskTexture;
                nearGrassTiling       = float.Parse(DefaultNearGrassTiling);
                farGrassTiling        = float.Parse(DefaultFarGrassTiling);
                farGrassBlendDistance = float.Parse(DefaultFarGrassBlendDistance);
                tarmacTiling          = ConfigNode.ParseVector2(DefaultTarmacTiling);
                tarmacTileRandom      = bool.Parse(DefaultTarmacTileRandom);
                grassColor            = defaultColor;
                tarmacColor           = Color.white;

                nearGrassTextureGray = bool.Parse(DefaultNearGrassTextureGray);
                farGrassTextureGray  = bool.Parse(DefaultFarGrassTextureGray);
                tarmacTextureGray    = bool.Parse(DefaultTarmacTextureGray);
                thirdTextureGray     = bool.Parse(DefaultThirdTextureGray);
                fourthTextureGray    = bool.Parse(DefaultFourthTextureGray);

                //Log.Normal("MaterialOffset:" + MaterialOffset);


                thirdTextureName       = DefaultThirdTexture;
                thirdTextureTiling     = float.Parse(DefaultThirdTextureTiling);
                thirdTextureColor      = ConfigNode.ParseColor(DefaultThirdTextureColor);
                thirdTextureTileRandom = bool.Parse(DefaultThirdTextureTileRandom);

                fourthTextureName       = DefaultFourthTexture;
                fourthTextureTiling     = float.Parse(DefaultFourthTextureTiling);
                fourthTextureColor      = ConfigNode.ParseColor(DefaultFourthTextureColor);
                fourthTextureTileRandom = bool.Parse(DefaultFourthTextureTileRandom);


                // try to import legacy values
                if (staticInstance.GrasColor != Color.clear)
                {
                    Log.Normal("Loading Legacy Grass Config" + staticInstance.gameObject.name);
                    //useLegacy = true;
                    grassColor = staticInstance.GrasColor;
                    string oldGrassTexture = staticInstance.GrasTexture;
                    if (String.IsNullOrEmpty(staticInstance.GrasTexture) || staticInstance.GrasTexture == "BUILTIN:/terrain_grass00_new")
                    {
                        oldGrassTexture = "KerbalKonstructs/Assets/Colors/legacyGrassColors";
                    }
                    if (String.IsNullOrEmpty(staticInstance.GrasTexture))
                    {
                        staticInstance.GrasTexture = "BUILTIN:/terrain_grass00_new_detail";
                    }

                    //farGrassTiling = 10;
                    //nearGrassTiling = 1;
                    nearGrassTextureName = staticInstance.GrasTexture;
                    farGrassTextureName  = staticInstance.GrasTexture;


                    grassColor = GrassColorUtils.ManualCalcNewColor(staticInstance.GrasColor, oldGrassTexture, staticInstance.GrasTexture);

                    staticInstance.grassColor2Configs.Add(GiveConfig());
                }

                return;
            }

            foreach (ConfigNode grassConfig in staticInstance.grassColor2Configs)
            {
                //Log.Normal("found instance cfgnode");
                if (grassConfig.GetValue("GrassMeshName") == GrassMeshName)
                {
                    if (grassConfig.HasValue("MaterialOffset") && (grassConfig.GetValue("MaterialOffset") != MaterialOffset))
                    {
                        continue;
                    }

                    //Log.Normal("found instance grassnode");
                    grassColor = (grassConfig.HasValue("GrassColor")) ? ConfigNode.ParseColor(grassConfig.GetValue("GrassColor")) : defaultColor;

                    nearGrassTextureName = (grassConfig.HasValue("NearGrassTexture")) ? grassConfig.GetValue("NearGrassTexture") : DefaultNearGrassTexture;
                    farGrassTextureName  = (grassConfig.HasValue("FarGrassTexture")) ? grassConfig.GetValue("FarGrassTexture") : DefaultFarGrassTexture;

                    nearGrassTiling       = (grassConfig.HasValue("NearGrassTiling")) ? float.Parse(grassConfig.GetValue("NearGrassTiling")) : 1f;
                    farGrassTiling        = (grassConfig.HasValue("FarGrassTiling")) ? float.Parse(grassConfig.GetValue("FarGrassTiling")) : 1f;
                    farGrassBlendDistance = (grassConfig.HasValue("FarGrassBlendDistance")) ? float.Parse(grassConfig.GetValue("FarGrassBlendDistance")) : 50f;

                    blendMaskTextureName = (grassConfig.HasValue("BlendMaskTexture")) ? grassConfig.GetValue("BlendMaskTexture") : DefaultBlendMaskTexture;

                    tarmacTextureName = (grassConfig.HasValue("TarmacTexture")) ? grassConfig.GetValue("TarmacTexture") : DefaultTarmacTexture;
                    tarmacColor       = (grassConfig.HasValue("TarmacColor")) ? ConfigNode.ParseColor(grassConfig.GetValue("TarmacColor")) : Color.white;
                    tarmacTiling      = (grassConfig.HasValue("TarmacTiling")) ? ConfigNode.ParseVector2(grassConfig.GetValue("TarmacTiling")) : new Vector2(10, 10);
                    tarmacTileRandom  = (grassConfig.HasValue("TarmacTileRandom")) ? Boolean.Parse(grassConfig.GetValue("TarmacTileRandom")) : false;

                    thirdTextureName       = (grassConfig.HasValue("ThirdTexture")) ? grassConfig.GetValue("ThirdTexture") : "";
                    thirdTextureTiling     = (grassConfig.HasValue("ThirdTextureTiling")) ? float.Parse(grassConfig.GetValue("ThirdTextureTiling")) : 1f;
                    thirdTextureColor      = (grassConfig.HasValue("ThirdTextureColor")) ? ConfigNode.ParseColor(grassConfig.GetValue("ThirdTextureColor")) : new Color(1, 1, 1, 1);
                    thirdTextureTileRandom = (grassConfig.HasValue("ThirdTextureTileRandom")) ? Boolean.Parse(grassConfig.GetValue("ThirdTextureTileRandom")) : false;

                    fourthTextureName       = (grassConfig.HasValue("FourthTexture")) ? grassConfig.GetValue("FourthTexture") : "";
                    fourthTextureTiling     = (grassConfig.HasValue("FourthTextureTiling")) ? float.Parse(grassConfig.GetValue("FourthTextureTiling")) : 1f;
                    fourthTextureColor      = (grassConfig.HasValue("FourthTextureColor")) ? ConfigNode.ParseColor(grassConfig.GetValue("FourthTextureColor")) : new Color(1, 1, 1, 1);
                    fourthTextureTileRandom = (grassConfig.HasValue("FourthTextureTileRandom")) ? Boolean.Parse(grassConfig.GetValue("FourthTextureTileRandom")) : false;


                    nearGrassTextureGray = grassConfig.HasValue("NearGrassGrayScale") ? bool.Parse(grassConfig.GetValue("NearGrassGrayScale")): false;
                    farGrassTextureGray  = grassConfig.HasValue("FarGrassGrayScale") ? bool.Parse(grassConfig.GetValue("FarGrassGrayScale")) : false;
                    tarmacTextureGray    = grassConfig.HasValue("TarmacGrayScale") ? bool.Parse(grassConfig.GetValue("TarmacGrayScale")) : false;
                    thirdTextureGray     = grassConfig.HasValue("ThirdTextureGrayScale") ? bool.Parse(grassConfig.GetValue("ThirdTextureGrayScale")) : false;
                    fourthTextureGray    = grassConfig.HasValue("FourthTextureGrayScale") ? bool.Parse(grassConfig.GetValue("FourthTextureGrayScale")) : false;

                    break;
                }
            }
        }