25 lines
775 B
C#
25 lines
775 B
C#
// Licensed to Timothy Schenk under the GNU AGPL Version 3 License.
|
|
|
|
using System.Text;
|
|
|
|
namespace Wonderking.Game.Reader;
|
|
|
|
public static class GenericReaderExtensions {
|
|
public static string ReadString(this BinaryReader reader, int length) {
|
|
var ret = Encoding.ASCII.GetString(reader.ReadBytes(length)).Replace("\0", "", StringComparison.Ordinal);
|
|
return ret;
|
|
}
|
|
|
|
public static T[] ReadArray<T>(this BinaryReader pReader, int pLength) where T : new() {
|
|
var array = new T[pLength];
|
|
for (var index = 0; index < pLength; ++index) {
|
|
array[index] = pReader.Read<T>();
|
|
}
|
|
|
|
return array;
|
|
}
|
|
|
|
public static T Read<T>(this BinaryReader br) where T : new() {
|
|
return BinaryReader<T>.Read(br);
|
|
}
|
|
}
|