public override List <string> GetKeywords() { var Keywords = new List <string>(); if (Ring != null) { if (RingEnabled) { Keywords.Add("RING_ON"); Keywords.Add("SCATTERING"); var shadowsCount = Shadows.Count((shadow) => shadow != null && Helper.Enabled(shadow)); if (shadowsCount > 0 && GodManager.Instance.Eclipses) { for (byte i = 0; i < shadowsCount; i++) { Keywords.Add("SHADOW_" + (i + 1)); } } else { Keywords.Add("SHADOW_0"); } } else { Keywords.Add("RING_OFF"); } } else { Keywords.Add("RING_OFF"); } if (Atmosphere != null) { if (AtmosphereEnabled) { var lightCount = Atmosphere.Suns.Count((sun) => sun != null && sun.gameObject.activeInHierarchy); if (lightCount != 0) { Keywords.Add("LIGHT_" + lightCount); } if (Atmosphere.EclipseCasters.Count == 0) { Keywords.Add("ECLIPSES_OFF"); } else { Keywords.Add(GodManager.Instance.Eclipses ? "ECLIPSES_ON" : "ECLIPSES_OFF"); } if (Atmosphere.ShineCasters.Count == 0) { Keywords.Add("SHINE_OFF"); } else { Keywords.Add(GodManager.Instance.Planetshine ? "SHINE_ON" : "SHINE_OFF"); } Keywords.Add("ATMOSPHERE_ON"); } else { Keywords.Add("ATMOSPHERE_OFF"); } if (Ocean != null) { if (OceanEnabled && AtmosphereEnabled) { Keywords.Add("OCEAN_ON"); } else { Keywords.Add("OCEAN_OFF"); } } else { Keywords.Add("OCEAN_OFF"); } } else { Keywords.Add("LIGHT_0"); Keywords.Add("ATMOSPHERE_OFF"); Keywords.Add("OCEAN_OFF"); } return(Keywords); }