private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.tag == "Enemy") { EnemyWalker walker = collision.gameObject.GetComponent <EnemyWalker>(); if (walker) { walker.IsDead(); } Destroy(gameObject); } if (collision.gameObject.tag == "Enemy") { EnemyTurret turret = collision.gameObject.GetComponent <EnemyTurret>(); if (turret) { turret.IsDead(); } Destroy(gameObject); } if (collision.gameObject.tag != "Player" && collision.gameObject.tag != "Pickup") { Destroy(gameObject); } }
private Rectangle GetEnemyWalkerAnimation(EnemyWalker enemy) { if (enemy == null) { return(new Rectangle()); } var res = new Rectangle(new Point(23 * 16 + enemy.CurrentFrame * 16, 11 * 16), new Size(16, 16)); ChangeEnemyAnimation(enemy); return(res); }
private void SpawnEnemies() { _chanceToSpawnEnemy += _difficulty; var randomX = Randomizer.Random(CurrentLevel.Width); var randomY = Randomizer.Random(CurrentLevel.Height); if (CurrentLevel[randomX, randomY].EntityEnumType != GameEntitiesEnum.EmptySpace || _chanceToSpawnEnemy < Randomizer.Random(100)) { return; } var chanceToSpawn = Randomizer.Random(101); if (CurrentLevel._chanceToSpawnSmartDevil > chanceToSpawn) { CurrentLevel[randomX, randomY] = new SmartDevil(randomX, randomY, () => CurrentLevel, () => Player.PositionX, () => Player.PositionY, SubstractPlayerHp, () => Player, _playSound); _chanceToSpawnEnemy = 0; } else if (CurrentLevel._chanceToSpawnSmartSkeleton > chanceToSpawn) { CurrentLevel[randomX, randomY] = new SmartSkeleton(randomX, randomY, () => CurrentLevel, () => Player.PositionX, () => Player.PositionY, SubstractPlayerHp, () => Player, _playSound); _chanceToSpawnEnemy = 0; } else if (CurrentLevel._chanceToSpawnSmartPeaceful > chanceToSpawn) { CurrentLevel[randomX, randomY] = new SmartPeaceful(randomX, randomY, () => CurrentLevel, () => Player.PositionX, () => Player.PositionY, SubstractPlayerHp, () => Player, _playSound); _chanceToSpawnEnemy = 0; } else if (CurrentLevel._chanceToSpawnSmartDigger > chanceToSpawn) { CurrentLevel[randomX, randomY] = new EnemyDigger(randomX, randomY, () => CurrentLevel, () => Player.PositionX, () => Player.PositionY, SubstractPlayerHp); _chanceToSpawnEnemy = 0; } else { CurrentLevel[randomX, randomY] = new EnemyWalker(randomX, randomY, () => CurrentLevel, () => Player.PositionX, () => Player.PositionY, SubstractPlayerHp); _chanceToSpawnEnemy = 0; } }
void OnTriggerEnter2D(Collider2D hitInfo) { Debug.Log(hitInfo.name); EnemyWalker enemy = hitInfo.GetComponent <EnemyWalker> (); if (enemy != null) { enemy.TakeDamage(damage); Vector2 m_NewForce = new Vector2(rb.velocity.x / 4f, 1.2f); enemy.GetComponent <Rigidbody2D> ().AddForce(m_NewForce, ForceMode2D.Impulse); } Instantiate(impactEffect, transform.position, Quaternion.identity); Destroy(gameObject); }
void Behave() { EnemyWalker script = GetComponent <EnemyWalker>(); script.enabled = true; }