public void Attack(bool isPlayer) { if (CanAttack) { shootCooldown = shootingRate; // Create a new shot var shotTransform = Instantiate(shotPrefab) as Transform; Destroy(shotTransform.gameObject, 2f); // Assign position shotTransform.position = transform.position; // The is enemy property Enemy_Shoot shot = shotTransform.gameObject.GetComponent <Enemy_Shoot>(); if (shot != null) { shot.isPlayerShot = isPlayer; } // Fireball Movement Shoot_move move = shotTransform.gameObject.GetComponent <Shoot_move>(); if (!move) { move.direction = this.transform.right; } else { // Change the facing and direction of fireball var player = GameObject.Find("Level/2-Foreground/Player"); var direction = (player.transform.position - transform.position).normalized; move.direction = direction; if (transform.localScale.x < 0) { move.transform.localScale = new Vector3(-1f, move.transform.localScale.y, move.transform.localScale.z); } else { move.transform.localScale = new Vector3(1f, move.transform.localScale.y, move.transform.localScale.z); } } } }
public void Attack(bool isEnemy) { if (CanAttack) { shootCooldown = shootingRate; // Create a new shot var shotTransform = Instantiate(shotPrefab) as Transform; Destroy(shotTransform.gameObject, 2f); // Assign position shotTransform.position = transform.position - Vector3.up; // The is enemy property Shoot shot = shotTransform.gameObject.GetComponent <Shoot>(); if (shot != null) { shot.isEnemyShot = isEnemy; } // Fireball Movement Shoot_move move = shotTransform.gameObject.GetComponent <Shoot_move>(); if (!move) { move.direction = this.transform.right; } else { // Change the facing and direction of fireball if (transform.localScale.x < 0) { move.direction.x = -1; move.transform.localScale = new Vector3(-0.5f, move.transform.localScale.y, move.transform.localScale.z); } else { move.direction.x = 1; move.transform.localScale = new Vector3(0.5f, move.transform.localScale.y, move.transform.localScale.z); } } } }