void OnEnemyDeath(Unit unit) { var enemy = unit as Enemy; EnemyKilled?.Invoke(enemy); RemoveEnemy(enemy); }
public void Die() { PlayDeathSound(); switch (enemy.enemyData.enemyType) { case "Imp": EnemyKilled?.Invoke(enemy.Element, 1); break; case "Gargoyle": EnemyKilled?.Invoke(enemy.Element, 3); break; case "Berserker": EnemyKilled?.Invoke(enemy.Element, 5); break; case "Ethereal": EnemyKilled?.Invoke(enemy.Element, 10); EtherealKilled?.Invoke(enemy.Element); break; } Destroy(gameObject); }
public void AddDeathEvent(GameObject character, GameObject damager) { eventCount++; if (LayerMask.LayerToName(damager.layer) == "Player") { EnemyKilled newEvent = new EnemyKilled(damager.transform.position, eventCount, character.name); killedList.Add(newEvent); Debug.Log(newEvent.GetJson()); } else if (LayerMask.LayerToName(damager.layer) == "Enemy" || LayerMask.LayerToName(damager.layer) == "Collider") { string enemy = damager.transform.parent?.gameObject.name; if (damager.GetComponent <Spit>() != null) { enemy = "Spitter"; } PlayerDeath newEvent = new PlayerDeath(character.transform.position, eventCount, enemy); deathList.Add(newEvent); Debug.Log(newEvent.GetJson()); } else if (LayerMask.LayerToName(damager.layer) == "Environment") { PlayerDeath newEvent = new PlayerDeath(character.transform.position, eventCount, damager.name); deathList.Add(newEvent); Debug.Log(newEvent.GetJson()); } }
private void DestroyEnemy(GameObject enemy) { DestroyImmediate(enemy); if (EnemyKilled != null) { EnemyKilled.Invoke(); } }
private bool OnEnemyKilled(EnemyKilled signal) { var totalScoreIncrement = signal.HeroesInCaravan.Sum(heroEntity => heroEntity.EntityData.HealthPoint); _currentScore += totalScoreIncrement; AnimateEnter(); return(true); }
private void onEnemyKilled(ICollidable i_Collidable) { if (EnemyKilled != null) { EnemyHitEventArgs enemyHitEventArgs = new EnemyHitEventArgs(i_Collidable); EnemyKilled.Invoke(this, enemyHitEventArgs); } }
private void EnemyKilledMessageReceived(EnemyKilled enemyKilled) { Debug.Log($"Enemy {enemyKilled.enemyId} killed by {enemyKilled.id}"); pendingActions.Enqueue(() => { enemyManager.KillEnemy(enemyKilled.enemyId); }); }
/// <summary> /// Deals damage to the enemy. If the health reaches 0, the enemy invoke the killed event and disable itself. /// </summary> /// <returns>The remaining health of the enemy.</returns> public float DealDamage(float damage) { m_Health -= damage; if (m_Health < 0) { EnemyKilled?.Invoke(false, 0); gameObject.SetActive(false); return(0); } return(m_Health); }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.TryGetComponent(out EnemyMover enemyMover)) { enemyMover.gameObject.SetActive(false); EnemyKilled?.Invoke(); } if (collision.TryGetComponent(out Booster booster)) { _playerMover.StartBoosting(booster.BonusSpeed, booster.Duration); booster.gameObject.SetActive(false); } }
private void PlayerAttack(int index) { enemyHealthBars[index].Progress -= (int)(AccountManager.CurrentUser.Attack / (float)enemy.Health * 100); Animation?.Invoke(EAnimationTarget.Player, index); if (enemyHealthBars[index].Progress <= 0) { KillEnemy(index); EnemyKilled?.Invoke(index); } if (EnemiesAreDead) { BattleEnd?.Invoke(BattleCore.EBattleEndType.Won); } }
/// <summary> /// Once there is no more tiles to travel to in the path the enemy invoke the killed event and disable itself. /// </summary> private void ReachEnd() { int damageToDealEnemy = 0; switch (m_Type) { case UnitType.Standard: damageToDealEnemy = m_StandardUnitDamage; break; case UnitType.Big: damageToDealEnemy = m_LargeUnitDamage; break; } if (EnemyKilled != null) { EnemyKilled.Invoke(false, damageToDealEnemy); } gameObject.SetActive(false); }
private void OnEnemyKilled() { EnemyKilled?.Invoke(); }
void OnEnemyKilled (EnemyKilled e) { characterSpeech.Speak (EnemyKilledSpeech [Random.Range (0, EnemyKilledSpeech.Length)]); }
void OnEnemyKilled(Enemy enemy) { EnemyKilled?.Invoke(enemy); }
private void OnCollisionEnter2D(Collision2D other) { EnemyKilled?.Invoke(10); Destroy(other.gameObject); Destroy(gameObject); }