Exemple #1
0
    public void InitializePool(ThrowedObject template, Transform target, HitParticle hitParticle)
    {
        CleanPool();

        for (int i = 0; i < _poolCapacity; i++)
        {
            ThrowedObject newObject = Instantiate(template, transform);
            newObject.gameObject.SetActive(false);

            newObject.Init(target, hitParticle);
            _objectPool.Add(newObject);
        }
    }
Exemple #2
0
    private void HandleBulletImpact(Vector3 bulletImpactPos)
    {
        HitParticle hitPart = hitParticlesPool.Instantiate();

        hitPart.transform.position = bulletImpactPos;
        hitPart.OnCleanMe          = () =>
        {
            hitParticlesPool.Destroy(hitPart);
        };

        //play a sound
        audioSource.clip = hitSound;
        audioSource.Play();
    }
Exemple #3
0
    private void HandleBossDied(GenericBossBehaviour gbb)
    {
        Vector3     deathPos = gbb.gameObject.transform.position;
        HitParticle hitPart  = Instantiate(bossDieParticle, deathPos, Quaternion.identity);

        hitPart.transform.position = deathPos;
        hitPart.OnCleanMe          = () =>
        {
            Destroy(hitPart.gameObject);
        };

        //play a sound
        audioSource.clip = hitSound;
        audioSource.Play();
    }
Exemple #4
0
    private void HandleEnemyDied(Enemy enemyData)
    {
        Vector3     deathPos = enemyData.transform.position;
        HitParticle hitPart  = enemyDeathEffectPool.Instantiate();

        hitPart.transform.position = deathPos;
        hitPart.OnCleanMe          = () =>
        {
            enemyDeathEffectPool.Destroy(hitPart);
        };

        //play a sound
        audioSource.clip = hitSound;
        audioSource.Play();
    }
Exemple #5
0
    public void Init(Transform target, HitParticle hitParticle)
    {
        Target = target;

        _hitParticle = hitParticle;
    }
 private void SpawnParticle()
 {
     hitParticle = hitPool.GetObject();
     hitParticle.transform.localPosition = spawnerTransform.localPosition;
     hitParticle.transform.parent        = spawnerTransform;
 }