using Mirror; using UnityEngine; namespace PrefsGUI.Sync { public static partial class BytesConverter { public static void ValueToBytes(T value, ref byte[] bytes) { using var writer = NetworkWriterPool.Get(); if (Writer.write != null) { writer.Write(value); } else { var str = JsonUtility.ToJson(value); writer.Write(str); } var seg = writer.ToArraySegment(); if (bytes != null && bytes.Length == seg.Count) { seg.CopyTo(bytes); } else { bytes = seg.ToArray(); } } public static T BytesToValue(byte[] bytes) { using var reader = NetworkReaderPool.Get(bytes); if (Reader.read != null) { return reader.Read(); } else { var str = reader.Read(); return JsonUtility.FromJson(str); } } } }