private bool nebula_selector(MyImpostorProperties properties)
 {
     return(properties.ImpostorType == MyVoxelMapImpostors.MyImpostorType.Nebula);
 }
        public override void RecreateControls(bool contructor)
        {
            Controls.Clear();

            m_scale = 0.5f;

            AddCaption(new System.Text.StringBuilder("Render sector FX"), Color.Yellow.ToVector4());

            MyGuiControlLabel label = new MyGuiControlLabel(this, new Vector2(0.01f, -m_size.Value.Y / 2.0f + 0.07f), null, new System.Text.StringBuilder("(press ALT to share focus)"), Color.Yellow.ToVector4(), MyGuiConstants.LABEL_TEXT_SCALE * 0.7f,
                                                            MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_TOP);

            Controls.Add(label);

            m_currentPosition = -m_size.Value / 2.0f + new Vector2(0.02f, 0.10f);

            m_currentPosition.Y += 0.01f * m_scale;
            AddCheckBox(new StringBuilder("Enable dust"), MySector.ParticleDustProperties, MemberHelper.GetMember(() => MySector.ParticleDustProperties.Enabled));

            m_currentPosition.Y += 0.01f * m_scale;
            AddLabel(new StringBuilder("Nebula"), Color.Yellow.ToVector4(), 1.2f);

            MyImpostorProperties nebulaObj = null;

            foreach (MyImpostorProperties nebulaObjIt in MySector.ImpostorProperties)
            {
                if (nebulaObjIt.ImpostorType == MyVoxelMapImpostors.MyImpostorType.Nebula)
                {
                    nebulaObj = nebulaObjIt;
                    break;
                }
            }

            if (nebulaObj != null)
            {
                AddCheckBox(new StringBuilder("Enable"), nebulaObj, MemberHelper.GetMember(() => nebulaObj.Enabled));
                AddColor(new StringBuilder("Color"), nebulaObj, MemberHelper.GetMember(() => nebulaObj.Color));
                AddSlider(new StringBuilder("Contrast"), 0, 20, nebulaObj, MemberHelper.GetMember(() => nebulaObj.Contrast));
                AddSlider(new StringBuilder("Intensity"), 0, 20, nebulaObj, MemberHelper.GetMember(() => nebulaObj.Intensity));
                AddSlider(new StringBuilder("Radius"), 0, 10, nebulaObj, MemberHelper.GetMember(() => nebulaObj.Radius));
                AddSlider(new StringBuilder("Anim1"), -0.1f, 0.1f, nebulaObj, MemberHelper.GetMember(() => nebulaObj.Anim1));
                AddSlider(new StringBuilder("Anim2"), -0.1f, 0.1f, nebulaObj, MemberHelper.GetMember(() => nebulaObj.Anim2));
                AddSlider(new StringBuilder("Anim3"), -0.1f, 0.1f, nebulaObj, MemberHelper.GetMember(() => nebulaObj.Anim3));
            }


            m_currentPosition.Y += 0.01f * m_scale;
            AddLabel(new StringBuilder("God rays"), Color.Yellow.ToVector4(), 1.2f);

            AddCheckBox(new StringBuilder("Enable"), MySector.GodRaysProperties, MemberHelper.GetMember(() => MySector.GodRaysProperties.Enabled));
            AddSlider(new StringBuilder("Density"), 0, 2, MySector.GodRaysProperties, MemberHelper.GetMember(() => MySector.GodRaysProperties.Density));
            AddSlider(new StringBuilder("Weight"), 0, 2, MySector.GodRaysProperties, MemberHelper.GetMember(() => MySector.GodRaysProperties.Weight));
            AddSlider(new StringBuilder("Decay"), 0, 2, MySector.GodRaysProperties, MemberHelper.GetMember(() => MySector.GodRaysProperties.Decay));
            AddSlider(new StringBuilder("Exposition"), 0, 2, MySector.GodRaysProperties, MemberHelper.GetMember(() => MySector.GodRaysProperties.Exposition));

            m_currentPosition.Y += 0.01f * m_scale;
            AddLabel(new StringBuilder("Particle dust"), Color.Yellow.ToVector4(), 1.2f);

            AddSlider(new StringBuilder("Dust radius"), 0.01f, 200, MySector.ParticleDustProperties, MemberHelper.GetMember(() => MySector.ParticleDustProperties.DustBillboardRadius));
            AddSlider(new StringBuilder("Dust count in dir half"), 0.01f, 20, MySector.ParticleDustProperties, MemberHelper.GetMember(() => MySector.ParticleDustProperties.DustFieldCountInDirectionHalf));
            AddSlider(new StringBuilder("Distance between"), 1f, 500, MySector.ParticleDustProperties, MemberHelper.GetMember(() => MySector.ParticleDustProperties.DistanceBetween));
            AddSlider(new StringBuilder("Anim speed"), 0.0f, 0.1f, MySector.ParticleDustProperties, MemberHelper.GetMember(() => MySector.ParticleDustProperties.AnimSpeed));
            AddColor(new StringBuilder("Color"), MySector.ParticleDustProperties, MemberHelper.GetMember(() => MySector.ParticleDustProperties.Color));
        }