internal static NullAnimation Read(Stream input, Endian endian) { var nullId = input.ReadValueU32(endian); var visible = input.ReadValueB8(); var frameCount = input.ReadValueU32(endian); if (frameCount >= 5000) { throw new FormatException("too many null frames"); } var frames = new NullFrame[frameCount]; for (uint i = 0; i < frameCount; i++) { frames[i] = NullFrame.Read(input, endian); } NullAnimation instance; instance.NullId = nullId; instance.Visible = visible; instance.Frames = frames; return(instance); }
internal static void Write(Stream output, NullFrame instance, Endian endian) { output.WriteValueF32(instance.XPosition, endian); output.WriteValueF32(instance.YPosition, endian); output.WriteValueF32(instance.XScale, endian); output.WriteValueF32(instance.YScale, endian); output.WriteValueS32(instance.Delay, endian); output.WriteValueB8(instance.Visible); output.WriteValueF32(instance.RedTint, endian); output.WriteValueF32(instance.GreenTint, endian); output.WriteValueF32(instance.BlueTint, endian); output.WriteValueF32(instance.AlphaTint, endian); output.WriteValueF32(instance.RedOffset, endian); output.WriteValueF32(instance.GreenOffset, endian); output.WriteValueF32(instance.BlueOffset, endian); output.WriteValueF32(instance.Rotation, endian); output.WriteValueB8(instance.Interpolated); }
internal static RootAnimation Read(Stream input, Endian endian) { var frameCount = input.ReadValueU32(endian); if (frameCount >= 5000) { throw new FormatException("too many root frames"); } var frames = new NullFrame[frameCount]; for (uint i = 0; i < frameCount; i++) { frames[i] = NullFrame.Read(input, endian); } RootAnimation instance; instance.Frames = frames; return(instance); }