Esempio n. 1
0
    private bool FindNearestRefinery()
    {
        ResetNearestVars();

        RefineryGatheringPoint[] refineryGatheringPoints = FindObjectsOfType <RefineryGatheringPoint>();
        if (refineryGatheringPoints != null && refineryGatheringPoints.Length > 0)
        {
            foreach (RefineryGatheringPoint refineryGatheringPoint in refineryGatheringPoints.OrderBy(x => Vector3.Distance(transform.position, x.transform.position)))
            {
                if (refineryGatheringPoint.IsAvailable())
                {
                    refineryGatheringPoint.Occupy();
                    nearestRefineryGetheringPoint             = refineryGatheringPoint;
                    GetComponent <NavMeshAgent>().destination = nearestRefineryGetheringPoint.transform.position;
                    return(true);
                }
            }

            return(false);
        }
        else
        {
            return(false);
        }
    }
Esempio n. 2
0
 private void ResetNearestVars()
 {
     nearestResourceNode           = null;
     nearestResourceNodeGameobject = null;
     nearestRefineryGetheringPoint = null;
 }