private void OnTriggerEnter2D(Collider2D other)
    {
        //Debug.Log(other.gameObject.name);
        if (other.gameObject.layer == LayerMask.NameToLayer("ProjWithGround") && other.gameObject.tag == "Enemy")
        {
            // Hit by enemy
            EnemyBaseClass  enemy   = other.gameObject.GetComponentInParent <EnemyBaseClass>();
            EnemyAttackType enemyat = enemy.GetCurrentAttackType();
            switch (enemyat)
            {
            case EnemyAttackType.DRAGONSTALET: TakeDamage(enemy.damage); break;

            case EnemyAttackType.BLOODYSHINGLER_NORMAL: TakeDamage(enemy.damage); break;

            case EnemyAttackType.BLOODYSHINGLER_DASH: TakeDamage(enemy.GetComponent <PT2Script>().dartDamage); break;

            case EnemyAttackType.APES_NORMAL: TakeDamage(enemy.damage); break;

            case EnemyAttackType.APES_DASH: TakeDamage(enemy.GetComponent <AWScript>().Dash); break;

            case EnemyAttackType.APES_ATTACK: TakeDamage(enemy.GetComponent <AWScript>().Attack); break;

            case EnemyAttackType.APES_ROCK: TakeDamage(enemy.GetComponent <AWScript>().Rock); break;

            case EnemyAttackType.APES_SHAKE: TakeDamage(enemy.GetComponent <AWScript>().Shake); break;
            }
        }
    }
Exemple #2
0
 public void ResetEnemyWeapon()
 {
     enemyRangeWeapon.SetCurrentRangeWeapon(WeaponPowerupController.GameWeapons.None);
     enemyMeleeWeapon.SetCurrentMeleeWeapon(WeaponPowerupController.GameWeapons.Punch);
     typeOfAttack            = EnemyAttackType.Melee;
     _currentBehaviourTypeAI = EnemyAIMovementBehaviourType.SeekPlayerMeele;
 }
Exemple #3
0
 public void InitAttackInfo(EnemyAttackType type, GameObject bulletPref, int fireN)
 {
     attackType = type;
     bullet     = bulletPref;
     fireDelay  = enemyScript.attackDelay;
     fireNum    = fireN;
     enemyScript.fireBullets = enemyScript.FireBullets(fireNum);
 }
Exemple #4
0
    /// <summary>
    /// 攻撃アニメーションの開始
    /// </summary>
    /// <param name="attackType">攻撃の種類</param>
    public void StartAttackAnimation(EnemyAttackType attackType)
    {
        Assert.IsTrue(EnemyAttackTypeDictionary.dictionary.ContainsKey(attackType), attackType + "が定義されていません");
        //パラメータ名を取得
        string parameterName = EnemyAttackTypeDictionary.dictionary[attackType];

        Assert.IsTrue(Array.Exists(animator.parameters, param => param.name == parameterName), parameterName + "が存在しません");
        animator.SetTrigger(parameterName);
    }
Exemple #5
0
 public override int GetPower(EnemyAttackType type)
 {
     if (type == EnemyAttackType.Kiriage)
     {
         return(_kiriagePower);
     }
     else
     {
         return(_nagiharaiPower);
     }
 }
Exemple #6
0
 public override int GetPower(EnemyAttackType type)
 {
     if (type == EnemyAttackType.KioniHurioroshi)
     {
         return(_kioniHurioroshiPower);
     }
     else
     {
         return(_hurioroshiPower);
     }
 }
Exemple #7
0
 public override int GetPower(EnemyAttackType type)
 {
     if (type == EnemyAttackType.SwingDown)
     {
         return(_hurioroshiPower);
     }
     else
     {
         return(_nagiharaiPower);
     }
 }
Exemple #8
0
 public override int GetPower(EnemyAttackType type)
 {
     if (type == EnemyAttackType.SetunaCombo)
     {
         return(_comboPower);
     }
     else if (type == EnemyAttackType.SetsunaNagiharai)
     {
         return(_nagiharaiPower);
     }
     else
     {
         return(_thunderPower);
     }
 }
Exemple #9
0
 public override int GetPower(EnemyAttackType type)
 {
     return(hurioroshiPower);
 }
Exemple #10
0
 public abstract int GetPower(EnemyAttackType type);