Пример #1
0
    public FactionHolder GetClosestOpposingFactionObj(FactionHolder go)
    {
        Vector3       pos         = go.gameObject.transform.position;
        float         minDistance = float.MaxValue;
        FactionHolder closest     = null;

        foreach (FactionType enemy in go.GetOpposingFactions())
        {
            if (!allFactionedObjects.ContainsKey(enemy))
            {
                continue;
            }
            foreach (FactionHolder fh in allFactionedObjects[enemy])
            {
                float d = Vector3.Distance(pos, fh.gameObject.transform.position);
                if (d < minDistance)
                {
                    minDistance = d;
                    closest     = fh;
                }
            }
        }
        if (go.Faction == FactionType.ALLIES)
        {
            //Debug.Log("New Closest: " + pos + " : " + closest.transform.position + " d: " + d + " o: " + fh.gameObject);
        }
        return(closest);
    }