Exemple #1
0
    private Pathfinding.ObjectPathData ChooseNextObject(UIGrid room)
    {
        List <Pathfinding.ObjectPathData> nearObjects = room.GetAllPathesFrom(m_CurrentPos);

        Pathfinding.ObjectPathData nextObj = null;

        foreach (Pathfinding.ObjectPathData obj in nearObjects)
        {
            if (!m_ItemVisited.Contains(obj.path[obj.path.Count - 1]))
            {
                // Si on a pas d'objet ou si on a trouvé une porte et que le nouvel objet n'est pas une porte
                if (nextObj == null ||
                    (nextObj.objectFound == UIItem.eType.Door &&
                     obj.objectFound != UIItem.eType.Door))
                {
                    nextObj = obj;
                }

                if (nextObj.objectFound != UIItem.eType.Door)
                {
                    break;
                }
            }
        }

        return(nextObj);
    }