Ejemplo n.º 1
0
        public static MSceneObject Clone(this MSceneObject original)
        {
            MSceneObject clone = new MMIStandard.MSceneObject()
            {
                ID       = original.ID,
                Name     = original.Name,
                Collider = original.Collider != null?original.Collider.Clone() : null,
                               Properties = original.Properties != null?original.Properties.Clone() : null,
                                                Transform                       = original.Transform != null?original.Transform.Clone() : null,
                                                                           Mesh = original.Mesh != null?original.Mesh.Clone() : null
            };

            return(clone);
        }
Ejemplo n.º 2
0
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.List)
                        {
                            {
                                AddedSceneObjects = new List <MSceneObject>();
                                TList _list142 = iprot.ReadListBegin();
                                for (int _i143 = 0; _i143 < _list142.Count; ++_i143)
                                {
                                    MSceneObject _elem144;
                                    _elem144 = new MSceneObject();
                                    _elem144.Read(iprot);
                                    AddedSceneObjects.Add(_elem144);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 2:
                        if (field.Type == TType.List)
                        {
                            {
                                ChangedSceneObjects = new List <MSceneObjectUpdate>();
                                TList _list145 = iprot.ReadListBegin();
                                for (int _i146 = 0; _i146 < _list145.Count; ++_i146)
                                {
                                    MSceneObjectUpdate _elem147;
                                    _elem147 = new MSceneObjectUpdate();
                                    _elem147.Read(iprot);
                                    ChangedSceneObjects.Add(_elem147);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 3:
                        if (field.Type == TType.List)
                        {
                            {
                                RemovedSceneObjects = new List <string>();
                                TList _list148 = iprot.ReadListBegin();
                                for (int _i149 = 0; _i149 < _list148.Count; ++_i149)
                                {
                                    string _elem150;
                                    _elem150 = iprot.ReadString();
                                    RemovedSceneObjects.Add(_elem150);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 5:
                        if (field.Type == TType.List)
                        {
                            {
                                AddedAvatars = new List <MMIStandard.MAvatar>();
                                TList _list151 = iprot.ReadListBegin();
                                for (int _i152 = 0; _i152 < _list151.Count; ++_i152)
                                {
                                    MMIStandard.MAvatar _elem153;
                                    _elem153 = new MMIStandard.MAvatar();
                                    _elem153.Read(iprot);
                                    AddedAvatars.Add(_elem153);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 6:
                        if (field.Type == TType.List)
                        {
                            {
                                ChangedAvatars = new List <MAvatarUpdate>();
                                TList _list154 = iprot.ReadListBegin();
                                for (int _i155 = 0; _i155 < _list154.Count; ++_i155)
                                {
                                    MAvatarUpdate _elem156;
                                    _elem156 = new MAvatarUpdate();
                                    _elem156.Read(iprot);
                                    ChangedAvatars.Add(_elem156);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 7:
                        if (field.Type == TType.List)
                        {
                            {
                                RemovedAvatars = new List <string>();
                                TList _list157 = iprot.ReadListBegin();
                                for (int _i158 = 0; _i158 < _list157.Count; ++_i158)
                                {
                                    string _elem159;
                                    _elem159 = iprot.ReadString();
                                    RemovedAvatars.Add(_elem159);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }