Exemplo n.º 1
0
    public EatableObject findNewTarget(GenericObject other = null)
    {
        List <EatableObject>        objects = GameManager.getCurrentLevel().getObjects();
        IEnumerable <EatableObject> others  = null;

        Graph g = GameManager.getCurrentLevel().getGraphLiveObjects();

        int nO = g.findNearestNode(roomNumber, Camera.main.ScreenToWorldPoint(colony.transform.position));

        if (other)
        {
            others = from o in objects
                     let distance = g.distance(nO, g.findNearestNode(o.getRoom().getNumber(), o.gameObject.transform.position))
                                    where o.getId() != other.getId()
                                    orderby distance
                                    select(EatableObject) o;
        }
        else
        {
            others = from o in objects
                     let distance = g.distance(nO, g.findNearestNode(o.getRoom().getNumber(), o.gameObject.transform.position))
                                    orderby distance
                                    select(EatableObject) o;
        }

        if (others.Count() == 0)
        {
            return(null);
        }
        else
        {
            return(others.First());
        }
    }
Exemplo n.º 2
0
 public void removeObject(GenericObject obj)
 {
     int i = 0;
     for (i = 0; i < objects.Count; i++)
         if (objects[i].getId() == obj.getId())
             break;
     objects.RemoveAt(i);
 }
Exemplo n.º 3
0
 public GenericObject getOtherObject(GenericObject obj)
 {
     IEnumerable<GenericObject> others = from o in objects
                                         let distance = Vector2.Distance(obj.gameObject.transform.position, o.gameObject.transform.position)
                                         where o.getId() != obj.getId()
                                         orderby distance
                                         select (GenericObject)o;
     if (others.Count() == 0)
         return null;
     else
         return others.First();
 }
Exemplo n.º 4
0
    public void removeObject(GenericObject obj)
    {
        int i = 0;

        for (i = 0; i < objects.Count; i++)
        {
            if (objects[i].getId() == obj.getId())
            {
                break;
            }
        }
        objects.RemoveAt(i);
    }
Exemplo n.º 5
0
    public GenericObject getOtherObject(GenericObject obj)
    {
        IEnumerable <GenericObject> others = from o in objects
                                             let distance = Vector2.Distance(obj.gameObject.transform.position, o.gameObject.transform.position)
                                                            where o.getId() != obj.getId()
                                                            orderby distance
                                                            select(GenericObject) o;

        if (others.Count() == 0)
        {
            return(null);
        }
        else
        {
            return(others.First());
        }
    }
Exemplo n.º 6
0
    public EatableObject findNewTarget(GenericObject other = null)
    {
        List<EatableObject> objects = GameManager.getCurrentLevel().getObjects();
        IEnumerable<EatableObject> others = null;

        Graph g = GameManager.getCurrentLevel().getGraphLiveObjects();

        int nO = g.findNearestNode(roomNumber, Camera.main.ScreenToWorldPoint(colony.transform.position));

        if (other)
            others = from o in objects
                     let distance = g.distance(nO, g.findNearestNode(o.getRoom().getNumber(), o.gameObject.transform.position))
                     where o.getId() != other.getId()
                     orderby distance
                     select (EatableObject)o;
        else
            others = from o in objects
                     let distance = g.distance(nO, g.findNearestNode(o.getRoom().getNumber(), o.gameObject.transform.position))
                     orderby distance
                     select (EatableObject)o;

        if (others.Count() == 0)
            return null;
        else
            return others.First();
    }