Files
FlaxEngine/Source/Editor/Options/VisualOptions.cs
2025-03-26 23:38:54 +01:00

120 lines
5.7 KiB
C#

// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
using System.ComponentModel;
using FlaxEngine;
namespace FlaxEditor.Options
{
/// <summary>
/// Visual editor options data container.
/// </summary>
[CustomEditor(typeof(Editor<VisualOptions>))]
public sealed class VisualOptions
{
/// <summary>
/// Gets or sets the selection outline enable flag.
/// </summary>
[DefaultValue(true)]
[EditorDisplay("Gizmo"), EditorOrder(99), Tooltip("If checked, the selection outline will be visible.")]
public bool ShowSelectionOutline { get; set; } = true;
/// <summary>
/// Gets or sets the first outline color.
/// </summary>
[DefaultValue(typeof(Color), "0.039,0.827,0.156")]
[EditorDisplay("Transform Gizmo"), EditorOrder(100), Tooltip("The first color of the selection outline gradient.")]
public Color SelectionOutlineColor0 { get; set; } = new Color(0.039f, 0.827f, 0.156f);
/// <summary>
/// Gets or sets the second outline color.
/// </summary>
[DefaultValue(typeof(Color), "0.019,0.615,0.101")]
[EditorDisplay("Transform Gizmo"), EditorOrder(101), Tooltip("The second color of the selection outline gradient.")]
public Color SelectionOutlineColor1 { get; set; } = new Color(0.019f, 0.615f, 0.101f);
/// <summary>
/// Gets or sets the selection outline size for UI controls.
/// </summary>
[DefaultValue(2.0f)]
[EditorDisplay("UI Gizmo", "UI Control Outline Size"), EditorOrder(103), Tooltip("The size of the selection outline for UI controls.")]
public float UISelectionOutlineSize { get; set; } = 2.0f;
/// <summary>
/// Gets or sets the pivot color for the UI Gizmo.
/// </summary>
[DefaultValue(typeof(Color), "0.0,0.5725,0.8,0.5")]
[EditorDisplay("UI Gizmo", "Pivot Color"), EditorOrder(103), Tooltip("The color of the pivot for the UI Gizmo.")]
public Color UIPivotColor { get; set; } = new Color(0.0f, 0.5725f, 0.8f, 0.5f);
/// <summary>
/// Gets or sets the anchor color for the UI Gizmo.
/// </summary>
[DefaultValue(typeof(Color), "0.8392,0.8471,0.8706,0.5")]
[EditorDisplay("UI Gizmo", "Anchor Color"), EditorOrder(103), Tooltip("The color of the anchors for the UI Gizmo.")]
public Color UIAnchorColor { get; set; } = new Color(0.8392f, 0.8471f, 0.8706f, 0.5f);
/// <summary>
/// Gets or sets the transform gizmo size.
/// </summary>
[DefaultValue(1.0f), Limit(0.01f, 100.0f, 0.01f)]
[EditorDisplay("Transform Gizmo"), EditorOrder(110), Tooltip("The transform gizmo size.")]
public float GizmoSize { get; set; } = 1.0f;
/// <summary>
/// Gets or sets the color used to highlight selected meshes and CSG surfaces.
/// </summary>
[DefaultValue(typeof(Color), "0.0,0.533,1.0,1.0")]
[EditorDisplay("Transform Gizmo"), EditorOrder(200), Tooltip("The color used to highlight selected meshes and CSG surfaces.")]
public Color HighlightColor { get; set; } = new Color(0.0f, 0.533f, 1.0f, 1.0f);
/// <summary>
/// Gets or set a value indicating how bright the transform gizmo is. Value over 1 will result in the gizmo emitting light.
/// </summary>
[DefaultValue(1f), Range(0f, 5f)]
[EditorDisplay("Transform Gizmo", "Gizmo Brightness"), EditorOrder(210)]
public float TransformGizmoBrightness { get; set; } = 1f;
/// <summary>
/// Gets or set a value indicating the opacity of the transform gizmo.
/// </summary>
[DefaultValue(1f), Range(0f, 1f)]
[EditorDisplay("Transform Gizmo", "Gizmo Opacity"), EditorOrder(211)]
public float TransformGizmoOpacity { get; set; } = 1f;
/// <summary>
/// Gets or sets a value indicating whether enable MSAA for DebugDraw primitives rendering. Helps with pixel aliasing but reduces performance.
/// </summary>
[DefaultValue(true)]
[EditorDisplay("Quality", "Enable MSAA For Debug Draw"), EditorOrder(500), Tooltip("Determines whether enable MSAA for DebugDraw primitives rendering. Helps with pixel aliasing but reduces performance.")]
public bool EnableMSAAForDebugDraw { get; set; } = true;
/// <summary>
/// Gets or sets a value indicating whether show looping particle effects in Editor viewport to simulate in-game look.
/// </summary>
[DefaultValue(true)]
[EditorDisplay("Preview"), EditorOrder(1000)]
public bool EnableParticlesPreview { get; set; } = true;
/// <summary>
/// Gets or sets the output log text color.
/// </summary>
[DefaultValue(typeof(Color), "1,1,1,1")]
[EditorDisplay("Log", "Info Color"), EditorOrder(1500), Tooltip("The color used for info messages in the Debug and Output Log.")]
public Color LogInfoColor { get; set; } = Color.White;
/// <summary>
/// Gets or sets the output log text color for warnings
/// </summary>
[DefaultValue(typeof(Color), "1,1,0,1")]
[EditorDisplay("Log", "Warning Color"), EditorOrder(1501), Tooltip("The color used for warnings in the Debug and Output Log.")]
public Color LogWarningColor { get; set; } = Color.Yellow;
/// <summary>
/// Gets or sets the output log text color for errors
/// </summary>
[DefaultValue(typeof(Color), "1,0,0,1")]
[EditorDisplay("Log", "Error Color"), EditorOrder(1502), Tooltip("The color used for errors in the Debug and Output Log.")]
public Color LogErrorColor { get; set; } = Color.Red;
}
}