public void SaveSpriteToFile(BinaryWriter bw) { Vec2Utils.SaveVec2iToFile(bw, this.GetSize()); for (int y = 0; y < this.GetSize().Y; ++y) { for (int x = 0; x < this.GetSize().X; ++x) { bw.Write(BitConverter.GetBytes(this.GetAt(x, y))); bw.Write(BitConverter.GetBytes((UInt16)this.GetColorAt(x, y))); } } }
public static SprEnt2 LoadSpriteFromFile(BinaryReader br) { SprEnt2 spr = new SprEnt2(Vec2Utils.LoadVec2iFromFile(br)); for (int y = 0; y < spr.GetSize().Y; ++y) { for (int x = 0; x < spr.GetSize().X; ++x) { //Hmm... it sure do be like that, yes... interesting spr.SetAt(BitConverter.ToChar(br.ReadBytes(2), 0), x, y); spr.SetColorAt((ConsoleColor)br.ReadUInt16(), x, y); } } return(spr); }