// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
using FlaxEditor.GUI;
namespace FlaxEditor.Surface.Elements
{
///
/// Combo box for enum element.
///
///
///
/// [HideInEditor]
public class EnumValue : EnumComboBox, ISurfaceNodeElement
{
///
public SurfaceNode ParentNode { get; }
///
public NodeElementArchetype Archetype { get; }
///
/// Gets the surface.
///
public VisjectSurface Surface => ParentNode.Surface;
///
public EnumValue(SurfaceNode parentNode, NodeElementArchetype archetype)
: base(Scripting.TypeUtils.GetType(archetype.Text).Type)
{
X = archetype.ActualPositionX;
Y = archetype.ActualPositionY;
Width = archetype.Size.X;
ParentNode = parentNode;
Archetype = archetype;
Value = (int)ParentNode.Values[Archetype.ValueIndex];
}
///
protected override void OnValueChanged()
{
if ((int)ParentNode.Values[Archetype.ValueIndex] != Value)
{
// Edit value
ParentNode.SetValue(Archetype.ValueIndex, Value);
}
base.OnValueChanged();
}
}
}