Not a member of Pastebin yet?
                        Sign Up,
                        it unlocks many cool features!                    
                - private void DetectEnemy(float waitTime)
 - {
 - var enemyInRange = Physics.OverlapSphere(transform.position, _detectRadius, _enemyLayerMask);
 - if (enemyInRange.Length == 0)
 - {
 - return;
 - }
 - closestEnemy = FindClosestEnemy(transform.position, enemyInRange);
 - for (int i = 0; i < _activeWeaponList.Count; i++)
 - {
 - if (_activeWeaponList[i] != null)
 - {
 - var closestEnemyCollider = FindClosestEnemy(_activeWeaponList[i].transform.position, enemyInRange);
 - if (closestEnemyCollider.GetComponent<Enemy>())
 - {
 - if (!closestEnemyCollider.GetComponent<Enemy>().enemyIsDead)
 - {
 - _activeWeaponList[i].SetInfoFromAttackController(closestEnemyCollider.transform);
 - }
 - else
 - {
 - _activeWeaponList[i].SetInfoFromAttackController(null);
 - }
 - }
 - }
 - }
 - }
 - private Collider FindClosestEnemy(Vector3 playerPosition, Collider[] enemies)
 - {
 - Collider closestEnemyCollider = null;
 - float closestDistance = Mathf.Infinity;
 - foreach (Collider enemy in enemies)
 - {
 - float distance = Vector3.Distance(playerPosition, enemy.transform.position);
 - if (distance < closestDistance)
 - {
 - closestEnemyCollider = enemy;
 - closestDistance = distance;
 - }
 - }
 - return closestEnemyCollider;
 - }
 
Advertisement
 
                    Add Comment                
                
                        Please, Sign In to add comment