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); }
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(); } }