Esempio n. 1
0
 private bool AddNeighbor(Node newNeighbor, bool addCannotVisit, float dist = 1f)
 {
     if (addCannotVisit)
     {
         return(AddNeighbor(newNeighbor, dist));
     }
     if (!CanBeNeighbor(newNeighbor))
     {
         return(false);
     }
     if (dist != 1f)
     {
         MyLib.ExpandArray(ref _neighbors, new NeighborAndDistance(newNeighbor, dist));
         Graph.CostedConnections = true;
     }
     else
     {
         MyLib.ExpandArray(ref _neighbors, new NeighborAndDistance(newNeighbor, 1f));
     }
     MyLib.ArrayRemoveOne(ref _cannotVisitNeighbors, newNeighbor);
     return(true);
 }
Esempio n. 2
0
 public bool AddNeighbor(Node newNeighbor, float dist = 1f)
 {
     if (!CanBeNeighbor(newNeighbor))
     {
         return(false);
     }
     if (dist != 1f)
     {
         MyLib.ExpandArray(ref _neighbors, new NeighborAndDistance(newNeighbor, dist));
         Graph.CostedConnections = true;
     }
     else
     {
         MyLib.ExpandArray(ref _neighbors, new NeighborAndDistance(newNeighbor, 1f));
     }
     MyLib.ArrayRemoveOne(ref _cannotVisitNeighbors, newNeighbor);
     if (!newNeighbor.IsNeighboringTo(this))
     {
         MyLib.ExpandArray(ref newNeighbor._cannotVisitNeighbors, this);
     }
     return(true);
 }
 public void AddMobs(params BaseCharacterControl[] newMobs)
 {
     MyLib.ExpandArray(ref _mobs, newMobs);
 }