Esempio n. 1
0
    private bool CanGetPowerUp(out Transform targetToFollow)
    {
        if (slot1 != null && slot2 != null)
        {
            targetToFollow = null;
            return(false);
        }

        List <PowerUpBox> powerUpBoxesWithinDistance = allPowerUpBoxes.Where(powerUp => {
            return(Vector3.Distance(transform.position, powerUp.transform.position) < m_distanceToCheckForPowerUps && !powerUp.IsDisabled);
        }).ToList();

        if (powerUpBoxesWithinDistance.Count == 0)
        {
            targetToFollow = null;
            return(false);
        }

        PowerUpBox closestBox = powerUpBoxesWithinDistance[0];

        for (int i = 1; i < powerUpBoxesWithinDistance.Count; i++)
        {
            if (Vector3.Distance(transform.position, closestBox.transform.position) > Vector3.Distance(transform.position, powerUpBoxesWithinDistance[i].transform.position))
            {
                closestBox = powerUpBoxesWithinDistance[i];
            }
        }

        targetToFollow = closestBox.transform;
        return(true);
    }
Esempio n. 2
0
    private void GrabbingPowerUpState()
    {
        PowerUpBox boxBeingGrabbed = target.GetComponent <PowerUpBox>();

        Transform newTarget;

        if (CanGetCrown(out newTarget))
        {
            target = newTarget;
            ChangeState(EAIState.GRABBING_CROWN);
            RunPathCalculation();
            return;
        }
        else if (m_isBully && CanAttackOtherCompetitor(out newTarget) && HasSpentEnoughTimeOnCurrentState())
        {
            target = newTarget;
            ChangeState(EAIState.ATTACKING_PLAYER);
            return;
        }

        // Performing this check because the box can be disabled
        // maybe someone else grabbed the box while I was on my way to it :(
        // maybe ME got the box :)
        if (boxBeingGrabbed == null || boxBeingGrabbed.IsDisabled || (slot1 != null && slot2 != null))
        {
            target = null;
            ChangeState(EAIState.FINDING_OBJECTIVE);
            return;
        }

        MoveTowardsCorner();
    }
 void Update()
 {
     box = transform.GetComponent <PowerUpBox>();
     if (Input.GetKeyDown(KeyCode.Alpha1))
     {
         box.itemNumber = 1;
     }
     else if (Input.GetKeyDown(KeyCode.Alpha2))
     {
         box.itemNumber = 2;
     }
     else if (Input.GetKeyDown(KeyCode.Alpha3))
     {
         box.itemNumber = 3;
     }
     else if (Input.GetKeyDown(KeyCode.Alpha4))
     {
         box.itemNumber = 4;
     }
     else if (Input.GetKeyDown(KeyCode.Alpha5))
     {
         box.itemNumber = 5;
     }
     else if (Input.GetKeyDown(KeyCode.Alpha6))
     {
         box.itemNumber = 6;
     }
     else if (Input.GetKeyDown(KeyCode.Alpha7))
     {
         box.itemNumber = 7;
     }
     else if (Input.GetKeyDown(KeyCode.Alpha8))
     {
         box.itemNumber = 8;
     }
     else if (Input.GetKeyDown(KeyCode.Alpha9))
     {
         box.itemNumber = 9;
     }
     else if (Input.GetKeyDown(KeyCode.Alpha0))
     {
         box.itemNumber = 10;
     }
     else if (Input.GetKeyDown(KeyCode.Escape))
     {
         box.itemNumber = 0;
     }
 }