public override object WriteTo(object obj)
        {
            obj = base.WriteTo(obj);
            if (obj == null)
            {
                return(null);
            }

            ParticleSystem.CustomDataModule o = (ParticleSystem.CustomDataModule)obj;
            o.SetMode(ParticleSystemCustomData.Custom1, m_mode1);
            o.SetMode(ParticleSystemCustomData.Custom1, m_mode2);

            if (m_mode1 == ParticleSystemCustomDataMode.Color)
            {
                o.SetColor(ParticleSystemCustomData.Custom1, m_color1);
            }
            else if (m_mode1 == ParticleSystemCustomDataMode.Vector)
            {
                o.SetVectorComponentCount(ParticleSystemCustomData.Custom1, m_vectorComponentCount1);
                for (int i = 0; i < m_vectorComponentCount1; ++i)
                {
                    o.SetVector(ParticleSystemCustomData.Custom1, i, m_vectors1[i]);
                }
            }

            if (m_mode2 == ParticleSystemCustomDataMode.Color)
            {
                o.SetColor(ParticleSystemCustomData.Custom2, m_color2);
            }
            else if (m_mode2 == ParticleSystemCustomDataMode.Vector)
            {
                o.SetVectorComponentCount(ParticleSystemCustomData.Custom2, m_vectorComponentCount2);
                for (int i = 0; i < m_vectorComponentCount2; ++i)
                {
                    o.SetVector(ParticleSystemCustomData.Custom2, i, m_vectors2[i]);
                }
            }

            return(obj);
        }
        public override object WriteTo(object obj)
        {
            obj = base.WriteTo(obj);
            if (obj == null)
            {
                return(null);
            }

            ParticleSystem.CustomDataModule o = (ParticleSystem.CustomDataModule)obj;
            o.SetMode(ParticleSystemCustomData.Custom1, m_mode1);
            o.SetMode(ParticleSystemCustomData.Custom1, m_mode2);

            if (m_mode1 == ParticleSystemCustomDataMode.Color)
            {
                if (m_color1 != null)
                {
                    ParticleSystem.MinMaxGradient grad = new ParticleSystem.MinMaxGradient();
                    m_color1.WriteTo(grad);
                    o.SetColor(ParticleSystemCustomData.Custom1, grad);
                }
            }
            else if (m_mode1 == ParticleSystemCustomDataMode.Vector)
            {
                o.SetVectorComponentCount(ParticleSystemCustomData.Custom1, m_vectorComponentCount1);
                if (m_vectors1 != null)
                {
                    for (int i = 0; i < m_vectorComponentCount1; ++i)
                    {
                        if (m_vectors1[i] != null)
                        {
                            ParticleSystem.MinMaxCurve v = new ParticleSystem.MinMaxCurve();
                            m_vectors1[i].WriteTo(v);
                            o.SetVector(ParticleSystemCustomData.Custom1, i, v);
                        }
                    }
                }
            }

            if (m_mode2 == ParticleSystemCustomDataMode.Color)
            {
                if (m_color2 != null)
                {
                    ParticleSystem.MinMaxGradient grad = new ParticleSystem.MinMaxGradient();
                    m_color2.WriteTo(grad);
                    o.SetColor(ParticleSystemCustomData.Custom2, grad);
                }
            }
            else if (m_mode2 == ParticleSystemCustomDataMode.Vector)
            {
                o.SetVectorComponentCount(ParticleSystemCustomData.Custom2, m_vectorComponentCount2);
                if (m_vectors2 != null)
                {
                    for (int i = 0; i < m_vectorComponentCount2; ++i)
                    {
                        if (m_vectors2[i] != null)
                        {
                            ParticleSystem.MinMaxCurve v = new ParticleSystem.MinMaxCurve();
                            m_vectors2[i].WriteTo(v);
                            o.SetVector(ParticleSystemCustomData.Custom2, i, v);
                        }
                    }
                }
            }

            return(obj);
        }