public void Read(BinaryReader reader, UInt16 version) { Time = reader.ReadUInt32(); Type type = FileFormat.ResolveEntityStateID(reader.ReadUInt16()); InterpMode = version >= 2 ? (EntityInterpolationMode)Enum.Parse(typeof(EntityInterpolationMode), reader.ReadString()) : EntityInterpolationMode.Linear; Type[] args = { }; object[] values = { }; State = (IEntityState)type.GetConstructor(args).Invoke(values); State.Read(reader, version); }