コード例 #1
0
    private void Start()
    {
        _factory      = ScriptableObject.CreateInstance <ParticleFactorySO>();
        _pool         = ScriptableObject.CreateInstance <ParticlePoolSO>();
        _pool.name    = gameObject.name;
        _pool.Factory = _factory;
        _pool.Prewarm(_initialPoolSize);
        List <ParticleSystem> particles = _pool.Request(2) as List <ParticleSystem>;

        foreach (ParticleSystem particle in particles)
        {
            StartCoroutine(DoParticleBehaviour(particle));
        }
    }
コード例 #2
0
    private IEnumerator Start()
    {
        _factory      = ScriptableObject.CreateInstance <ParticleFactorySO>();
        _pool         = ScriptableObject.CreateInstance <ParticlePoolSO>();
        _pool.name    = gameObject.name;
        _pool.Factory = _factory;
        _pool.SetParent(this.transform);
        _pool.Prewarm(_initialPoolSize);
        List <ParticleSystem> particles = _pool.Request(2) as List <ParticleSystem>;

        foreach (ParticleSystem particle in particles)
        {
            StartCoroutine(DoParticleBehaviour(particle));
        }
        yield return(new WaitForSeconds(2));

        _pool.SetParent(null);
        yield return(new WaitForSeconds(2));

        _pool.SetParent(this.transform);
    }