public void Fire(Transform fireTransform, BulletScriptable bulletType, int layer) { SoundManager.Instance.PlaySoundAtTrack1(bulletFire, 1f, 64, true); GameObject bullet = ObjectPooler.SharedInstance.GetPooledObject("bullet"); if (bullet != null) { bullet.transform.position = fireTransform.position; bullet.transform.rotation = fireTransform.rotation; if (layer == 8) { bullet.layer = 10; } else if (layer == 9) { bullet.layer = 11; } bullet.SetActive(true); Rigidbody bulletRigidbody = bullet.GetComponent <Rigidbody>(); bulletRigidbody.velocity = fireSpeed * fireTransform.forward; } //GameObject bullet = Instantiate(bulletType.bulletPref, fireTransform.position, fireTransform.rotation); //Rigidbody bulletRigidbody = bullet.GetComponent<Rigidbody>(); //bulletRigidbody.velocity = fireSpeed * fireTransform.forward; }
private void GetBulletType() { int rand = Random.Range(0, bulletList.Length); bulletType = bulletList[rand]; damage = bulletType.damage; fireSpeed = bulletType.speed; }
public void InitializeValues(EnemyScriptable enemyType) { bulletType = enemyType.bulletType; health = enemyType.health; healthSlider.maxValue = health; turnSpeed = enemyType.turnSpeed; movementSpeed = enemyType.movementSpeed; fireRate = enemyType.fireRate; patrollingRadius = enemyType.patrollingRadius; patrolTime = enemyType.patrolTime; attackDistance = enemyType.attackDistance; SetScale(enemyType.ScaleMultiplier); for (int i = 0; i < tankParts.Length; i++) { tankParts[i].material = enemyType.material; } }
private void Start() { bulletScriptable = BulletService.Instance.bulletType; rigidBody = GetComponent <Rigidbody>(); }