Ejemplo n.º 1
0
        private SkyLightVisualizationEntity CreateVisualizationEntity(LevelSkyLight skyLight)
        {
            SkyLightVisualizationEntity result = new SkyLightVisualizationEntity();

            result.SetModelInstance(AssetLocator.SkyLayer, AssetLocator.DynamicLightModel, AssetLocator.DynamicLightMaterial);
            result.SetTranslation(skyLight.Position);
            result.SetScale(Vector3.ONE * 100f);
            return(result);
        }
Ejemplo n.º 2
0
        public void ReplaceCurrentLight(Vector3 positionOffset)
        {
            lock (instanceMutationLock) {
                LevelSkyLight selectedSkyLight = lightList.SelectedItem as LevelSkyLight;
                if (selectedSkyLight == null)
                {
                    Logger.Warn("Tried to replace null skylight.");
                    return;
                }

                SkyLightVisualizationEntity visEnt = skyLightVisualizationEntities.Pop(selectedSkyLight);
                visEnt.Dispose();

                if (x4Radio.Checked)
                {
                    positionOffset *= 4f;
                }
                else if (x20Radio.Checked)
                {
                    positionOffset *= 20f;
                }

                LevelSkyLight replacement = new LevelSkyLight(
                    selectedSkyLight.Position + positionOffset,
                    new Vector3(colorButton.BackColor.R / 255f, colorButton.BackColor.G / 255f, colorButton.BackColor.B / 255f),
                    (float)radiusUpDown.Value,
                    (float)lumMulUpDown.Value
                    );

                skyLevel.ReplaceSkyLight(selectedSkyLight, replacement);

                RefreshSkyLightList();

                lightList.SelectedItem = replacement;
            }
        }