private void Shoot() { //GameObject bulletGO = Instantiate(bulletPrefab, firePoint.position, firePoint.rotation); //GameObject bulletGO;// = new GameObject(); if (BulletPooling.Instance().HasBullets(BulletType.BUCKET_BULLET)) { GameObject bulletGO = BulletPooling.Instance().GetBullet(firePoint.position, firePoint.rotation, BulletType.BUCKET_BULLET); Debug.Log("Enemy Shooting"); audioSource.Play(); BulletBehaviour bullet = bulletGO.GetComponent <BulletBehaviour>(); if (bullet != null) { bullet.Seek(target); } } else { return; } }
private void Start() { LoadButtonBehaviour.loadGameOnStartup = false; // Prepare Bullet pool using by Towers BulletPooling.Instance().Init(MaxFireballs, bucketType, pumpkinType); }
private void HitTarget() { if (target.GetComponent <EnemyBehaviour>()) { target.GetComponent <EnemyBehaviour>().PlayCollisionSound(); Health enemyHealth = target.GetComponent <Health>(); if (enemyHealth != null) { enemyHealth.ModifyHealth(-damage); } } else if (target.gameObject.CompareTag("Tower")) { // Play collision sound // Not the parent, therefore check this gameobject's parent for the component if (target.gameObject.transform.root != target.gameObject.transform) { Health towerHealth = target.gameObject.GetComponentInParent <Health>(); if (towerHealth != null) { towerHealth.ModifyHealth(-damage); } } else if (target.gameObject.transform.root == target.gameObject.transform) { Health towerHealth = target.GetComponent <Health>(); if (towerHealth != null) { towerHealth.ModifyHealth(-damage); } } } GameObject effectIns = (GameObject)Instantiate(impactEffect, transform.position, transform.rotation); Destroy(effectIns, 2.0f); //Destroy(gameObject); damage = baseDamage; BulletPooling.Instance().ReturnBullet(gameObject, bulletType); }
private void Shoot() { if (BulletPooling.Instance().HasBullets(bulletType)) { GameObject bulletGO = BulletPooling.Instance().GetBullet(firePoint.position, firePoint.rotation, bulletType); BulletBehaviour bullet = bulletGO.GetComponent <BulletBehaviour>(); bullet.damage = (int)((float)bullet.damage * strength); Debug.Log("Shooting"); audioSource.Play(); if (bullet != null) { bullet.Seek(target); } } else { return; } }