Ejemplo n.º 1
0
    //function to find the closest pick up target
    //GameObject GetClosestPickUp (List<GameObject> PickUps)
    GameObject TargetClosestPickUp()
    {
        GameObject bestTarget         = null;
        float      closestDistanceSqr = Mathf.Infinity;
        Vector3    currentPosition    = transform.position;

        //foreach (GameObject potentialTargetObj in PickUps)
        foreach (KeyValuePair <GameObject, GameObject> potentialTargetObj in PickUpHandler.openPickUpDictionary[allegiance])
        {
            if (potentialTargetObj.Value == null)
            //if (!potentialTargetObj.gameObject.GetComponent<PickUp>().IsCollected())
            {
                //GameObject potentialTarget = potentialTargetObj.Key;
                Vector3 directionToTarget = potentialTargetObj.Key.transform.position - currentPosition;
                //directionToTarget.Normalize();
                float dSqrToTarget = directionToTarget.sqrMagnitude;
                if (dSqrToTarget < closestDistanceSqr)
                {
                    closestDistanceSqr = dSqrToTarget;
                    //bestTarget = potentialTarget;
                    bestTarget = potentialTargetObj.Key;
                }
            }
        }
        if (bestTarget != null)
        {
            PickUpHandler.TargetPickUp(bestTarget, this.gameObject, allegiance);
        }
        aimTarget = bestTarget;
        return(bestTarget);
    }
Ejemplo n.º 2
0
 public void PickUpIsRemovedFromOpenList()
 {
     //Arrange
     PickUpHandler.AddToOpenPickUp(pickUp);
     //Act
     PickUpHandler.TargetPickUp(pickUp, worker, GameResources.Allegiance.Team1);
     //Assert
     Assert.False(PickUpHandler.openPickUpDictionary[GameResources.Allegiance.Team1][pickUp] == null);
 }