using System.Collections.Generic; namespace BizHawk.Client.Common { /// /// This class holds a separator for RamWatch /// Use the static property Instance to get it /// public sealed class SeparatorWatch : Watch { /// /// Initializes a new instance of the class. /// internal SeparatorWatch() : base(null, 0, WatchSize.Separator, DisplayType.Separator, true, "") { } /// /// Gets the separator instance /// public static SeparatorWatch Instance => new SeparatorWatch(); public static SeparatorWatch NewSeparatorWatch(string description) { return new SeparatorWatch { Notes = description }; } /// /// Get the appropriate DisplayType /// /// DisplayType.Separator nothing else public override IEnumerable AvailableTypes() { yield return DisplayType.Separator; } /// /// Ignore that stuff /// public override int Value => 0; /// /// Ignore that stuff /// public override int ValueNoFreeze => 0; /// /// Ignore that stuff /// public override int Previous => 0; /// /// Ignore that stuff /// public override string ValueString => Notes; //""; /// /// Ignore that stuff /// public override string PreviousStr => ""; /// /// TTransform the current instance into a displayable (short representation) string /// It's used by the "Display on screen" option in the RamWatch window /// /// A well formatted string representation public override string ToDisplayString() { if (Notes == null || Notes == "") return "----"; else return Notes; } /// /// Transforms the current instance into a string /// /// A representation of the current public override string ToString() { return $"0\tS\t_\t1\t\t{Notes.Trim('\r', '\n')}"; //return $"{(Domain == null && Address == 0 ? "0" : Address.ToHexString((Domain?.Size ?? 0xFF - 1).NumHexDigits()))}\t{SizeAsChar}\t{TypeAsChar}\t{Convert.ToInt32(BigEndian)}\t{Domain?.Name}\t{Notes.Trim('\r', '\n')}"; } /// /// Ignore that stuff /// public override bool Poke(string value) { return false; } /// /// Ignore that stuff /// public override void ResetPrevious() { } /// /// Ignore that stuff /// public override string Diff => ""; /// /// Ignore that stuff /// public override uint MaxValue => 0; /// /// Ignore that stuff /// public override void Update() { //AddressString = (Notes == null || Notes == "") ? "" : Notes; } } }