public void ForceDeallocate() { var A = 0; for (A = 0; A <= NodeCount - 1; A++) { Nodes[A].ForceDeallocate(); } Nodes = null; Connections = null; Network = null; ParentLayer = null; }
public PathfinderNode(PathfinderNetwork ParentNetwork) { var tmpLayer = default(PathfinderLayer); if (ParentNetwork.NodeLayerCount == 0) { tmpLayer = new PathfinderLayer(ParentNetwork); } else { tmpLayer = ParentNetwork.NodeLayers[0]; } Layer = tmpLayer; tmpLayer.Node_Add(this); }
public void Resize(PathfinderNetwork NetworkForSize) { var NewSize = 0; if (NetworkForSize.NodeLayerCount > 0) { NewSize = NetworkForSize.NodeLayers[0].NodeCount; } else { NewSize = 0; } if (Size < NewSize) { var Num = 0; Size = (NewSize * SizeEnlargementRatio).ToInt(); Num = Size - 1; Nodes_Booleans = new bool[Num + 1]; Nodes_ValuesA = new float[Num + 1]; Nodes_ValuesB = new float[Num + 1]; Nodes_Booleans = new bool[Num + 1]; Nodes_Path.Nodes = new PathfinderNode[Num + 1]; Nodes_Nodes = new PathfinderNode[Num + 1]; } else { if (Size > NewSize * SizeReductionRatio) { var Num = 0; Size = (NewSize * SizeEnlargementRatio).ToInt(); Num = Size - 1; Nodes_Booleans = new bool[Num + 1]; Nodes_ValuesA = new float[Num + 1]; Nodes_ValuesB = new float[Num + 1]; Nodes_Booleans = new bool[Num + 1]; Nodes_Path.Nodes = new PathfinderNode[Num + 1]; Nodes_Nodes = new PathfinderNode[Num + 1]; } } }
public PathfinderLayer(PathfinderNetwork NewParentNetwork) { Network = NewParentNetwork; Network.NodeLayer_Add(this); }