예제 #1
0
    private void ChooseEnemyToAttack()
    {
        if (crabwormGroup.Count <= 0f)
        {
            return;
        }

        isAttacking = true;
        float shortestDist = 0;

        // Choosing closest enemy
        for (int i = 0; i < crabwormGroup.Count; i++)
        {
            float currentDist = Vector3.Distance(crabwormGroup[i].transform.position, pCon.transform.position);

            if (crabwormGroup[i] == crabwormGroup[0] || currentDist < shortestDist)
            {
                shortestDist      = currentDist;
                attackingCrabworm = crabwormGroup[i];
            }
        }

        attackingCrabworm.isUnitPaused = false;
        attackingCrabworm.currentState = Enemy_Base.State.Hunting;

        StartCoroutine(AttackAndCooldown());
    }
예제 #2
0
 private void OnTriggerExit2D(Collider2D collision)
 {
     if (collision.gameObject.GetComponent <CrabwormLarvaController>())
     {
         CrabwormLarvaController crabCon = collision.GetComponent <CrabwormLarvaController>();
         crabwormGroup.Remove(crabCon);
     }
     else if (collision.gameObject.GetComponent <PlayerController>())
     {
         isPlayerInZone = false;
         print("why");
         foreach (CrabwormLarvaController waitingcrabCon in crabwormGroup)
         {
             waitingcrabCon.isUnitPaused = false;
             waitingcrabCon.currentState = Enemy_Base.State.Patrolling;
         }
     }
 }
예제 #3
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        CrabwormLarvaController crabCon = collision.gameObject.GetComponent <CrabwormLarvaController>();

        if (crabCon != null)
        {
            if (!crabwormGroup.Contains(crabCon) && !crabCon.isDead)
            {
                crabwormGroup.Add(crabCon);
            }
        }

        if (collision.gameObject.GetComponent <PlayerController>())
        {
            print("f**k");
            isPlayerInZone = true;
            pCon           = collision.gameObject.GetComponent <PlayerController>();
        }
    }