示例#1
0
    protected void targetClosestFleet()
    {
        Vector2[] fleetPositions = GameMenager.getAllFleetsLocations();

        int   closestFleetIndex    = -1;
        float closestFleedDistance = float.MaxValue;

        for (int i = 0; i < fleetPositions.Length; i++)
        {
            float disctanceBetweenFleets = Vector2.Distance(transform.position, fleetPositions[i]);
            //secont argument prevents targeting itself
            if (disctanceBetweenFleets < closestFleedDistance && disctanceBetweenFleets > 0.001)
            {
                closestFleetIndex    = i;
                closestFleedDistance = disctanceBetweenFleets;
            }
        }

        targetedFleet = GameMenager.getFleetWithIndex(closestFleetIndex);
        calculateTimeBetweenNextTargetChange();
        timePassedSinceLastTargetChange = 0f;
        randomizeRotatingDirection();
    }