protected override void SetBoxMetadata(int box) { var bdata = GetBoxOffset(box); // Set box count int count = 0; for (int s = 0; s < BoxSlotCount; s++) { var rel = bdata + (SIZE_STORED * s); if (Data[rel] != 0) // Species present { count++; } } var boxOfs = bdata - ListHeaderSizeBox; if (Data[boxOfs] == 0) { Data[boxOfs] = 1; Data[boxOfs + 1] = (byte)count; Data[boxOfs + 4] = StringConverter12.G1TerminatorCode; StringConverter12.SetString(Data.AsSpan(boxOfs + 0x10, 4), "1234".AsSpan(), 4, Japanese, StringConverterOption.None); } else { Data[boxOfs + 1] = (byte)count; } }
private int SetString(ReadOnlySpan <char> value, Span <byte> destBuffer, int maxLength, StringConverterOption option = StringConverterOption.None) { if (Korean) { return(StringConverter2KOR.SetString(destBuffer, value, maxLength, option)); } return(StringConverter12.SetString(destBuffer, value, maxLength, Japanese, option)); }
private void SetString(Span <byte> asSpan, ReadOnlySpan <char> value, int maxLength) { if (Korean) { StringConverter2KOR.SetString(asSpan, value, maxLength); } else { StringConverter12.SetString(asSpan, value, maxLength, Japanese); } }
public sealed override int SetString(Span <byte> destBuffer, ReadOnlySpan <char> value, int maxLength, StringConverterOption option) { return(StringConverter12.SetString(destBuffer, value, maxLength, Japanese, option)); }