DFLayoutNotesFieldProperties.cs 929 B

12345678910111213141516171819202122232425262728293031323334353637
  1. namespace InABox.Core
  2. {
  3. public class DFLayoutNotesFieldProperties : DFLayoutFieldProperties<string[], string[]?>
  4. {
  5. [EditorSequence(-995)]
  6. [NotesEditor]
  7. public override string[] Default { get; set; }
  8. public override string FormatValue(string[]? value)
  9. {
  10. if(value is string[] arr)
  11. {
  12. return string.Join(", ", arr);
  13. }
  14. else
  15. {
  16. return "";
  17. }
  18. }
  19. public override void SerializeValue(DFSaveStorageEntry entry, string[]? value)
  20. {
  21. entry.SetValue(value);
  22. }
  23. public override string[]? DeserializeValue(DFLoadStorageEntry entry)
  24. {
  25. return entry.GetValue<string[]>();
  26. }
  27. public override string[] GetValue(string[]? value)
  28. {
  29. return value ?? Default;
  30. }
  31. }
  32. }