public override int GetHashCode()
        {
            int hash = 1;

            if (typeCase_ == TypeOneofCase.Poi)
            {
                hash ^= Poi.GetHashCode();
            }
            if (typeCase_ == TypeOneofCase.Trace)
            {
                hash ^= Trace.GetHashCode();
            }
            if (typeCase_ == TypeOneofCase.Landmark)
            {
                hash ^= Landmark.GetHashCode();
            }
            if (typeCase_ == TypeOneofCase.PotionIngredient)
            {
                hash ^= PotionIngredient.GetHashCode();
            }
            if (typeCase_ == TypeOneofCase.Weather)
            {
                hash ^= Weather.GetHashCode();
            }
            if (typeCase_ == TypeOneofCase.EnvironmentTags)
            {
                hash ^= EnvironmentTags.GetHashCode();
            }
            hash ^= (int)typeCase_;
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }