void Shoot() { //aim Vector3 rayDirection = cameraController.transform.forward; //feedback muzzleFlash.Play(); AudioHelper.PlayClip2D(fireSound, 1f); //debug ray Debug.DrawRay(rayOrigin.position, rayDirection * shootDistance, Color.cyan, 1f); //raycast check if (Physics.Raycast(rayOrigin.position, rayDirection, out objectHit, shootDistance, hitLayers)) { UnityEngine.Debug.Log(objectHit.transform.name); ImpactFlash(); //apply damage if object is enemy if (objectHit.transform.tag == "Enemy") { EnemyShooter enemyShooter = objectHit.transform.GetComponent <EnemyShooter>(); if (enemyShooter != null) { enemyShooter.TakeDamage(primaryWeaponDamage); } } } else { UnityEngine.Debug.Log("miss"); } }
// fire the weapon using a raycast void Shoot() { // calculate direction to shoot the ray Vector3 rayDirection = cameraController.transform.forward; // cast a debug ray Debug.DrawRay(rayOrigin.position, rayDirection * shootDistance, Color.cyan, 1f); // do the raycast if (Physics.Raycast(rayOrigin.position, rayDirection, out objectHit, shootDistance, hitLayers)) { // Hit thing DoStuff() code Debug.Log("You HIT the " + objectHit.transform.name); if (objectHit.transform.tag == "Enemy") { Debug.Log("DEAL DAMAGE"); // Visual Feedback visualFeedbackObject.transform.position = objectHit.point; // Apply damage if it's enemy EnemyShooter enemyShooter = objectHit.transform.gameObject.GetComponent <EnemyShooter>(); if (enemyShooter != null) { enemyShooter.TakeDamage(weaponDamage); } } } else { Debug.Log("Miss."); } }
//fire the weapon using a raycast void Shoot() { //calculate direction to shoot Vector3 rayDirection = cameraController.transform.forward; //cast a debug ray UnityEngine.Debug.DrawRay(rayOrigin.position, rayDirection * shootDistance, Color.blue, 1f); //do the raycast if (Physics.Raycast(rayOrigin.position, rayDirection, out objectHit, shootDistance)) { //do stuff when hitting an object UnityEngine.Debug.Log("You hit the " + objectHit.transform.name + "!"); //visual feedback visualFeedbackObject.transform.position = objectHit.point; //apply damage to enemy EnemyShooter enemyShooter = objectHit.transform.gameObject.GetComponent <EnemyShooter>(); if (enemyShooter != null) { enemyShooter.TakeDamage(weaponDamage); enemyShooter.TakeKnockback(weaponKnockback); } } else { //do stuff when missing objects UnityEngine.Debug.Log("Miss"); } }
public void RespawnEnemy(EnemyShooter enemy) { CheckNewEnemiesBorning(); if (currentWaveValue > 0) { StartCoroutine(RebornShooterEnemies(enemy)); } }
private void releaseCrate(EnemyShooter destroyed) { var crate = Instantiate <GameObject>(CratePrefab[Random.Range(0, CratePrefab.Length)]); crate.transform.position = destroyed.transform.position; crate.GetComponent <Rigidbody2D>().velocity = new Vector2(0, CrateDropVelocity); ++CratesReleasedInCurrentWave; }
private void RandomizeBonusDrop(EnemyShooter destroyed) { int potentialCrates = UEnemyDestroyedListener.NumberOfActiveEnemies; int cratesToRelease = MinCratesPerWave - CratesReleasedInCurrentWave; if (cratesToRelease == potentialCrates || shouldDropCrateByLuck()) { releaseCrate(destroyed); } }
private void Awake() { _enemyMover = new EnemyMover(GetComponent <Rigidbody>(), transform); if (isShotable == false) { return; } _enemyShooter = GetComponent <EnemyShooter>(); }
IEnumerator RebornShooterEnemies(EnemyShooter enemy) { yield return(new WaitForSeconds(timeToRessurectionSpecialEnemy)); int spawnIndex = Random.Range(0, rangedSpawnPoints.Count); enemy.transform.position = rangedSpawnPoints[spawnIndex].transform.position; enemy.transform.rotation = rangedSpawnPoints[spawnIndex].transform.rotation; enemy.Reborn(); }
private void Awake() { _shooter = GetComponent <EnemyShooter>(); _mover = GetComponent <EnemyMover>(); _jumper = GetComponent <EnemyJumper>(); _enemyAnimator = GetComponent <EnemyAnimator>(); _health = GetComponent <Health>(); _collider = GetComponent <BoxCollider>(); _enemyHolder = FindObjectOfType <EnemyHolder>(); _characterAudio = GetComponent <CharacterAudio>(); }
float lastShotTime = -1f; // Last Time when Shot void Awake() { player = GameObject.FindGameObjectWithTag("Player"); shooter = GetComponent <EnemyShooter>(); // Ignore Player Collision Physics2D.IgnoreLayerCollision( LayerMask.NameToLayer("Character"), LayerMask.NameToLayer("Enemy") ); }
public static int totalEnemies; //reset during game over // Use this for initialization void Start() { Mover = GetComponentInParent <EnemyMover>(); AI = GetComponentInParent <FSM>(); Shooter = GetComponentInParent <EnemyShooter>(); CurrentTurn = FindObjectOfType <Turn>(); //meshes firingMesh.SetActive(false); meleeMesh.SetActive(false); acting = false; }
public void EnemyDestroyed(EnemyShooter enemy) { var addedScore = Instantiate(TempScorePrefab); addedScore.transform.position = enemy.transform.position; var movingScore = addedScore.GetComponentInChildren <MovingScore>(); movingScore.TotalScore = ScorePresenter; movingScore.UpdateScore(enemy.ScoreValue); movingScore.Scorer = this; movingScore.Canvas = addedScore; }
public static void ReportEnemyDestroyed(EnemyShooter destroyed) { if (OnBeforeEnemyDestroyed != null) { OnBeforeEnemyDestroyed(destroyed); } Interlocked.Decrement(ref numberOfActiveEnemies); if (OnNumberOfActiveEnemiesChanged != null) { OnNumberOfActiveEnemiesChanged(); } }
void HitObject() { Vector3 rayDirection = cameraController.transform.forward; Debug.DrawRay(rayOrigin.position, rayDirection * shootDistance, Color.red, 0.5f); if (Physics.Raycast(rayOrigin.position, rayDirection, out objectHit, shootDistance, hitLayers)) { EnemyShooter enemyShooter = objectHit.transform.GetComponent <EnemyShooter>(); if (enemyShooter != null) { enemyShooter.TakeDamage(punchDamage); } } }
//on trigger enter void OnTriggerEnter() { positionHolder = this.gameObject.transform.position; AudioHelper.PlayClip2D(explosionSound, 1f); GameObject explosionInstance = Instantiate(explosion, positionHolder, Quaternion.identity); Destroy(explosionInstance, 3.5f); Collider[] hitColliders = Physics.OverlapSphere(positionHolder, hitRadius, hitLayers); foreach (var hitCollider in hitColliders) { EnemyShooter shooter = hitCollider.gameObject.GetComponent <EnemyShooter>(); if (shooter != null) { shooter.TakeDamage(grenadeDamage); } } //do visuals and sound //destroy Destroy(this.gameObject, 4f); }
//Shoot gun using raycast void Shoot() { //calc direction to shoot Vector3 rayDirection = cameraController.transform.forward; //cast debug ray Debug.DrawRay(rayOrigin.position, rayDirection * shootDistance, Color.blue, 1f); //do raycast if (Physics.Raycast(rayOrigin.position, rayDirection, out objectHit, shootDistance, hitLayers) && (PlayerHealth.health > 0)) { Debug.Log("You Hit the " + objectHit.transform.name); if (objectHit.transform.tag == "Enemy") { Debug.Log("deal damage"); //visual feedback visualFeedbackObject.transform.position = objectHit.point; //apply damage if enemy EnemyShooter enemyShooter = objectHit.transform.gameObject.GetComponent <EnemyShooter>(); if (enemyShooter != null) { enemyShooter.TakeDamage(weaponDamage); _enemyHit.Play(); Debug.Log("Hit enemy"); } } if (objectHit.transform.tag == "Wall") { _hitWall.Play(); Debug.Log("Hit wall"); } //check health, kill enemy } else { Debug.Log("Miss"); } }
private SplineWalker InitSpawned() { // micro optimization var thisWalker = GetComponent<SplineWalker>(); // Instantiating EnemyShooter obj = Instantiate(childPrefab); obj.GetComponent<EnemyShooter>().SetConfig(spawner); // setting common variables obj.transform.position = transform.position; var spawnedWalker = obj.GetComponent<SplineWalker>(); spawnedWalker.duration = thisWalker.duration; spawnedWalker.progress = thisWalker.progress; spawnedWalker.Spline = thisWalker.Spline; UEnemyDestroyedListener.reportNewEnemy(); return spawnedWalker; }
// fire weapon using raycast void Shoot() { Vector3 rayDirection = cameraController.transform.forward; // cast ray Debug.DrawRay(rayOrigin.position, rayDirection * shootDistance, Color.blue, 1f); // do raycast if (Physics.Raycast(rayOrigin.position, rayDirection, out objectHit, shootDistance)) { EnemyShooter enemyShooter = objectHit.transform.gameObject.GetComponent <EnemyShooter>(); if (enemyShooter != null) { Debug.Log("Hit enemy!"); enemyShooter.TakeDamage(weaponDamage); } } else { Debug.Log("Missed!"); } }
public void Init(LevelManager lm) { //enemyStats = GetComponent<EnemyStats>(); //motor = GetComponent<EnemyMotor>(); //enemyStats.Init(levelManager); levelManager = lm; shooter = new EnemyShooter(); enemyStats = new EnemyStats(); enemyStats.Init(enemyType); if (_currentCoroutine != null) { StopCoroutine(_currentCoroutine); _currentCoroutine = null; } _currentCoroutine = StartCoroutine(LoadStats()); StartCoroutine(LoadStats()); }
// Use this for initialization void Start() { myShooter = GetComponent <EnemyShooter>(); }
void ShootLaserFromTargetPositionL(Vector3 targetPosition, Vector3 direction, float length) { Ray ray = new Ray(targetPosition, direction); RaycastHit raycastHit; Vector3 endPosition = targetPosition + (length * direction); if (grabAction1L.GetStateDown(handTypeL)) { Sound.PlayOneShot(soundReload); if (Time.time - aowailop2 >= ti) { if (AmmoL > 0) { float seconds = (float)900 / 9000f; vibra.Execute(0, seconds, 20f / seconds, 20, handTypeL); laserLineRendererL.enabled = true; Sound.PlayOneShot(soundShoot); particleL.Emit(1); if (Physics.Raycast(ray, out raycastHit, length)) { if (raycastHit.transform.tag == "Enemy") { if (raycastHit.transform.name == "head") { EnemyShooter target = raycastHit.transform.GetComponentInChildren <EnemyShooter>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(blood, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(100); print("001"); } } else { EnemyShooter target = raycastHit.transform.GetComponent <EnemyShooter>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(blood, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(ShootDamage); } } } if (raycastHit.transform.name == "Militarytarget") { raycastHit.rigidbody.AddForce(-raycastHit.normal * 50f); } if (raycastHit.transform.tag == "headAi") { if (raycastHit.transform.name == "head") { ScriptSitShoot target = raycastHit.transform.GetComponentInChildren <ScriptSitShoot>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(blood, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(100); print("001"); } } else { ScriptSitShoot target = raycastHit.transform.GetComponent <ScriptSitShoot>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(blood, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(ShootDamage); } } } if (raycastHit.transform.tag == "Bomb") { ScriptBome target = raycastHit.transform.GetComponent <ScriptBome>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(blood, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(ShootDamage); } } if (raycastHit.transform.tag == "Bossfinal") { ScriptHeadShot target = raycastHit.transform.GetComponent <ScriptHeadShot>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(blood, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(10); } } if (raycastHit.transform.tag == "StartGame") { OpenDoor target = raycastHit.transform.GetComponent <OpenDoor>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(particleGun, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(ShootDamage); } } if (raycastHit.transform.tag == "lobot") { EnemyShooter2 target = raycastHit.transform.GetComponent <EnemyShooter2>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(blood, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(ShootDamage); } } if (raycastHit.transform.tag == "newgame") { SceneManager.LoadScene(0); } if (raycastHit.transform.tag == "hp") { reHp target = raycastHit.transform.GetComponent <reHp>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(particleGun, raycastHit.point, rot); Sound.PlayOneShot(soundReHp, 30f); Destroy(particleGun2, 2f); ScriptHPStam.currentHP += 100; target.TakeDamage(500); } } if (raycastHit.transform.tag == "Bullet") { EnemyBullet target = raycastHit.transform.GetComponent <EnemyBullet>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(particleGun, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(ShootDamage); } } if (raycastHit.transform.tag == "StartGame") { Sound.PlayOneShot(soundReHp, 30f); StartCoroutine(stargame()); } AmmoL--; } else { print("Empty"); } endPosition = raycastHit.point; } aowailop2 = Time.time; } laserLineRendererL.SetPosition(0, targetPosition); laserLineRendererL.SetPosition(1, endPosition); } }
// Use this for initialization void Start() { myShooter = GetComponent <EnemyShooter>(); startX = transform.position.x; }
public void replaceSceneObject(Area area, float areasLength, int areasX, bool oposite = false) { print(area.name + " AREA"); borderTransforms = new List <Transform> (); this.area = area; GameObject[] gos = area.getSceneObjects(); bool nubesOn = false; foreach (GameObject go in gos) { SceneObject sceneObject = null; Vector3 pos = go.transform.position; pos.z += areasLength; pos.x += areasX; if (oposite) { pos.z *= -1; } // if (!nubesOn) // { // nubesOn = true; // addDecoration("Nubes_real", pos, new Vector3(0, Random.Range(0,2), 5)); // } switch (go.name) { case "extralargeBlock1": case "flyer": case "largeBlock1": case "mediumBlock1": case "smallBlock1": case "extraSmallBlock1": case "Coin": case "bloodx1": //case "Yuyo": case "enemyFrontal": case "enemyWater": case "enemySide": case "enemyBack": case "castle": case "SideMountain": case "bonusEntrance": case "Cascade": case "firewall": case "Baranda1": case "Tumba": case "enemyNaveSimple": if (go.name == "smallBlock1" || go.name == "extraSmallBlock1") { sceneObject = Pool.GetObjectForType(go.name + "_real", true); } else { sceneObject = Pool.GetObjectForType(go.name + "_real", false); } if (sceneObject) { sceneObject.isActive = false; sceneObject.Restart(pos); sceneObject.transform.rotation = go.transform.rotation; //if (go.name == "Yuyo") // sceneObject.SetMaterialByVideoGame (); //sceneObject.changeMaterial("pasto"); if (go.name == "extralargeBlock1") { //GameObject goNew = new GameObject (); //goNew.transform.position = pos; //goNew.transform.rotation = go.transform.rotation; //borderTransforms.Add (goNew.transform); // int num = Random.Range(1, 4); // string decorationName = ""; // if (num == 1) // decorationName = "flores1_real"; // if (num == 2) // decorationName = "flores2_real"; // else if (num == 3) // decorationName = "floorFlowers_real"; // // if (decorationName != "") // addDecoration(decorationName, pos, Vector3.zero); } // } if (go.GetComponent <DecorationManager>()) { addDecoration("Baranda1_real", pos, new Vector3(5.5f, 0, 3)); addDecoration("Baranda1_real", pos, new Vector3(-5.5f, 0, 3)); addDecoration("Baranda1_real", pos, new Vector3(5.5f, 0, -3)); addDecoration("Baranda1_real", pos, new Vector3(-5.5f, 0, -3)); } } else { Debug.LogError("___________NO EXISTIO EL OBJETO: " + go.name); Data.Instance.events.ForceFrameRate(0); } break; } SceneObject clone = null; if (go.name == "FloorSurface") { clone = FloorSurface; } if (go.name == "PisoPinche") { clone = PisoPinche; } else if (go.name == "house1") { clone = house1; } else if (go.name == "house2") { clone = house2; } else if (go.name == "house3") { clone = house3; } else if (go.name == "house4") { clone = house4; } else if (go.name == "rampa") { clone = rampa; } else if (go.name == "rampaHuge") { clone = rampaHuge; } else if (go.name == "wallBig") { // addDecorationWithRotation("Graffiti_Real", pos, go.transform.localEulerAngles); clone = wallBig; } else if (go.name == "wallMedium") { clone = wallMedium; } else if (go.name == "wallSmall") { clone = wallSmall; } else if (go.name == "wallSuperSmall") { clone = wallSuperSmall; } else if (go.name == "jumper") { clone = jumper; } else if (go.name == "Lava") { clone = Lava; } else if (go.name == "Water") { clone = Water; } else if (go.name == "Boss1") { clone = Boss1; } else if (go.name == "Boss2") { clone = Boss2; } else if (go.name == "BossCalecitas1") { clone = BossCalecitas1; } else if (go.name == "BossCreator") { clone = BossCreator; } else if (go.name == "BossSpace1") { clone = BossSpace1; } else if (go.name == "BossPacmans") { clone = BossPacmans; } else if (go.name == "BossGalaga") { clone = BossGalaga; } else if (go.name == "BossPacmansIntro") { clone = BossPacmansIntro; } else if (go.name == "Calecita") { clone = Calecita; } else if (go.name == "Starting") { clone = Starting; } else if (go.name == "bomb1") { clone = bomb1; } else if (go.name == "tunel1") { clone = tunel1; } else if (go.name == "tunel2") { clone = tunel2; } else if (go.name == "cilindro") { clone = cilindro; } else if (go.name == "enemyGhost") { clone = enemyGhost; } else if (go.name == "palmTall") { clone = palm_tall; go.transform.localEulerAngles = new Vector3(0, Random.Range(0, 4) * 90, 0); } else if (go.name == "palm") { int ran = Random.Range(0, 60); if (ran < 20) { clone = palm; } else if (ran < 40) { clone = palm2; } else { clone = palm3; } go.transform.localEulerAngles = new Vector3(0, Random.Range(0, 4) * 90, 0); //} } else if (go.name == "streetFloor") { clone = streetFloor; } else if (go.name == "streetFloorSmall") { clone = streetFloorSmall; } else if (go.name == "levelSignal") { clone = levelSignal; } else if (go.name == "GrabbableJetpack") { clone = GrabbableJetpack; } else if (go.name == "GrabbableInvensible") { clone = GrabbableInvensible; } else if (go.name == "borde1") { clone = borde1; } else if (go.name == "fences") { clone = fences; } else if (go.name == "rainbow") { clone = rainbow; } else if (go.name == "Listener") { clone = Listener; } else if (go.name == "cruz") { clone = cruz; } else if (go.name == "CruzGrande") { clone = CruzGrande; } else if (go.name == "rueda1") { clone = rueda1; } else if (go.name == "helice1") { clone = helice1; } else if (go.name == "helice2") { clone = helice2; } else if (go.name == "subibaja") { clone = subibaja; } else if (go.name == "cepillo") { clone = cepillo; } else if (go.name == "pisoRotatorio") { clone = pisoRotatorio; } else if (go.name == "sombrilla") { clone = sombrilla; } else if (go.name == "GrabbableMissile") { clone = GrabbableMissile; } else if (go.name == "FloorSlider") { clone = FloorSlider; } if (clone) { sceneObject = Instantiate(clone, pos, Quaternion.identity) as SceneObject; sceneObject.transform.parent = Pool.Scene.transform; sceneObject.transform.rotation = go.transform.rotation; if (go.GetComponent <BossSettings>()) { BossSettings mo = go.GetComponent <BossSettings>(); CopyComponent(mo, sceneObject.gameObject); } sceneObject.Restart(pos); } if (go.GetComponent <Move>() && sceneObject.GetComponent <Move>() == null) { Move mo = go.GetComponent <Move>(); CopyComponent(mo, sceneObject.gameObject); } if (go.GetComponent <MoveObject>()) { MoveObject mo = go.GetComponent <MoveObject>(); CopyComponent(mo, sceneObject.gameObject); } if (go.GetComponent <Dropper>()) { Dropper mo = go.GetComponent <Dropper>(); CopyComponent(mo, sceneObject.gameObject); } if (go.GetComponent <EnemyPathRunnerBehavior>()) { EnemyPathRunnerBehavior mo = go.GetComponent <EnemyPathRunnerBehavior>(); CopyComponent(mo, sceneObject.gameObject); } if (go.GetComponent <EnemyShooter>()) { EnemyShooter mo = go.GetComponent <EnemyShooter>(); CopyComponent(mo, sceneObject.gameObject); } if (go.GetComponent <EnemyRunnerBehavior>()) { EnemyRunnerBehavior mo = go.GetComponent <EnemyRunnerBehavior>(); CopyComponent(mo, sceneObject.gameObject); } if (go.GetComponent <Jump>()) { Jump mo = go.GetComponent <Jump>(); CopyComponent(mo, sceneObject.gameObject); } if (go.GetComponent <EnemyPathsMultiples>()) { EnemyPathsMultiples mo = go.GetComponent <EnemyPathsMultiples>(); CopyComponent(mo, sceneObject.gameObject); } if (go.GetComponent <Subibaja>()) { Subibaja mo = go.GetComponent <Subibaja>(); CopyComponent(mo, sceneObject.gameObject); } if (go.GetComponent <ListenerDispatcher>()) { ListenerDispatcher mo = go.GetComponent <ListenerDispatcher>(); CopyComponent(mo, sceneObject.gameObject); } if (go.GetComponent <FlyingBehavior>()) { FlyingBehavior mo = go.GetComponent <FlyingBehavior>(); CopyComponent(mo, sceneObject.gameObject); } if (go.GetComponent <FullRotation>()) { FullRotation mo = go.GetComponent <FullRotation>(); CopyComponent(mo, sceneObject.gameObject); } if (go.GetComponent <Bumper>()) { Bumper mo = go.GetComponent <Bumper>(); CopyComponent(mo, sceneObject.gameObject); } if (go.GetComponent <RandomPosition>()) { RandomPosition mo = go.GetComponent <RandomPosition>(); pos = mo.getPosition(pos); } } //AddBorders (); }
private void Awake() { _enemyShooter = GetComponent <EnemyShooter>(); _enemyMover = GetComponent <EnemyMover>(); _enemyJumper = GetComponent <EnemyJumper>(); }
void Awake() { _enemyShooter = GetComponentInParent <EnemyShooter> (); }
private void Start() { enemyShooter = GetComponent <EnemyShooter>(); enemyBomber = GetComponent <EnemyBomber>(); initHealth = health; }
public void RemoveEnemy(EnemyShooter ent) { toremoveshooter.Add(ent); }
private void Start() { anim = GetComponent <Animator>(); enemy = GetComponentInParent <EnemyShooter>(); }
public void WhoIsTheEnemy(EnemyShooter enemy) { this.enemy = enemy; }