public void MergeFrom(ClientMapPoi other)
        {
            if (other == null)
            {
                return;
            }
            if (other.Id.Length != 0)
            {
                Id = other.Id;
            }
            if (other.Name.Length != 0)
            {
                Name = other.Name;
            }
            if (other.Latitude != 0D)
            {
                Latitude = other.Latitude;
            }
            if (other.Longitude != 0D)
            {
                Longitude = other.Longitude;
            }
            if (other.Description.Length != 0)
            {
                Description = other.Description;
            }
            if (other.PoiAccessibility != 0)
            {
                PoiAccessibility = other.PoiAccessibility;
            }
            switch (other.TypeCase)
            {
            case TypeOneofCase.Outpost:
                if (Outpost == null)
                {
                    Outpost = new global::WUProtos.Data.Client.ClientMapOutpost();
                }
                Outpost.MergeFrom(other.Outpost);
                break;

            case TypeOneofCase.Fortress:
                if (Fortress == null)
                {
                    Fortress = new global::WUProtos.Data.Client.ClientMapFortress();
                }
                Fortress.MergeFrom(other.Fortress);
                break;

            case TypeOneofCase.Greenhouse:
                if (Greenhouse == null)
                {
                    Greenhouse = new global::WUProtos.Data.Client.ClientMapGreenhouse();
                }
                Greenhouse.MergeFrom(other.Greenhouse);
                break;
            }

            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }
        public void MergeFrom(pb::CodedInputStream input)
        {
            uint tag;

            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                    break;

                case 10: {
                    Id = input.ReadString();
                    break;
                }

                case 18: {
                    Name = input.ReadString();
                    break;
                }

                case 25: {
                    Latitude = input.ReadDouble();
                    break;
                }

                case 33: {
                    Longitude = input.ReadDouble();
                    break;
                }

                case 42: {
                    Description = input.ReadString();
                    break;
                }

                case 50: {
                    global::WUProtos.Data.Client.ClientMapOutpost subBuilder = new global::WUProtos.Data.Client.ClientMapOutpost();
                    if (typeCase_ == TypeOneofCase.Outpost)
                    {
                        subBuilder.MergeFrom(Outpost);
                    }
                    input.ReadMessage(subBuilder);
                    Outpost = subBuilder;
                    break;
                }

                case 58: {
                    global::WUProtos.Data.Client.ClientMapFortress subBuilder = new global::WUProtos.Data.Client.ClientMapFortress();
                    if (typeCase_ == TypeOneofCase.Fortress)
                    {
                        subBuilder.MergeFrom(Fortress);
                    }
                    input.ReadMessage(subBuilder);
                    Fortress = subBuilder;
                    break;
                }

                case 66: {
                    global::WUProtos.Data.Client.ClientMapGreenhouse subBuilder = new global::WUProtos.Data.Client.ClientMapGreenhouse();
                    if (typeCase_ == TypeOneofCase.Greenhouse)
                    {
                        subBuilder.MergeFrom(Greenhouse);
                    }
                    input.ReadMessage(subBuilder);
                    Greenhouse = subBuilder;
                    break;
                }

                case 72: {
                    PoiAccessibility = (global::WUProtos.Enums.PoiAccessibility)input.ReadEnum();
                    break;
                }
                }
            }
        }