コード例 #1
0
        void OnEnemyDeath(Unit unit)
        {
            var enemy = unit as Enemy;

            EnemyKilled?.Invoke(enemy);
            RemoveEnemy(enemy);
        }
コード例 #2
0
ファイル: Enemy.cs プロジェクト: Maualvm/magic-souls
    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);
    }
コード例 #3
0
ファイル: PlayerMovement.cs プロジェクト: Powertr1p/SHK-Unity
 private void DestroyEnemy(GameObject enemy)
 {
     DestroyImmediate(enemy);
     if (EnemyKilled != null)
     {
         EnemyKilled.Invoke();
     }
 }
コード例 #4
0
 private void onEnemyKilled(ICollidable i_Collidable)
 {
     if (EnemyKilled != null)
     {
         EnemyHitEventArgs enemyHitEventArgs = new EnemyHitEventArgs(i_Collidable);
         EnemyKilled.Invoke(this, enemyHitEventArgs);
     }
 }
コード例 #5
0
 public void Kill(float waitTime)
 {
     // We don't care about other animations, so kill them
     if (animationCR != null)
     {
         StopCoroutine(animationCR);
     }
     Activate(false);
     animationCR = StartCoroutine(AnimatorWaiter(waitTime, "die", true));
     animator.SetBool("dead", true);
     enemyKilledEvent.Invoke(this);
 }
コード例 #6
0
ファイル: Enemy.cs プロジェクト: SamGustafsson/TowerDefence
    /// <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);
    }
コード例 #7
0
    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);
        }
    }
コード例 #8
0
ファイル: BattleHandler.cs プロジェクト: kraxarn/CubeQuest
        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);
            }
        }
コード例 #9
0
ファイル: Enemy.cs プロジェクト: SamGustafsson/TowerDefence
    /// <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);
    }
コード例 #10
0
 private void OnEnemyKilled()
 {
     EnemyKilled?.Invoke();
 }
コード例 #11
0
 private void PublishEnemyKilledEvent()
 {
     EnemyKilledEvent?.Invoke(this);
 }
コード例 #12
0
 void OnEnemyKilled(Enemy enemy)
 {
     EnemyKilled?.Invoke(enemy);
 }
コード例 #13
0
ファイル: Enemy.cs プロジェクト: andrius-kor/starbuster
 internal void PublishEnemyKilledEvent()
 {
     EnemyKilledEvent?.Invoke(this);
 }
コード例 #14
0
 private void OnCollisionEnter2D(Collision2D other)
 {
     EnemyKilled?.Invoke(10);
     Destroy(other.gameObject);
     Destroy(gameObject);
 }
コード例 #15
0
ファイル: Enemy.cs プロジェクト: Noitha/AR_Shooter
 public void Kill()
 {
     OnEnemyKilled.Invoke(this);
 }