public void Shoot() { if (Time.time > nextShotTime) { nextShotTime = Time.time + msBetweenShots / 1000; Proyectile newBala = Instantiate(bala, salidaBala.position, salidaBala.rotation); newBala.SetSpeed(balaSpeed); } }
void ShootProyectile(bool fromRightCannon, Quaternion rotation) { Vector2 position = fromRightCannon ? rightCannon.position : leftCannon.position; Proyectile newProyectile = Instantiate(proyectilePrefab, position, rotation, proyectileContainer).GetComponent <Proyectile>(); newProyectile.InitializeAsPlayerProyectile(powerPlusOn, model.damage, model.movementSpeed); newProyectile.SetScreenLimits(leftScreenLimit, rightScreenLimit, upperScreenLimit, lowerScreenLimit); }
// Start is called before the first frame update private void Start() { outline = GetComponent <Outline>(); proyectile = proyectileTemplate.GetComponent <Proyectile>(); proyectile.speed = bulletSpeed; turretRadius.onTurretDetectEnemy = SetTarget; turretRadius.onTurretLostEnemy = ChangeTarget; rig = GetComponent <Rigidbody>(); generateTimer = 1; }
void OnTriggerEnter2D(Collider2D collider) { Proyectile proyectile = collider.GetComponent <Proyectile>(); if (proyectile) { health -= proyectile.damage; proyectile.Hit(); if (health <= 0) { ScoreKeeper scoreText = GameObject.Find("ScoreText").GetComponent <ScoreKeeper>(); //scoreText.ResetScore(); Destroy(gameObject); GameObject.Find("LevelManager").GetComponent <GameManager>().LoadLevel("Win Screen"); } } }
private void Shoot() { if (Time.time > nextShot && gameController.getState() == GameController.STATES.PLAY) { if (enemies[0] != null) { GameObject shot = Instantiate(proyectile, this.transform.position, Quaternion.identity) as GameObject; Proyectile pb = shot.GetComponent <Cannon>(); pb.setTarget(enemies[0].gameObject.transform); nextShot = Time.time + fireRate; } else { enemies.Remove(enemies[0]); } } }
void OnTriggerEnter2D(Collider2D collider) { Proyectile proyectile = collider.GetComponent <Proyectile>(); if (proyectile) { proyectile.Hit(); maxNumberOfHits = maxNumberOfHits - proyectile.damage; if (maxNumberOfHits <= 0) { AudioSource.PlayClipAtPoint(deathSound, transform.position); ScoreKeeper scoreText = GameObject.Find("ScoreText").GetComponent <ScoreKeeper>(); scoreText.Score(pointsPerKill); SimplePool.Despawn(gameObject); } } }
private void OnTriggerEnter2D(Collider2D collision) { //Creamos un a variable proyectile, para acceder al script proyectile y le damos el mismo behaviur que en PlayerController Proyectile missile = collision.gameObject.GetComponent <Proyectile>(); if (missile) { health -= missile.GetDamage(); missile.Hit(); if (health <= 0) { EnemyDown(); } Debug.Log("Enemy hit!"); } }
private void ShootTarget() { if (!isPreview) { if (currentTarget) { if (currentTarget.gameObject.tag != "dead") { GameObject newProyectile = Instantiate(proyectileTemplate); Proyectile proy = newProyectile.GetComponent <Proyectile>(); proy.startPosition = transform.position + transform.up * 15; proy.target = currentTarget; newProyectile.SetActive(true); canShoot = false; AkSoundEngine.PostEvent("torre_lanza", shootSound); } } } }
/// <summary> /// Cuando colisiona un misil lanzado con un objeto, tanto enemigo como aliado /// </summary> /// <param name="collision"></param> private void OnTriggerEnter2D(Collider2D collision) { //Llamamos al script Proyectile en el cual hemos creado el proyectil, dandole un daño editable al chocar con un objeto //y se lo restará a la vida. Proyectile missile = collision.gameObject.GetComponent <Proyectile>(); //Si el misil choca con un el jugador o con un enemigo, restará el valor del daño a la vida if (missile) { //Restamos a la variable health, el valor retornado de la función GetDamage() creada en el script Proyectile //Esta función retorna el valor del daño que causa un misil. //Restamos ese valor a heath health -= missile.GetDamage(); missile.Hit(); //Llamamos a la función Die() si la vida es igaul o menor a 0 if (health <= 0) { Die(); } Debug.Log("Enemy hit!"); } }
public void Init(Proyectile basicAttack, Proyectile specialAttack, GameObject model) { this.basicAttack = basicAttack; this.specialAttack = specialAttack; var m = Instantiate(model, this.model); }