示例#1
0
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                bool   isset_ID        = false;
                bool   isset_Name      = false;
                bool   isset_Transform = false;
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.String)
                        {
                            ID       = iprot.ReadString();
                            isset_ID = true;
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 2:
                        if (field.Type == TType.String)
                        {
                            Name       = iprot.ReadString();
                            isset_Name = true;
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 3:
                        if (field.Type == TType.Struct)
                        {
                            Transform = new MMIStandard.MTransform();
                            Transform.Read(iprot);
                            isset_Transform = true;
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 4:
                        if (field.Type == TType.Struct)
                        {
                            Collider = new MCollider();
                            Collider.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 5:
                        if (field.Type == TType.Struct)
                        {
                            Mesh = new MMesh();
                            Mesh.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 6:
                        if (field.Type == TType.Struct)
                        {
                            PhysicsProperties = new MPhysicsProperties();
                            PhysicsProperties.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 8:
                        if (field.Type == TType.Map)
                        {
                            {
                                Properties = new Dictionary <string, string>();
                                TMap _map113 = iprot.ReadMapBegin();
                                for (int _i114 = 0; _i114 < _map113.Count; ++_i114)
                                {
                                    string _key115;
                                    string _val116;
                                    _key115             = iprot.ReadString();
                                    _val116             = iprot.ReadString();
                                    Properties[_key115] = _val116;
                                }
                                iprot.ReadMapEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 9:
                        if (field.Type == TType.List)
                        {
                            {
                                Attachments = new List <MAttachment>();
                                TList _list117 = iprot.ReadListBegin();
                                for (int _i118 = 0; _i118 < _list117.Count; ++_i118)
                                {
                                    MAttachment _elem119;
                                    _elem119 = new MAttachment();
                                    _elem119.Read(iprot);
                                    Attachments.Add(_elem119);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 10:
                        if (field.Type == TType.List)
                        {
                            {
                                Constraints = new List <MMIStandard.MConstraint>();
                                TList _list120 = iprot.ReadListBegin();
                                for (int _i121 = 0; _i121 < _list120.Count; ++_i121)
                                {
                                    MMIStandard.MConstraint _elem122;
                                    _elem122 = new MMIStandard.MConstraint();
                                    _elem122.Read(iprot);
                                    Constraints.Add(_elem122);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
                if (!isset_ID)
                {
                    throw new TProtocolException(TProtocolException.INVALID_DATA, "required field ID not set");
                }
                if (!isset_Name)
                {
                    throw new TProtocolException(TProtocolException.INVALID_DATA, "required field Name not set");
                }
                if (!isset_Transform)
                {
                    throw new TProtocolException(TProtocolException.INVALID_DATA, "required field Transform not set");
                }
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                bool   isset_ID = false;
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.String)
                        {
                            ID       = iprot.ReadString();
                            isset_ID = true;
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 2:
                        if (field.Type == TType.String)
                        {
                            Name = iprot.ReadString();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 3:
                        if (field.Type == TType.Struct)
                        {
                            Transform = new MTransformUpdate();
                            Transform.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 4:
                        if (field.Type == TType.Struct)
                        {
                            Collider = new MCollider();
                            Collider.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 5:
                        if (field.Type == TType.Struct)
                        {
                            Mesh = new MMesh();
                            Mesh.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 6:
                        if (field.Type == TType.Struct)
                        {
                            PhysicsProperties = new MPhysicsProperties();
                            PhysicsProperties.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 7:
                        if (field.Type == TType.List)
                        {
                            {
                                HandPoses = new List <MMIStandard.MHandPose>();
                                TList _list126 = iprot.ReadListBegin();
                                for (int _i127 = 0; _i127 < _list126.Count; ++_i127)
                                {
                                    MMIStandard.MHandPose _elem128;
                                    _elem128 = new MMIStandard.MHandPose();
                                    _elem128.Read(iprot);
                                    HandPoses.Add(_elem128);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 8:
                        if (field.Type == TType.List)
                        {
                            {
                                Properties = new List <MPropertyUpdate>();
                                TList _list129 = iprot.ReadListBegin();
                                for (int _i130 = 0; _i130 < _list129.Count; ++_i130)
                                {
                                    MPropertyUpdate _elem131;
                                    _elem131 = new MPropertyUpdate();
                                    _elem131.Read(iprot);
                                    Properties.Add(_elem131);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 9:
                        if (field.Type == TType.List)
                        {
                            {
                                Attachments = new List <MAttachment>();
                                TList _list132 = iprot.ReadListBegin();
                                for (int _i133 = 0; _i133 < _list132.Count; ++_i133)
                                {
                                    MAttachment _elem134;
                                    _elem134 = new MAttachment();
                                    _elem134.Read(iprot);
                                    Attachments.Add(_elem134);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 10:
                        if (field.Type == TType.List)
                        {
                            {
                                Constraints = new List <MMIStandard.MConstraint>();
                                TList _list135 = iprot.ReadListBegin();
                                for (int _i136 = 0; _i136 < _list135.Count; ++_i136)
                                {
                                    MMIStandard.MConstraint _elem137;
                                    _elem137 = new MMIStandard.MConstraint();
                                    _elem137.Read(iprot);
                                    Constraints.Add(_elem137);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
                if (!isset_ID)
                {
                    throw new TProtocolException(TProtocolException.INVALID_DATA, "required field ID not set");
                }
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }