static void DrawGeneralAdvancedContent(SerializedHDLight serialized, Editor owner) { using (new EditorGUI.DisabledScope(!HDUtils.hdrpSettings.supportLightLayers)) { HDEditorUtils.LightLayerMaskPropertyDrawer(s_Styles.lightLayer, serialized.serializedLightData.renderingLayerMask); } }
protected virtual LightingExplorerTableColumn[] GetHDLightColumns() { return(new[] { new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Name, HDStyles.Name, null, 200), // 0: Name new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Checkbox, HDStyles.On, "m_Enabled", 25), // 1: Enabled new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Enum, HDStyles.Type, "m_Type", 60), // 2: Type new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Enum, HDStyles.Mode, "m_Lightmapping", 60), // 3: Mixed mode new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Enum, HDStyles.Range, "m_Range", 60), // 4: Range new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Checkbox, HDStyles.ColorTemperatureMode, "m_UseColorTemperature", 100), // 5: Color Temperature Mode new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Color, HDStyles.Color, "m_Color", 60), // 6: Color new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Float, HDStyles.ColorTemperature, "m_ColorTemperature", 100, (r, prop, dep) => // 7: Color Temperature { if (prop.serializedObject.FindProperty("m_UseColorTemperature").boolValue) { prop = prop.serializedObject.FindProperty("m_ColorTemperature"); prop.floatValue = EditorGUI.FloatField(r, prop.floatValue); } }), new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Float, HDStyles.Intensity, "m_Intensity", 60, (r, prop, dep) => // 8: Intensity { Light light = prop.serializedObject.targetObject as Light; if (light == null || lightDataPairing[light].hdAdditionalLightData == null) { EditorGUI.LabelField(r, "null"); return; } float intensity = lightDataPairing[light].hdAdditionalLightData.intensity; EditorGUI.BeginChangeCheck(); intensity = EditorGUI.FloatField(r, intensity); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(lightDataPairing[light].hdAdditionalLightData, "Changed light intensity"); lightDataPairing[light].hdAdditionalLightData.intensity = intensity; } }), new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Float, HDStyles.Unit, "m_Intensity", 60, (r, prop, dep) => // 9: Unit { Light light = prop.serializedObject.targetObject as Light; if (light == null || lightDataPairing[light].hdAdditionalLightData == null) { EditorGUI.LabelField(r, "null"); return; } LightUnit unit = lightDataPairing[light].hdAdditionalLightData.lightUnit; EditorGUI.BeginChangeCheck(); unit = (LightUnit)EditorGUI.EnumPopup(r, unit); if (EditorGUI.EndChangeCheck()) { lightDataPairing[light].hdAdditionalLightData.lightUnit = unit; } }), new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Float, HDStyles.IndirectMultiplier, "m_BounceIntensity", 90), // 10: Indirect multiplier new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Checkbox, HDStyles.Shadows, "m_Shadows.m_Type", 60, (r, prop, dep) => // 11: Shadows { EditorGUI.BeginChangeCheck(); bool shadows = EditorGUI.Toggle(r, prop.intValue != (int)LightShadows.None); if (EditorGUI.EndChangeCheck()) { prop.intValue = shadows ? (int)LightShadows.Soft : (int)LightShadows.None; } }), new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Checkbox, HDStyles.ContactShadows, "m_Shadows.m_Type", 100, (r, prop, dep) => // 12: Contact Shadows { Light light = prop.serializedObject.targetObject as Light; if (light == null || lightDataPairing[light].additionalShadowData == null) { EditorGUI.LabelField(r, "null"); return; } bool contactShadows = lightDataPairing[light].additionalShadowData.contactShadows; EditorGUI.BeginChangeCheck(); contactShadows = EditorGUI.Toggle(r, contactShadows); if (EditorGUI.EndChangeCheck()) { lightDataPairing[light].additionalShadowData.contactShadows = contactShadows; } }), new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Int, HDStyles.ShadowResolution, "m_Intensity", 60, (r, prop, dep) => // 13: Shadow resolution { Light light = prop.serializedObject.targetObject as Light; if (light == null || lightDataPairing[light].additionalShadowData == null) { EditorGUI.LabelField(r, "null"); return; } int shadowResolution = lightDataPairing[light].additionalShadowData.shadowResolution; EditorGUI.BeginChangeCheck(); shadowResolution = EditorGUI.IntField(r, shadowResolution); if (EditorGUI.EndChangeCheck()) { lightDataPairing[light].additionalShadowData.shadowResolution = shadowResolution; } }), new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Checkbox, HDStyles.AffectDiffuse, "m_Intensity", 90, (r, prop, dep) => // 14: Affect Diffuse { Light light = prop.serializedObject.targetObject as Light; if (light == null || lightDataPairing[light].hdAdditionalLightData == null) { EditorGUI.LabelField(r, "null"); return; } bool affectDiffuse = lightDataPairing[light].hdAdditionalLightData.affectDiffuse; EditorGUI.BeginChangeCheck(); affectDiffuse = EditorGUI.Toggle(r, affectDiffuse); if (EditorGUI.EndChangeCheck()) { lightDataPairing[light].hdAdditionalLightData.affectDiffuse = affectDiffuse; } }), new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Checkbox, HDStyles.AffectSpecular, "m_Intensity", 90, (r, prop, dep) => // 15: Affect Specular { Light light = prop.serializedObject.targetObject as Light; if (light == null || lightDataPairing[light].hdAdditionalLightData == null) { EditorGUI.LabelField(r, "null"); return; } bool affectSpecular = lightDataPairing[light].hdAdditionalLightData.affectSpecular; EditorGUI.BeginChangeCheck(); affectSpecular = EditorGUI.Toggle(r, affectSpecular); if (EditorGUI.EndChangeCheck()) { lightDataPairing[light].hdAdditionalLightData.affectSpecular = affectSpecular; } }), new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Float, HDStyles.FadeDistance, "m_Intensity", 60, (r, prop, dep) => // 16: Fade Distance { Light light = prop.serializedObject.targetObject as Light; if (light == null || lightDataPairing[light].hdAdditionalLightData == null) { EditorGUI.LabelField(r, "null"); return; } float fadeDistance = lightDataPairing[light].hdAdditionalLightData.fadeDistance; EditorGUI.BeginChangeCheck(); fadeDistance = EditorGUI.FloatField(r, fadeDistance); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(lightDataPairing[light].hdAdditionalLightData, "Changed light fade distance"); lightDataPairing[light].hdAdditionalLightData.fadeDistance = fadeDistance; } }), new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Float, HDStyles.ShadowFadeDistance, "m_Intensity", 60, (r, prop, dep) => // 17: Shadow Fade Distance { Light light = prop.serializedObject.targetObject as Light; if (light == null || lightDataPairing[light].additionalShadowData == null) { EditorGUI.LabelField(r, "null"); return; } float shadowFadeDistance = lightDataPairing[light].additionalShadowData.shadowFadeDistance; EditorGUI.BeginChangeCheck(); shadowFadeDistance = EditorGUI.FloatField(r, shadowFadeDistance); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(lightDataPairing[light].additionalShadowData, "Changed light shadow fade distance"); lightDataPairing[light].additionalShadowData.shadowFadeDistance = shadowFadeDistance; } }), new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Custom, HDStyles.LightLayer, "m_RenderingLayerMask", 80, (r, prop, dep) => // 18: Light Layer { using (new EditorGUI.DisabledScope(!(GraphicsSettings.renderPipelineAsset as HDRenderPipelineAsset).currentPlatformRenderPipelineSettings.supportLightLayers)) { HDEditorUtils.LightLayerMaskPropertyDrawer(r, prop); } }), new LightingExplorerTableColumn(LightingExplorerTableColumn.DataType.Custom, HDStyles.IsPrefab, "m_Intensity", 60, (r, prop, dep) => // 19: Prefab { Light light = prop.serializedObject.targetObject as Light; if (light == null) { EditorGUI.LabelField(r, "null"); return; } bool isPrefab = lightDataPairing[light].isPrefab; if (isPrefab) { EditorGUI.ObjectField(r, lightDataPairing[light].prefabRoot, typeof(GameObject), false); } }), }); }