public override int GetHashCode() { unchecked { var hashCode = Id.GetHashCode(); hashCode = (hashCode * 397) ^ (Name != null ? Name.GetHashCode() : 0); hashCode = (hashCode * 397) ^ LightSource.GetHashCode(); hashCode = (hashCode * 397) ^ BlockVisibility.GetHashCode(); return(hashCode); } }