void OnTriggerEnter(Collider col) { if (col.tag == "Ring") { return; } if (shipController.shield.enabled) { TurretBullet bullet = col.gameObject.GetComponent <TurretBullet>(); if (bullet != null) { if (bullet.bounce) { return; } bullet.bounce = true; bullet.speed *= -.7f; col.transform.Rotate(col.transform.up, Random.Range(-30f, 30f)); col.transform.Rotate(col.transform.right, Random.Range(-30f, 30f)); return; } } DamageDistribution(col.gameObject); }
private void AutoAttack() { if (_reloadTimer >= reloadTime) { // Spawn a new bullet GameObject newBullet = GetPooledBullet(); newBullet.transform.position = transform.position; newBullet.transform.rotation = transform.rotation; TurretBullet bulletScript = newBullet.GetComponent <TurretBullet>(); bulletScript.target = _target; bulletScript.damage = damage; bulletScript._movementSpeed = bulletSpeed; // Reset the reloadTimer after the turret fired; _reloadTimer = 0; } else { // Increment reload timer between shots _reloadTimer += Time.deltaTime; } }
private void OnTriggerEnter(Collider c) { if (enabled) { if (c.gameObject.tag == "Projectile") { TurretBullet bullet = c.gameObject.GetComponent <TurretBullet> (); if (!bullet.hit) { isAlive = false; Vector3 forcePosition = new Vector3(c.transform.position.x, 0f, c.transform.position.z); breakUp.Activate(forcePosition, c.gameObject.GetComponent <TurretBullet> ().breakForce); uiObject.gameObject.SetActive(false); SpawnDestroyVFX(c.transform.position); StartCoroutine(Despawn()); bullet.hit = true; audioSource.clip = EnemyManager.main.GetAudioClip(type, EnemyManager.AudioClipType.Death); audioSource.pitch = Random.Range(0.9f, 1.1f); audioSource.volume = 0.85f; audioSource.Play(); bullet.Deactivate(); } } } }
void Shoot() { GameObject bulletGO = (GameObject)Instantiate(bulletPrefab, firePoint.position, firePoint.rotation); TurretBullet bullet = bulletGO.GetComponent <TurretBullet> (); if (bullet != null) { bullet.Seek(target); } }
void Shoot() { GameObject bulletInstance = (GameObject)Instantiate(finalBulletPrefab, firePoint.position, Quaternion.Euler(firePoint.rotation.eulerAngles.x, firePoint.rotation.eulerAngles.y + 90f, firePoint.rotation.eulerAngles.z)); TurretBullet bullet = bulletInstance.GetComponent <TurretBullet>(); if (bullet != null) { bullet.Seek(target); } }
private void Shoot() { GameObject bulletAttack = Instantiate(bullet, projectileSpawner.position, Quaternion.identity) as GameObject; bullet.GetComponent <Rigidbody>().velocity = bulletSpeed * projectileSpawner.forward; bulletScript = bulletAttack.GetComponent <TurretBullet>(); Vector3 _player = GameObject.FindGameObjectWithTag("Player").transform.position; bulletScript.Move(_player); Destroy(bulletAttack, lifeSpan); }
void ShootEnemy(Enemy enemy) { timeSinceShot += Time.deltaTime; if (timeSinceShot >= shootFrequency) { GetComponent <AudioSource>().PlayOneShot(shootSound); timeSinceShot = 0; TurretBullet bullet = Instantiate(bulletPrefab); bullet.transform.position = transform.position; bullet.enemyPos = enemy.transform.position; enemy.Hit(); } }
private void Fire() { // Instantiate bullet if (m_Target != null) { GameObject m_BulletInstance = Instantiate(m_BulletPrefab, transform.position, Quaternion.identity); TurretBullet script = m_BulletInstance.GetComponent <TurretBullet>(); // Set Destination and Velocity (In front of first troop of list) Vector3 m_BulletTarget = (m_Target.transform.position - transform.position).normalized; script.InitSpeed(m_BulletSpeed, m_BulletTarget); } }
public void Shoot() { audioSource.time = 0f; audioSource.Play(); TurretBullet bullet = ((GameObject)Instantiate(bulletPrefab)).GetComponent <TurretBullet>(); bullet.transform.position = transform.position + transform.TransformDirection(bulletOffset); bullet.Inialise(transform.forward, bulletParent); if (UIManager.main != null) { UIManager.main.ReloadBulletUI(); } recticleTimeT = 0f; }
private void Shoot() { // Shoot a bullet! TurretBullet bullet = Instantiate(ResourcesHandler.Instance.TurretBullet).GetComponent <TurretBullet>(); bullet.Initialize(MyRoom, this); // Tween! LeanTween.cancel(sr_body.gameObject); sr_body.transform.localScale = new Vector3(bodyScaleNeutral.x * 0.5f, bodyScaleNeutral.y * 1.2f, 1f); LeanTween.moveLocal(sr_body.gameObject, Vector3.zero, 0.4f).setEaseOutQuart(); LeanTween.scale(sr_body.gameObject, bodyScaleNeutral, 0.4f).setEaseOutQuart(); // Plan next shot! SetTimeUntilShoot(timeUntilShoot + interval); }
void OnTriggerEnter2D(Collider2D collision) { parry = GetComponent <Bloqueo>(); //Cogemos la referencia de las balas que entren al trigger de bloqueo //Identificacion purpleBulletComponent = collision.gameObject.GetComponent <PrestBullet>(); redBulletComponent = collision.gameObject.GetComponent <Bullet>(); turretBulletComponent = collision.gameObject.GetComponent <TurretBullet>(); //GameObject para cambiar de layer bullet = collision.gameObject; //Rb para cambiar el sentido rbBullet = collision.gameObject.GetComponent <Rigidbody2D>(); //Si el bloqueo esta activado devolvemos las balas (cambiamos el sentido y la layer para que impacten contra los enemigos) if ((purpleBulletComponent != null || redBulletComponent != null || turretBulletComponent != null) && parry.enabled) { rbBullet.velocity = -rbBullet.velocity; bullet.layer = 13; } }
void ShootAndWait() { longTimer += Time.deltaTime; if (longTimer >= longInterval) { shortTimer += Time.deltaTime; if (shortTimer >= shortInterval) { thisBullet = Instantiate(turretBullet, firepoint.position, firepoint.rotation) as GameObject; TurretBullet TB = thisBullet.GetComponent <TurretBullet>(); TB.setDir(GetShootDirection()); shortTimer = 0; bulletShot += 1; if (bulletShot == bulletNum) { bulletShot = 0; longTimer = 0; } } } }
protected void FireProjectile(Vector3 direction, float force) { GameObject projectile = GameObject.CreatePrimitive(PrimitiveType.Sphere); projectile.transform.position = transform.position + direction; projectile.transform.forward = direction; projectile.transform.localScale = Vector3.one * 0.4f; projectile.GetComponent <Renderer>().shadowCastingMode = ShadowCastingMode.Off; projectile.GetComponent <Collider>().isTrigger = true; Rigidbody pRBody = projectile.AddComponent <Rigidbody>(); pRBody.useGravity = false; foreach (var c in GetComponents <Collider>()) { Physics.IgnoreCollision(projectile.GetComponentInChildren <Collider>(), c); } pRBody.mass = 0.1f; pRBody.AddForce(direction * force); TurretBullet bullet = projectile.AddComponent <TurretBullet>(); bullet.OnLaunch(); }
void Shot() { if (!Search()) { return; } curFireRate += Time.deltaTime; if (curFireRate > fireRate) { Transform point = GetPoint(); curFireRate = 0; if (bulletPrefab != null) { TurretBullet bullet = Instantiate(bulletPrefab, point.position, Quaternion.identity) as TurretBullet; bullet.SetBullet(layerMask, point.forward); } else if (IsRaycastHit(point)) { target.GetComponent <UnitHP>().Adjust(-damage); } } }
private void Awake() { var a = ObjectsPooler.Instance; turretBulletPrefab = Resources.Load <TurretBullet>(BULLET_PATH); }