예제 #1
0
        public void MergeFrom(ObservationProto other)
        {
            if (other == null)
            {
                return;
            }
            shape_.Add(other.shape_);
            if (other.CompressionType != global::MLAgents.CommunicatorObjects.CompressionTypeProto.None)
            {
                CompressionType = other.CompressionType;
            }
            switch (other.ObservationDataCase)
            {
            case ObservationDataOneofCase.CompressedData:
                CompressedData = other.CompressedData;
                break;

            case ObservationDataOneofCase.FloatData:
                if (FloatData == null)
                {
                    FloatData = new global::MLAgents.CommunicatorObjects.ObservationProto.Types.FloatData();
                }
                FloatData.MergeFrom(other.FloatData);
                break;
            }

            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }
예제 #2
0
        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:
                case 8: {
                    shape_.AddEntriesFrom(input, _repeated_shape_codec);
                    break;
                }

                case 16: {
                    CompressionType = (global::MLAgents.CommunicatorObjects.CompressionTypeProto)input.ReadEnum();
                    break;
                }

                case 26: {
                    CompressedData = input.ReadBytes();
                    break;
                }

                case 34: {
                    global::MLAgents.CommunicatorObjects.ObservationProto.Types.FloatData subBuilder = new global::MLAgents.CommunicatorObjects.ObservationProto.Types.FloatData();
                    if (observationDataCase_ == ObservationDataOneofCase.FloatData)
                    {
                        subBuilder.MergeFrom(FloatData);
                    }
                    input.ReadMessage(subBuilder);
                    FloatData = subBuilder;
                    break;
                }
                }
            }
        }