Esempio n. 1
0
        // @}
        // @{
        //*********************************************************************
        // 消息响应/UI回调函数
        //*********************************************************************
        private void labelTerrainAmbientColor_Click(object sender, EventArgs e)
        {
            ColorPickForm colorPicker = new ColorPickForm();

            MColor oldColor = mEditTerrainHelper.GetAmbientMaterial();
            int iR = (int)(oldColor.R * 255.0);
            int iG = (int)(oldColor.G * 255.0);
            int iB = (int)(oldColor.B * 255.0);
            colorPicker.ColorPicked = Color.FromArgb(iR, iG, iB);
            colorPicker.OnColorChanged += UITerrainAmbientColorNotify;

            if (colorPicker.ShowDialog() == DialogResult.OK)
            {
                float fR = colorPicker.ColorPicked.R / 255.0f;
                float fG = colorPicker.ColorPicked.G / 255.0f;
                float fB = colorPicker.ColorPicked.B / 255.0f;

                MColor mColor = new MColor(fR, fG, fB);
                mEditTerrainHelper.SetAmbientMaterial(mColor);                  ///< 更新材质颜色
                labelTerrainAmbientColor.BackColor = colorPicker.ColorPicked;   ///< 更新UI颜色
            }
            else
            {
                mEditTerrainHelper.SetAmbientMaterial(oldColor);                    ///< 恢复材质颜色
                labelTerrainAmbientColor.BackColor = Color.FromArgb(iR, iG, iB);    ///< 恢复UI颜色
            }
        }
Esempio n. 2
0
        private void labelMainLightDiffuseColor_Click(object sender, EventArgs e)
        {
            MMap map = mEditHelper.Map;
            if (map == null)
                return;

            ColorPickForm colorPicker = new ColorPickForm();

            MLight mainLight = map.MainLight;
            MColor oldColor = mainLight.DiffuseColor;
            int iR = (int)(oldColor.R * 255.0);
            int iG = (int)(oldColor.G * 255.0);
            int iB = (int)(oldColor.B * 255.0);
            colorPicker.ColorPicked = Color.FromArgb(iR, iG, iB);
            colorPicker.OnColorChanged += UIMainLightDiffuseColorNotify;

            if (colorPicker.ShowDialog() == DialogResult.OK)
            {
                float fR = colorPicker.ColorPicked.R / 255.0f;
                float fG = colorPicker.ColorPicked.G / 255.0f;
                float fB = colorPicker.ColorPicked.B / 255.0f;

                MColor mColor = new MColor(fR, fG, fB);
                mainLight.DiffuseColor = mColor;                                ///< 更新主灯光漫反射颜色
                labelMainLightDiffuseColor.BackColor = colorPicker.ColorPicked; ///< 更新UI颜色
            }
            else
            {
                mainLight.DiffuseColor = oldColor;                                  ///< 恢复主灯光漫反射颜色
                labelMainLightDiffuseColor.BackColor = Color.FromArgb(iR, iG, iB);  ///< 恢复UI颜色
            }
        }