示例#1
0
        /// <summary>
        /// Reads a raw <c>PropertyMap</c> row or returns false if the row doesn't exist
        /// </summary>
        /// <param name="rid">Row ID</param>
        /// <param name="row">Row data</param>
        /// <returns></returns>
        public bool TryReadPropertyMapRow(uint rid, out RawPropertyMapRow row)
        {
            var table = PropertyMapTable;

            if (table.IsInvalidRID(rid))
            {
                row = default;
                return(false);
            }
            var reader = table.DataReader;

            reader.Position = (rid - 1) * (uint)table.TableInfo.RowSize;
            row             = new RawPropertyMapRow(
                table.Column0.Unsafe_Read24(ref reader),
                table.Column1.Unsafe_Read24(ref reader));
            return(true);
        }
示例#2
0
 public int GetHashCode(RawPropertyMapRow obj) =>
 (int)obj.Parent +
 rol(obj.PropertyList, 3);
示例#3
0
 public bool Equals(RawPropertyMapRow x, RawPropertyMapRow y) =>
 x.Parent == y.Parent &&
 x.PropertyList == y.PropertyList;
示例#4
0
 public int GetHashCode(RawPropertyMapRow obj)
 {
     return((int)obj.Parent +
            rol(obj.PropertyList, 3));
 }
示例#5
0
 public bool Equals(RawPropertyMapRow x, RawPropertyMapRow y)
 {
     return(x.Parent == y.Parent &&
            x.PropertyList == y.PropertyList);
 }
示例#6
0
 static uint ReadPropertyMapColumnMethod(ref RawPropertyMapRow row, int index) => row[index];