Update ZNI Library

This commit is contained in:
Tara 2022-12-31 13:11:13 -07:00
parent 0638f7e642
commit eeadcb1959
10 changed files with 753 additions and 388 deletions

View file

@ -0,0 +1,84 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LibZNI.Serialization.ZNIFile
{
public class LongArrayTag : Tag
{
private long[] BArrVal;
public long[] Value
{
get
{
return BArrVal;
}
}
public LongArrayTag(string _Name, long[] val)
{
Name = _Name;
BArrVal = val;
}
public LongArrayTag(long[] boolVal) : this(null, boolVal)
{
}
public LongArrayTag() : this(null, new long[] {}) { }
public override TagType Type
{
get
{
return TagType.LONGARRAY;
}
}
public override bool ReadTag(BinaryReader br)
{
Name = br.ReadString();
int count = br.ReadInt32();
BArrVal = new long[count];
for(int i = 0; i < count; i++)
{
BArrVal[i] = br.ReadInt64();
}
return true;
}
public override void Rename(string old, string newName)
{
throw new NotImplementedException();
}
public override void SkipTag(BinaryReader br)
{
_ = new LongArrayTag().ReadTag(br);
}
public override void WriteData(BinaryWriter bw)
{
throw new NotImplementedException();
}
public override void WriteTag(BinaryWriter bw)
{
bw.Write(((int)Type));
bw.Write(Name);
bw.Write(Value.Length);
foreach(int i in Value)
{
bw.Write(i);
}
}
public override object Clone()
{
return new LongArrayTag(Name, Value);
}
}
}