private void Enemy_OnKilled(IEnemy obj)
 {
     OnEnemyDone();
     obj.OnKilled -= Enemy_OnKilled;
     Timeline.Rewarder.OnKill(obj);
     OnEnemyKilled?.Invoke(this, obj);
 }
Esempio n. 2
0
        public void OnDeadAI(AIController deadAI)
        {
            OnEnemyKilled.Invoke(this, EventArgs.Empty);

            activeChildAI.Remove(deadAI);
            deadAI.transform.SetParent(aiLevelContainerManager.deadAiGroup);
        }
Esempio n. 3
0
 private void Die()
 {
     OnEnemyKilled?.Invoke(this, new OnEnemyKilledEventArgs()
     {
     });
     onetime = false;
     healthBarCanvas.SetActive(false);
 }
Esempio n. 4
0
 public static void EnemyKilled()
 {
     enemyLeft--;
     OnEnemyKilled?.Invoke(enemyLeft);
     if (enemyLeft <= 0)
     {
         OnAllEnemiesDead?.Invoke();
     }
 }
Esempio n. 5
0
    public void TakeDamage(int damage)
    {
        _currentHealth -= damage;
        _hurtThisBeat   = true;

        OnEnemyDamaged?.Invoke(damage);
        if (_currentHealth <= 0)
        {
            _currentHealth = 0;
            OnEnemyKilled?.Invoke();
            GameMaster.Find <GameMaster>().TransitionTo(GameState.WaveEnded);
        }
        //TODO raise eventy
    }
Esempio n. 6
0
    private void Update()
    {
        if (hp == 0)
        {
            miniBulletPool.SpawnObject(transform.position, transform.rotation);
            miniBulletPool.SpawnObject(transform.position, transform.rotation);
            miniBulletPool.SpawnObject(transform.position, transform.rotation);
            miniBulletPool.SpawnObject(transform.position, transform.rotation);

            HpReset();
            //spawn minibullets

            //trigger event
            OnEnemyKilled?.Invoke(this, EventArgs.Empty);
        }
    }
    private void IsKilled()
    {
        if (HP <= 0 && !isDead)
        {
            isDead = true;

            // publish event
            OnEnemyKilled?.Invoke();

            this.gameObject.SetActive(false);
            int tempIndex = EnemyLockOnList.FindIndex(a => this == a);
            if (tempIndex != -1)
            {
                EnemyLockOnList.Remove(this);
            }
            else
            {
                return;
            }
        }
    }
Esempio n. 8
0
    private void HandleAttack()
    {
        if (Input.GetMouseButtonDown(0))
        {
            // Attack
            SetStateAttacking();

            Vector3 attackDir = (GetMouseWorldPosition() - GetPosition()).normalized;

            EnemyHandler enemyHandler = EnemyHandler.GetClosestEnemy(GetPosition() + attackDir * 4f, 20f);
            if (enemyHandler != null)
            {
                //enemyHandler.Damage(this);
                if (enemyHandler.IsDead())
                {
                    OnEnemyKilled?.Invoke(this, EventArgs.Empty);
                }
                attackDir          = (enemyHandler.GetPosition() - GetPosition()).normalized;
                transform.position = enemyHandler.GetPosition() + attackDir * -12f;
            }
            else
            {
                transform.position = transform.position + attackDir * 4f;
            }

            Transform swordSlashTransform = Instantiate(GameAssets.i.pfSwordSlash, GetPosition() + attackDir * 13f, Quaternion.Euler(0, 0, GetAngleFromVector(attackDir)));
            swordSlashTransform.GetComponent <SpriteAnimator>().onLoop = () => Destroy(swordSlashTransform.gameObject);

            UnitAnimType activeAnimType = characterBase.GetUnitAnimation().GetActiveAnimType();
            if (activeAnimType == GameAssets.UnitAnimTypeEnum.dSwordTwoHandedBack_Sword)
            {
                swordSlashTransform.localScale = new Vector3(swordSlashTransform.localScale.x, swordSlashTransform.localScale.y * -1, swordSlashTransform.localScale.z);
                characterBase.GetUnitAnimation().PlayAnimForced(GameAssets.UnitAnimTypeEnum.dSwordTwoHandedBack_Sword2, attackDir, 1f, (UnitAnim unitAnim) => SetStateNormal(), null, null);
            }
            else
            {
                characterBase.GetUnitAnimation().PlayAnimForced(GameAssets.UnitAnimTypeEnum.dSwordTwoHandedBack_Sword, attackDir, 1f, (UnitAnim unitAnim) => SetStateNormal(), null, null);
            }
        }
    }
Esempio n. 9
0
        void OnTriggerEnter2D(Collider2D other)
        {
            if (_isRecharging)
            {
                return;
            }
            var enemy = other.gameObject.GetComponent <Enemy>();

            if (enemy)
            {
                if (enemy.TakeDamage(Damage))
                {
                    OnEnemyKilled?.Invoke();
                }
                else
                {
                    Vector2 curPos = KnockbackOrigin.position;
                    enemy.Knockback((other.ClosestPoint(curPos) - curPos).normalized, KnockbackForce);
                }
                _isRecharging  = true;
                _rechargeTimer = RechargeTime;
            }
        }
Esempio n. 10
0
 void SetEnemyCount(int count)
 {
     enemyLeft = count;
     OnEnemyKilled?.Invoke(enemyLeft);
 }
 private void Start()
 {
     OnEnemyKilledCallback += Filler;
 }
Esempio n. 12
0
 public void WasKilled()
 {
     mSpawnedAliveEnemyCount--;
     OnEnemyKilled?.Invoke(mSpawnedAliveEnemyCount == 0);
 }
Esempio n. 13
0
 public static void EnemyKilled(string data) => OnEnemyKilled?.Invoke(data);
Esempio n. 14
0
 private void EnemyKilled(WaveHandler handler, IEnemy obj) => OnEnemyKilled?.Invoke(obj);
Esempio n. 15
0
 public void On(OnEnemyKilled message)
 {
     globalState.profiles[PlayerProfile.Killer] += onEnemyKilledBonus;
 }
Esempio n. 16
0
 public void EnemyKilled(Enemy enemy)
 {
     OnEnemyKilled?.Invoke(this, new EnemyKilledEventArgs(enemy));
 }
Esempio n. 17
0
 public override void Die(Quaternion rotation)
 {
     floatingText.CreateFloatingText(Instantiate(corpse, transform.position, rotation).transform);
     OnEnemyKilled?.Invoke();
     Destroy(gameObject);
 }
 public static void NotifyEnemyKilled()
 {
     EnemiesKilledCount++;
     OnEnemyKilled?.Invoke(EnemiesKilledCount);
 }
Esempio n. 19
0
 public override void UnitDied()
 {
     base.UnitDied();
     OnEnemyKilled?.Invoke();
 }
Esempio n. 20
0
 public static void EnemyKilled(KillGoal goal, Enemy enemy)
 {
     OnEnemyKilled?.Invoke(goal, enemy);
 }
Esempio n. 21
0
 public static void RaiseEnemyKilled(IEnemy enemy, Vector3 position) => OnEnemyKilled?.Invoke(enemy, position);