public override void OnInspectorGUI() { UpdateSkyAndFogIntPopupData(); EditorGUILayout.LabelField(EditorGUIUtility.TrTextContent("Sky"), EditorStyles.miniLabel); using (new EditorGUILayout.HorizontalScope()) { DrawOverrideCheckbox(m_SkyType); using (new EditorGUI.DisabledScope(!m_SkyType.overrideState.boolValue)) { EditorGUILayout.IntPopup(m_SkyType.value, m_SkyClassNames.ToArray(), m_SkyUniqueIDs.ToArray(), EditorGUIUtility.TrTextContent("Type", "Specifies the type of sky this Volume uses.")); } } PropertyField(m_SkyAmbientMode, EditorGUIUtility.TrTextContent("Ambient Mode", "Specifies how the global ambient probe is computed. Dynamic will use the currently displayed sky and static will use the sky setup in the environment lighting panel.")); var staticLightingSky = SkyManager.GetStaticLightingSky(); if (m_SkyAmbientMode.value.GetEnumValue <SkyAmbientMode>() == SkyAmbientMode.Static) { if (staticLightingSky == null) { EditorGUILayout.HelpBox("Current Static Lighting Sky use None of profile None.", MessageType.Info); } else { var skyType = staticLightingSky.staticLightingSkyUniqueID == 0 ? "None" : SkyManager.skyTypesDict[staticLightingSky.staticLightingSkyUniqueID].Name.ToString(); EditorGUILayout.HelpBox($"Current Static Lighting Sky use {skyType} of profile {staticLightingSky.profile?.name ?? "None"}.", MessageType.Info); } } }
public override void OnInspectorGUI() { UpdateSkyAndFogIntPopupData(); EditorGUILayout.LabelField(EditorGUIUtility.TrTextContent("Sky"), EditorStyles.miniLabel); using (new EditorGUILayout.HorizontalScope()) { DrawOverrideCheckbox(m_SkyType); using (new EditorGUI.DisabledScope(!m_SkyType.overrideState.boolValue)) { EditorGUILayout.IntPopup(m_SkyType.value, m_SkyClassNames.ToArray(), m_SkyUniqueIDs.ToArray(), EditorGUIUtility.TrTextContent("Type", "Specifies the type of sky this Volume uses.")); } } if (m_SkyType.value.intValue != 0) { EditorGUILayout.HelpBox("You need to also add a Volume Component matching the selected type.", MessageType.Info); } PropertyField(m_SkyAmbientMode, EditorGUIUtility.TrTextContent("Ambient Mode")); var staticLightingSky = SkyManager.GetStaticLightingSky(); if (m_SkyAmbientMode.value.GetEnumValue <SkyAmbientMode>() == SkyAmbientMode.Static) { if (staticLightingSky == null) { EditorGUILayout.HelpBox("Current Static Lighting Sky use None of profile None.", MessageType.Info); } else { var skyType = staticLightingSky.staticLightingSkyUniqueID == 0 ? "None" : SkyManager.skyTypesDict[staticLightingSky.staticLightingSkyUniqueID].Name.ToString(); EditorGUILayout.HelpBox($"Current Static Lighting Sky use {skyType} of profile {staticLightingSky.profile?.name ?? "None"}.", MessageType.Info); } } }
public override void OnInspectorGUI() { UpdateSkyAndFogIntPopupData(); using (var scope = new OverridablePropertyScope(m_SkyType, EditorGUIUtility.TrTextContent("Sky type", "Specifies the type of sky this Volume uses."), this)) { if (scope.displayed) { EditorGUILayout.IntPopup(m_SkyType.value, m_SkyClassNames.ToArray(), m_SkyUniqueIDs.ToArray(), scope.label); } } using (var scope = new OverridablePropertyScope(m_CloudType, EditorGUIUtility.TrTextContent("Background clouds", "Specifies the type of background cloud this Volume uses."), this)) { if (scope.displayed) { EditorGUILayout.IntPopup(m_CloudType.value, m_CloudClassNames.ToArray(), m_CloudUniqueIDs.ToArray(), scope.label); } } PropertyField(m_SkyAmbientMode, EditorGUIUtility.TrTextContent("Ambient Mode", "Specifies how the global ambient probe is computed. Dynamic will use the currently displayed sky and static will use the sky setup in the environment lighting panel.")); var staticLightingSky = SkyManager.GetStaticLightingSky(); if (m_SkyAmbientMode.value.GetEnumValue <SkyAmbientMode>() == SkyAmbientMode.Static) { if (staticLightingSky == null) { EditorGUILayout.HelpBox("No Static Lighting Sky is assigned in the Environment settings.", MessageType.Info); } else { var skyType = staticLightingSky.staticLightingSkyUniqueID == 0 ? "no Sky" : SkyManager.skyTypesDict[staticLightingSky.staticLightingSkyUniqueID].Name.ToString(); var cloudType = staticLightingSky.staticLightingCloudsUniqueID == 0 ? "no Clouds" : SkyManager.cloudTypesDict[staticLightingSky.staticLightingCloudsUniqueID].Name.ToString(); EditorGUILayout.HelpBox($"Current Static Lighting Sky uses {skyType} and {cloudType} of profile {staticLightingSky.profile?.name ?? "None"}.", MessageType.Info); } } PropertyField(m_WindOrientation, EditorGUIUtility.TrTextContent("Global Orientation", "Controls the orientation of the wind relative to the X world vector.")); PropertyField(m_WindSpeed, EditorGUIUtility.TrTextContent("Global Speed", "Controls the global wind speed in kilometers per hour.")); }
public override void OnInspectorGUI() { UpdateSkyAndFogIntPopupData(); EditorGUILayout.LabelField(EditorGUIUtility.TrTextContent("Sky"), EditorStyles.miniLabel); using (new EditorGUILayout.HorizontalScope()) { DrawOverrideCheckbox(m_SkyType); using (new EditorGUI.DisabledScope(!m_SkyType.overrideState.boolValue)) { EditorGUILayout.IntPopup(m_SkyType.value, m_SkyClassNames.ToArray(), m_SkyUniqueIDs.ToArray(), EditorGUIUtility.TrTextContent("Type", "Specifies the type of sky this Volume uses.")); } } PropertyField(m_SkyAmbientMode, EditorGUIUtility.TrTextContent("Ambient Mode")); if (((SkyAmbientMode)m_SkyAmbientMode.value.enumValueIndex == SkyAmbientMode.Static) && SkyManager.GetStaticLightingSky() == null) { EditorGUILayout.HelpBox("A Static Lighting Sky Component is required for Static Ambient Mode.", MessageType.Info); } EditorGUILayout.LabelField(EditorGUIUtility.TrTextContent("Fog"), EditorStyles.miniLabel); using (new EditorGUILayout.HorizontalScope()) { DrawOverrideCheckbox(m_FogType); using (new EditorGUI.DisabledScope(!m_FogType.overrideState.boolValue)) { EditorGUILayout.IntPopup(m_FogType.value, m_FogNames.ToArray(), fogValues, EditorGUIUtility.TrTextContent("Type", "Specifies the type of fog this Volume uses.")); } } }