internal Color GetColor() { Color underGroundColor = staticInstance.GrasColor; if (underGroundColor.a < 1f) { underGroundColor = GrassColorUtils.ManualCalcNewColor(underGroundColor, grasTextureName, grasTextureName); } return(underGroundColor); }
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); }
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; } } }
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; } } }