public override int GetHashCode() { unchecked { return (base.GetHashCode() * 397) ^ (int) Direction; } }