public void Fire(Vector3 aimDirection, EnemyS enemyReference) { _rigidbody = GetComponent <Rigidbody>(); _myRenderer = GetComponentInChildren <SpriteRenderer>(); _myEnemy = enemyReference; FaceDirection((aimDirection).normalized); Vector3 shootForce = transform.right * shotSpeed * Time.deltaTime; _rigidbody.AddForce(shootForce, ForceMode.Impulse); Vector3 knockbackForce = -(aimDirection).normalized * shotSpeed * selfKnockbackMult * Time.deltaTime; if (stopEnemy) { _myEnemy.myRigidbody.velocity = Vector3.zero; } _myEnemy.AttackKnockback(knockbackForce); DoShake(); }
public void SetEnemy(EnemyS enemy) { myEnemy = enemy; foreach(EnemyBehaviorS behavior in behaviorSet){ behavior.SetEnemy(enemy); behavior.SetState(this); } }
public void SetEnemy(EnemyS enemy) { myEnemy = enemy; foreach (EnemyBehaviorS behavior in behaviorSet) { behavior.SetEnemy(enemy); behavior.SetState(this); } }
public void EraseCurEnemies() { EnemyS[] enemies = new EnemyS[100]; enemies = FindObjectsOfType <EnemyS>(); for (int i = 0; i < enemies.Length; i++) { if (enemies != null) { enemies[i].Erase(); } } }
void OnTriggerExit(Collider other) { if (other.gameObject.tag == "Enemy") { EnemyS otherEnemy = other.gameObject.GetComponent <EnemyS>(); if (!otherEnemy.isDead) { enemiesInRange.Remove(otherEnemy); } } }
void Punsh() { { if (pt > 1) { if (anim) { foreach (RaycastHit2D col in Physics2D.RaycastAll(transform.position, Vector2.right, range)) { EnemyS e = col.transform.GetComponent <EnemyS>(); if (e) { e.Damaged(damage); } } pt = 0; } } } }
private void SpawnEnemy() { float chanceEnemySpawns = Random.Range(0f, 1f); if (chanceEnemySpawns <= chanceToSpawn){ int enemyToSpawn = Mathf.RoundToInt(Random.Range(0, enemyPool.Length)); GameObject newEnemy = Instantiate(enemyPool[enemyToSpawn], transform.position, Quaternion.identity) as GameObject; currentEnemyReference = newEnemy.GetComponent<EnemyS>(); newEnemy.transform.parent = transform; }else{ didNotSpawnEnemy = true; } _enemySpawned = true; }
public void Fire(Vector3 aimDirection, EnemyS enemyReference) { _rigidbody = GetComponent<Rigidbody>(); _myRenderer = GetComponentInChildren<SpriteRenderer>(); _myEnemy = enemyReference; FaceDirection((aimDirection).normalized); Vector3 shootForce = transform.right * shotSpeed * Time.deltaTime; _rigidbody.AddForce(shootForce, ForceMode.Impulse); Vector3 knockbackForce = -(aimDirection).normalized * shotSpeed * selfKnockbackMult *Time.deltaTime; if (stopEnemy){ _myEnemy.myRigidbody.velocity = Vector3.zero; } _myEnemy.AttackKnockback(knockbackForce); DoShake(); }
private void FindClosestEnemy() { _closestEnemy = null; if (enemiesInRange.Count > 0) { Vector2 closestEnemyPosition = Vector2.zero; Vector2 otherEnemyPosition = Vector2.zero; float closestDistance = 0; foreach (EnemyS enemy in enemiesInRange) { if (_closestEnemy == null) { _closestEnemy = enemy; closestEnemyPosition.x = _closestEnemy.transform.position.x; closestEnemyPosition.y = _closestEnemy.transform.position.y; closestDistance = Vector2.Distance(playerPosition2D(), closestEnemyPosition); } else { otherEnemyPosition.x = enemy.transform.position.x; otherEnemyPosition.y = enemy.transform.position.y; float newDistance = Vector2.Distance(playerPosition2D(), otherEnemyPosition); if (newDistance < closestDistance) { _closestEnemy = enemy; closestEnemyPosition.x = _closestEnemy.transform.position.x; closestEnemyPosition.y = _closestEnemy.transform.position.y; closestDistance = Vector2.Distance(playerPosition2D(), closestEnemyPosition); } } } } }
private void SpawnEnemy() { float chanceEnemySpawns = Random.Range(0f, 1f); if (chanceEnemySpawns <= chanceToSpawn) { int enemyToSpawn = Mathf.RoundToInt(Random.Range(0, enemyPool.Length)); GameObject newEnemy = Instantiate(enemyPool[enemyToSpawn], transform.position, Quaternion.identity) as GameObject; currentEnemyReference = newEnemy.GetComponent <EnemyS>(); newEnemy.transform.parent = transform; } else { didNotSpawnEnemy = true; } _enemySpawned = true; }
public virtual void SetEnemy(EnemyS newEnemy) { myEnemy = newEnemy; }
private void Update() { //Spawn Enemies if (Time.timeScale != 0) { if (asteroidTime == 110) { for (int i = 0; i < playerPrefabs.Length; i++) { GameObject asteroid1 = Instantiate(asteroid, new Vector3(Random.Range(-50, 50), Random.Range(47, 49), 0), Quaternion.Euler(0, 0, 0)); GameObject asteroid2 = Instantiate(asteroid, new Vector3(Random.Range(-50, 50), Random.Range(-47, -49), 0), Quaternion.Euler(0, 0, 0)); GameObject asteroid3 = Instantiate(asteroid, new Vector3(Random.Range(-55, -50), Random.Range(-47, 47), 0), Quaternion.Euler(0, 0, 0)); GameObject asteroid4 = Instantiate(asteroid, new Vector3(Random.Range(50, 55), Random.Range(-47, 47), 0), Quaternion.Euler(0, 0, 0)); Color color1 = new Color(255, 238, 2, 1.0f); Color color2 = new Color(255, 226, 3, 1.0f); Color color3 = new Color(203, 131, 7, 1.0f); Color color4 = new Color(217, 224, 21, 1.0f); asteroid1.transform.localScale *= Random.Range(0.1f, 6); SpriteRenderer sr = asteroid1.GetComponentInChildren <SpriteRenderer>(); sr.color = color1; asteroid2.transform.localScale *= Random.Range(0.1f, 6); SpriteRenderer sr2 = asteroid2.GetComponentInChildren <SpriteRenderer>(); sr2.color = color2; asteroid3.transform.localScale *= Random.Range(0.1f, 6); SpriteRenderer sr3 = asteroid3.GetComponentInChildren <SpriteRenderer>(); sr3.color = color3; asteroid4.transform.localScale *= Random.Range(0.1f, 6); SpriteRenderer sr4 = asteroid4.GetComponentInChildren <SpriteRenderer>(); sr4.color = color4; asteroidTime = 0; } } if (time % 340 / Mathf.Round(Time.time / 10) == 0) { for (int i = 0; i < playerPrefabs.Length; i++) { int r = Random.Range(0, 5); if (r == 1) { eL = Instantiate(enemyL, new Vector3(Random.Range(-35, 35), Random.Range(37, 39), 0), Quaternion.Euler(0, 0, 0)).GetComponent <EnemyL>(); } else if (r == 2) { eL = Instantiate(enemyL, new Vector3(Random.Range(-35, 35), Random.Range(-37, 39), 0), Quaternion.Euler(0, 0, 0)).GetComponent <EnemyL>(); } else if (r == 3) { eL = Instantiate(enemyL, new Vector3(Random.Range(35, 37), Random.Range(-37, 37), 0), Quaternion.Euler(0, 0, 0)).GetComponent <EnemyL>(); } else { eL = Instantiate(enemyL, new Vector3(Random.Range(-35, 37), Random.Range(-37, 37), 0), Quaternion.Euler(0, 0, 0)).GetComponent <EnemyL>(); } eL.SetPlayer(players[i]); } } if (time % 510 / Mathf.Round(Time.time / 10) == 0) { for (int i = 0; i < playerPrefabs.Length; i++) { int r = Random.Range(0, 5); if (r == 1) { eS = Instantiate(enemyS, new Vector3(Random.Range(-35, 35), Random.Range(37, 39), 0), Quaternion.Euler(0, 0, 0)).GetComponent <EnemyS>(); } else if (r == 2) { eS = Instantiate(enemyS, new Vector3(Random.Range(-35, 35), Random.Range(-37, 39), 0), Quaternion.Euler(0, 0, 0)).GetComponent <EnemyS>(); } else if (r == 3) { eS = Instantiate(enemyS, new Vector3(Random.Range(35, 37), Random.Range(-37, 37), 0), Quaternion.Euler(0, 0, 0)).GetComponent <EnemyS>(); } else { eS = Instantiate(enemyS, new Vector3(Random.Range(-35, 37), Random.Range(-37, 37), 0), Quaternion.Euler(0, 0, 0)).GetComponent <EnemyS>(); } eS.SetPlayer(players[i]); } } SpawnPlayers(); asteroidTime++; time++; } //GetScore GetMultiplierTime(); GetScore(); GetKillstreak(); SetStreakTime(); SetTimeText(); }