public int UpdateBrushHash() { brushHash = this.GetHashCode(); brushHash ^= type.GetHashCode(); brushHash ^= paintMode.GetHashCode(); brushHash ^= edgeMode.GetHashCode(); brushHash ^= multiLayer.GetHashCode(); if (tiles != null) { foreach (var tile in tiles) { brushHash ^= tile.TileHash; } } if (multiSelectTiles != null) { foreach (var tile in multiSelectTiles) { brushHash ^= tile.GetHashCode(); } } return(brushHash); }