/// <summary>
/// An entry used when showing examine details
/// </summary>
- [Serializable, NetSerializable]
+ [Serializable, NetSerializable, DataDefinition]
public sealed class ExamineEntry
{
/// <summary>
/// Which component does this entry relate to?
/// </summary>
- [DataField("component")]
- public string ComponentName = string.Empty;
+ [DataField("component", required: true)]
+ public string ComponentName;
/// <summary>
/// What priority has this entry - entries are sorted high to low.
/// <summary>
/// The FormattedMessage of this entry.
/// </summary>
- [DataField("message")]
- public FormattedMessage Message = new();
+ [DataField("message", required: true)]
+ public FormattedMessage Message;
/// <param name="componentName">Should be set to _componentFactory.GetComponentName(component.GetType()) to properly function.</param>
public ExamineEntry(string componentName, float priority, FormattedMessage message)
Priority = priority;
Message = message;
}
+
+ private ExamineEntry()
+ {
+ // parameterless ctor is required for data-definition serialization
+ Message = default!;
+ ComponentName = default!;
+ }
}
}