void OnAttack(Transform enemy) { // Point gameManager.stagePoint += 100; // Reaction Force rigid.AddForce(Vector2.up * 10, ForceMode2D.Impulse); // Enemy Die EnemyMove enemyMove = enemy.GetComponent <EnemyMove>(); if (enemyMove != null) { enemyMove.OnDamaged(); } FlyEnemy flyEnemy = enemy.GetComponent <FlyEnemy>(); if (flyEnemy != null) { flyEnemy.OnDamaged(); } PopEnemy popEnemy = enemy.GetComponent <PopEnemy>(); if (popEnemy != null) { popEnemy.OnDamaged(); } // Sound PlaySound("ATTACK"); audioSource.Play(); }
// Update is called once per frame void Update() { if (timeBtwAttack <= 0) { if (Input.GetButtonDown("Attack")) { animator.SetBool("Sword", true); audioSource.PlayOneShot(collisionSoundClip); StartCoroutine(attacking()); Collider2D[] enemiesToDamage = Physics2D.OverlapCircleAll(attackPos.position, attackRange, WhatIsEnemies); for (int i = 0; i < enemiesToDamage.Length; i++) { WallEnemyAI e = enemiesToDamage[i].GetComponent <WallEnemyAI>(); NEnemy e2 = enemiesToDamage[i].GetComponent <NEnemy>(); FlyEnemy e3 = enemiesToDamage[i].GetComponent <FlyEnemy>(); Enemy_Boss eb = enemiesToDamage[i].GetComponent <Enemy_Boss>(); if (e) { CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f); e.TakeDamage(damage); } if (e2) { CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f); e2.TakeDamage(damage); } if (e3) { CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f); e3.TakeDamage(damage); } if (eb) { CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f); eb.TakeDamage(damage); } } timeBtwAttack = startTimeBtwAttack; } } else { timeBtwAttack -= Time.deltaTime; } }
private void OnTriggerEnter2D(Collider2D hitinfo) { Enemy enemy = hitinfo.GetComponent <Enemy>(); if (enemy != null) { enemy.TakeDamage(damage); } Destroy(gameObject); FlyEnemy flyEnemy = hitinfo.GetComponent <FlyEnemy>(); if (flyEnemy != null) { flyEnemy.TakeDamage(damage); } }
private void OnTriggerEnter2D(Collider2D other) { GameObject boss = GameObject.Find("Boss"); GameObject boss2 = GameObject.Find("Boss2"); if (boss || boss2) { if (other.gameObject.tag == "Player") { CharacterHealth player = other.GetComponent <CharacterHealth>(); if (player) { CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f); player.TakeDamage(1, transform.position); DestroyProjectile(); } } } if (other.gameObject.tag == "Enemy") { CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f); WallEnemyAI e = other.GetComponent <WallEnemyAI>(); NEnemy e2 = other.GetComponent <NEnemy>(); FlyEnemy e3 = other.GetComponent <FlyEnemy>(); if (e) { CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f); e.TakeDamage(1); } if (e2) { CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f); e2.TakeDamage(1); } if (e3) { CameraShaker.Instance.ShakeOnce(1f, 4f, 0.1f, 0.1f); e3.TakeDamage(1); } } if (other.gameObject.tag != "Player" && other.gameObject.tag != "Boss") { DestroyProjectile(); } }
// Use this for initialization void Start() { enemy = new FlyEnemy(WaveSpawner.EnemyStartLevel); }