예제 #1
0
        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);
        }