Esempio n. 1
0
        /// <summary>
        /// If the particle pool has changed the sorter must also be updated to reflect those changes
        /// </summary>
        private void PoolChangedNotification()
        {
            if (SortingPolicy == EmitterSortingPolicy.None || pool.ParticleCapacity <= 0)
            {
                ParticleSorter = new ParticleSorterDefault(pool);
                return;
            }

            if (SortingPolicy == EmitterSortingPolicy.ByDepth)
            {
                ParticleSorter = new ParticleSorterDepth(pool);
                return;
            }

            if (SortingPolicy == EmitterSortingPolicy.ByAge)
            {
                ParticleSorter = new ParticleSorterAge(pool);
                return;
            }

            if (SortingPolicy == EmitterSortingPolicy.ByOrder)
            {
                ParticleSorter = new ParticleSorterOrder(pool);
                return;
            }

            // Default - no sorting
            ParticleSorter = new ParticleSorterDefault(pool);
        }
        /// <summary>
        /// If the particle pool has changed the sorter must also be updated to reflect those changes
        /// </summary>
        private void PoolChangedNotification()
        {
            if (SortingPolicy == EmitterSortingPolicy.None || pool.ParticleCapacity <= 0)
            {
                ParticleSorter = new ParticleSorterDefault(pool);
                return;
            }

            if (SortingPolicy == EmitterSortingPolicy.ByDepth)
            {
                ParticleSorter = new ParticleSorterDepth(pool);
                return;
            }

            if (SortingPolicy == EmitterSortingPolicy.ByAge)
            {
                ParticleSorter = new ParticleSorterAge(pool);
                return;
            }

            if (SortingPolicy == EmitterSortingPolicy.ByOrder)
            {
                ParticleSorter = new ParticleSorterOrder(pool);
                return;
            }

            // Default - no sorting
            ParticleSorter = new ParticleSorterDefault(pool);
        }