void Update() { //Health if (curHealth <= 0) { transform.position = new Vector3(-7, -2, -4); curHealth = maxHealth; score.MinusScoreDeath(); } // Walk if (Input.GetKey("d")) { transform.position += Vector3.right * speed * Time.deltaTime; attackPos = attackPosR; } if (Input.GetKey("a")) { transform.position += Vector3.left * speed * Time.deltaTime; attackPos = attackPosL; } //Jump if (Input.GetKey("w") && Mathf.Abs(_rigidbody.velocity.y) < 0.001f) { _rigidbody.AddForce(new Vector2(0, JumpForce), ForceMode2D.Impulse); } //Attack if (timeBtwAttack <= 0) { if (Input.GetKey(KeyCode.Space)) { Collider2D[] enemiesToDamage = Physics2D.OverlapCircleAll(attackPos.position, attackRange, whatIsEnemies); for (int i = 0; i < enemiesToDamage.Length; i++) { SlimeEnemyMovement Senemy = enemiesToDamage[i].GetComponent <SlimeEnemyMovement>(); if (Senemy != null) { Senemy.TakeDamage(damage); } EnemyShooting Eenemy = enemiesToDamage[i].GetComponent <EnemyShooting>(); if (Eenemy != null) { Eenemy.TakeDamage(damage); } ShootingBoss Benemy = enemiesToDamage[i].GetComponent <ShootingBoss>(); if (Benemy != null) { Benemy.TakeDamage(damage); } } } timeBtwAttack = startTimeBtwAttack; } else { timeBtwAttack -= Time.deltaTime; } }
void Shoot() { Debug.Log("Shoot"); shootTimer -= Time.deltaTime; /* if (enemyUnit != null) * { * laserShotLine.SetPosition(0, laserShotLine.transform.position); * laserShotLine.SetPosition(1, enemyUnit.transform.position + Vector3.up); * laserShotLine.enabled = true; * } */ if (friendlyQueue.Count > 0) { var dir = enemyUnit.transform.position - transform.position; // dir.y = 0; var rotation = Quaternion.LookRotation(dir); transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * 2); Rigidbody instantiatedProjectile = Instantiate(projectile, bulletSpawnPoint.transform.position, transform.rotation) as Rigidbody; instantiatedProjectile.velocity = transform.TransformDirection(Vector3.forward * 100); } /* if (enemyUnit != null) * { * transform.LookAt(enemyUnit.transform); * GameObject go = (GameObject)Instantiate(bullet, bulletSpawnPoint.position, Quaternion.identity); * go.GetComponent<Rigidbody>().AddForce(bulletSpawnPoint.forward * 5000); * } */ enemyProp.TakeDamage(10); if (enemyProp.health < 0) { enemyProp.destroyed = true; friendlyQueue.Dequeue(); if (friendlyQueue.Count > 0) { enemyUnit = friendlyQueue.Peek(); enemyProp = enemyUnit.GetComponent <EnemyShooting>(); } } }