public override void SerializeSubclass(SpinImpulseEvent obj, BinaryWriter writer, ChartEffectTable effects) { writer.WriteUInt8((byte)obj.Direction); }
public override ChartObject DeserializeSubclass(tick_t pos, tick_t dur, BinaryReader reader, ChartEffectTable effects) { var evt = new SwingImpulseEvent() { Position = pos }; evt.Direction = (AngularDirection)reader.ReadUInt8(); evt.Amplitude = reader.ReadSingleBE(); return(evt); }
public override void SerializeSubclass(SlamVolumeEvent obj, BinaryWriter writer, ChartEffectTable effects) { writer.WriteSingleBE(obj.Volume); }
public override ChartObject DeserializeSubclass(tick_t pos, tick_t dur, BinaryReader reader, ChartEffectTable effects) { return(new SpinImpulseEvent() { Position = pos, Direction = (AngularDirection)reader.ReadUInt8() }); }
public override void SerializeSubclass(LaserFilterGainEvent obj, BinaryWriter writer, ChartEffectTable effects) { writer.WriteUInt8((byte)obj.LaserIndex); writer.WriteSingleBE(obj.Gain); }
public override ChartObject DeserializeSubclass(tick_t pos, tick_t dur, BinaryReader reader, ChartEffectTable effects) { return(new SlamVolumeEvent() { Position = pos, Volume = reader.ReadSingleBE() }); }
public override void SerializeSubclass(LaserFilterKindEvent obj, BinaryWriter writer, ChartEffectTable effects) { int effectID = effects.IndexOf(obj.Effect); if (effectID < 0) { effectID = ushort.MaxValue; } //Debug.Assert(effectIndex >= 0, "Failed to properly save effect to table, couldn't find"); writer.WriteUInt8((byte)obj.LaserIndex); writer.WriteUInt16BE((ushort)effectID); }
public override void SerializeSubclass(LaserApplicationEvent obj, BinaryWriter writer, ChartEffectTable effects) { writer.WriteUInt8((byte)obj.Application); }
public override void SerializeSubclass(PathPointEvent obj, BinaryWriter writer, ChartEffectTable effects) { writer.WriteSingleBE(obj.Value); }
public override ChartObject DeserializeSubclass(tick_t pos, tick_t dur, BinaryReader reader, ChartEffectTable effects) { var laserIndex = (LaserIndex)reader.ReadUInt8(); ushort effectID = reader.ReadUInt16BE(); EffectDef effect; if (effectID == ushort.MaxValue) { effect = null; } else { effect = effects[effectID]; } return(new LaserFilterKindEvent() { Position = pos, LaserIndex = laserIndex, Effect = effect }); }
public override ChartObject DeserializeSubclass(tick_t pos, tick_t dur, BinaryReader reader, ChartEffectTable effects) { byte flags = reader.ReadUInt8(); bool hasSample = flags != 0; var obj = new ButtonObject() { Position = pos, Duration = dur }; if (hasSample) { obj.Sample = reader.ReadStringUTF8(); } return(obj); }
public override void SerializeSubclass(LaserParamsEvent obj, BinaryWriter writer, ChartEffectTable effects) { writer.WriteUInt8((byte)obj.LaserIndex); writer.WriteUInt8((byte)obj.Params.Function); writer.WriteUInt8((byte)obj.Params.Scale); }
public override ChartObject DeserializeSubclass(tick_t pos, tick_t dur, BinaryReader reader, ChartEffectTable effects) { var evt = new LaserParamsEvent() { Position = pos }; evt.LaserIndex = (LaserIndex)reader.ReadUInt8(); evt.Params.Function = (LaserFunction)reader.ReadUInt8(); evt.Params.Scale = (LaserScale)reader.ReadUInt8(); return(evt); }
public override void SerializeSubclass(ButtonObject obj, BinaryWriter writer, ChartEffectTable effects) { if (obj.HasSample) { writer.WriteUInt8(0x01); writer.WriteStringUTF8(obj.Sample); } else { writer.WriteUInt8(0); } }
public override ChartObject DeserializeSubclass(tick_t pos, tick_t dur, BinaryReader reader, ChartEffectTable effects) { var laserIndex = (LaserIndex)reader.ReadUInt8(); float gain = reader.ReadSingleBE(); return(new LaserFilterGainEvent() { Position = pos, LaserIndex = laserIndex, Gain = gain }); }
public override void SerializeSubclass(SwingImpulseEvent obj, BinaryWriter writer, ChartEffectTable effects) { writer.WriteUInt8((byte)obj.Direction); writer.WriteSingleBE(obj.Amplitude); }
public override ChartObject DeserializeSubclass(tick_t pos, tick_t dur, BinaryReader reader, ChartEffectTable effects) { return(new LaserApplicationEvent() { Position = pos, Application = (LaserApplication)reader.ReadUInt8() }); }