public GameObject CreateMinion(Vector3 spawnPosition, string enemyTag, int enemyLayer, Vector3 enemyScale, float colliderRadius, int animationNumber, bool enemyCounter, EnemyType enemyType, int[] enemyItem, int enemyNumber, float enemyHP, int enemyPatternNumber, int enemyCounterPatternNumber, float enemyAttackWaitTime, float enemyAttackDelayTime, bool isPatternOnce, bool isPatternRepeat, int enemyFireCount, float enemyAttackRepeatTime, int enemyCustomPatternNumber = 0, bool isAutoDestroy = false, float waitTime = 0.0f) { GameObject enemy = enemyPool.GetChild(0).gameObject; enemy.SetActive(true); enemy.transform.position = spawnPosition; enemy.gameObject.tag = enemyTag; enemy.gameObject.layer = enemyLayer; enemy.transform.SetParent(enemyParent); enemy.transform.localScale = enemyScale; CircleCollider2D circleCollider2D = enemy.GetComponent <CircleCollider2D>(); circleCollider2D.enabled = true; circleCollider2D.radius = colliderRadius; Animator animator = enemy.GetComponent <Animator>(); animator.runtimeAnimatorController = characterAnimatorController[animationNumber]; EnemyStatus enemyStatus = enemy.GetComponent <EnemyStatus>(); enemyStatus.SetCounter(enemyCounter); enemyStatus.SetEnemyType(enemyType); enemyStatus.SetEnemyItem(enemyItem); if (enemyType.Equals(EnemyType.ENEMYTYPE_BOSS)) { enemyStatus.SetEnemyNumber(0); enemyStatus.SetEnemyBossNumber(enemyNumber); } else if (enemyType.Equals(EnemyType.ENEMYTYPE_NONE)) { enemyStatus.SetEnemyNumber(0); enemyStatus.SetEnemyBossNumber(0); } else { enemyStatus.SetEnemyNumber(enemyNumber); enemyStatus.SetEnemyBossNumber(0); } enemyStatus.SetEnemyMaxHP(enemyHP); enemyStatus.SetEnemyCurrentHP(enemyStatus.GetEnemyMaxHP()); EnemyFire enemyFire = enemy.GetComponent <EnemyFire>(); enemyFire.SetEnemyPatternNumber(enemyPatternNumber); enemyFire.SetEnemyCounterPatternNumber(enemyCounterPatternNumber); enemyFire.SetEnemyAttackWaitTime(enemyAttackWaitTime); enemyFire.SetEnemyAttackDelayTime(enemyAttackDelayTime); enemyFire.SetEnemyPatternOnce(isPatternOnce); enemyFire.SetEnemyPatternRepeat(isPatternRepeat); enemyFire.SetEnemyFireCount(enemyFireCount); enemyFire.SetEnemyAttackRepeatTime(enemyAttackRepeatTime); enemyFire.SetEnemyCustomPatternNumber(enemyCustomPatternNumber); EnemyDestroy enemyDestroy = enemy.GetComponent <EnemyDestroy>(); if (isAutoDestroy.Equals(true)) { StartCoroutine(enemyDestroy.EnemyAutoDestroy(waitTime)); } return(enemy); }
private void OnEnemyDestroyed(EnemyDestroy evt) { }