using System.Xml.Serialization; using Intromat.Nodes.Textures; using Intromat.PersistentModel; namespace Intromat.Nodes.Code { public enum ERelativeSource { Custom, Parent, Input } [XmlInclude(typeof(IntLiteralModel))] [XmlInclude(typeof(StringLiteralModel))] [XmlInclude(typeof(FloatLiteralModel))] [XmlInclude(typeof(BooleanLiteralModel))] [XmlInclude(typeof(SamplerLiteralModel))] public abstract class LiteralModelBase : NodeModelBase { public ERelativeSource RelativeSource { get; set; } } public class LiteralModelEntry { public string Key { get; set; } = null!; public LiteralModelBase Literal { get; set; } = null!; } public abstract class LiteralModelBase : LiteralModelBase { public T Value { get; set; } = default!; } }