public static List <T> ReadList <T>(this NetworkReader reader) { int length = reader.ReadPackedInt32(); if (length < 0) { return(null); } var result = new List <T>(length); for (int i = 0; i < length; i++) { result.Add(reader.Read <T>()); } return(result); }
public static T[] ReadArray <T>(this NetworkReader reader) { int length = reader.ReadPackedInt32(); if (length < 0) { return(null); } if (length > reader.Length - reader.Position) { throw new EndOfStreamException("Can't read " + length + " elements because it would read past the end of the stream. "); } var result = new T[length]; for (int i = 0; i < length; i++) { result[i] = reader.Read <T>(); } return(result); }
public static Vector3Int ReadVector3Int(this NetworkReader reader) => new Vector3Int(reader.ReadPackedInt32(), reader.ReadPackedInt32(), reader.ReadPackedInt32());