Esempio n. 1
0
        /// <summary>
        /// 새 파티클 시스템을 추가합니다.
        /// 파티클 시스템은 한 번에 10개까지만 활성화될 수 있습니다.
        /// </summary>
        public static void AddParticleSystem(
            ParticleSystem.StartPosition startPosX, ParticleSystem.StartPosition startPosY,
            float velocityX, float velocityY, int lifetime,
            int createNumber, float createRange,
            ParticleSystem.CreateFunction createFunction,
            Particle.Type particleType, ParticleSystem.ParticleColor particleColor,
            float particleSize, int particleLifetime)
        {
            void particleSystemsRemoveAtZero(object[] args)
            {
                List <ParticleSystem> particleSystems_ = args[0] as List <ParticleSystem>;

                if (particleSystems_.Count > 10)
                {
                    particleSystems_.RemoveAt(0);
                }
            }

            void particleSystemsAdd(object[] args)
            {
                List <ParticleSystem> particleSystems_ = args[0] as List <ParticleSystem>;
                ParticleSystem        particleSystem_  = args[1] as ParticleSystem;

                particleSystems_.Add(particleSystem_);
            }

            // 한 번에 활성화되는 파티클 시스템 수를 10개로 제한
            Util.TaskQueue.Add("particleSystems", particleSystemsRemoveAtZero, particleSystems);
            ParticleSystem ps = new ParticleSystem(startPosX, startPosY, velocityX, velocityY, lifetime,
                                                   createNumber, createRange, createFunction,
                                                   particleType, particleColor, particleSize, particleLifetime);

            Util.TaskQueue.Add("particleSystems", particleSystemsAdd, particleSystems, ps);
        }
Esempio n. 2
0
        /// <summary>
        /// 새 파티클 시스템을 추가합니다.
        /// 파티클 시스템은 한 번에 5개까지만 활성화될 수 있습니다.
        /// </summary>
        public static void AddParticleSystem(
            float startPosX, float startPosY,
            float velocityX, float velocityY, int lifetime,
            int createNumber, float createRange,
            ParticleSystem.CreateFunction createFunction,
            Particle.Type particleType, Color particleColor,
            float particleSize, int particleLifetime)
        {
            // 한 번에 활성화되는 파티클 시스템 수를 5개로 제한
            if (particleSystems.Count > 10)
            {
                particleSystems.RemoveAt(0);
            }
            ParticleSystem ps = new ParticleSystem(startPosX, startPosY, velocityX, velocityY, lifetime,
                                                   createNumber, createRange, createFunction,
                                                   particleType, particleColor, particleSize, particleLifetime);

            particleSystems.Add(ps);
        }