Beispiel #1
0
    ParticleSystem MakeNewParticle(PARTICLE_TYPE particleType)
    {
        var newParticleObj = Instantiate(particlePrefabs[particleType.ToString()]);

        //이름으로 종류를 구분하므로 이름셋팅
        newParticleObj.name = particleType.ToString();

        //풀에 등록
        var newParticle = newParticleObj.GetComponent <ParticleSystem>();

        particlePool.Add(newParticle);

        return(newParticle);
    }
Beispiel #2
0
    ParticleSystem GetParticleFromPool(PARTICLE_TYPE particleType)
    {
        //풀에서 파티클을 가져온다
        for (int i = 0; i < particlePool.Count; i++)
        {
            if (particlePool[i].isPlaying == false &&
                particlePool[i].gameObject.name == particleType.ToString())
            {
                return(particlePool[i]);
            }
        }

        //풀에서 재생가능한 파티클을 찾지 못했으면 새로 할당한다
        return(MakeNewParticle(particleType));
    }