// Funciton to set up regular & Metric TSP instance void SetTSP(GameManager.TSPInstance currentInstance) { // Display current distance DistanceText = GameObject.Find("DistanceText").GetComponent <Text>(); // Coordinate of the cities cox = currentInstance.coordinatesx; coy = currentInstance.coordinatesy; unitycoord = BoardFunctions.CoordinateConvertor(cox, coy); // Number of objects ncities = currentInstance.ncities; distances = currentInstance.distancematrix; solution = currentInstance.solution; // Store objects in a list items = new Item[ncities]; for (int i = 0; i < ncities; i++) { for (int j = i; j < ncities; j++) { if (distances[i, j] != 0) { DrawSlimLine(i, j, 0.01f); } } } for (int i = 0; i < ncities; i++) { items[i] = GenerateItem(i, unitycoord[i]); } }
// Funciton to set up WCSPP instance void SetWCSPP(GameManager.WCSPPInstance currentInstance) { // Display Max distance Text quest = GameObject.Find("Question").GetComponent <Text>(); quest.text = "Max cost: $" + GameManager.wcsppInstances[currInstance].maxweight; // Display current distance DistanceText = GameObject.Find("DistanceText").GetComponent <Text>(); DistanceText.color = Color.yellow; // Display current weight WeightText = GameObject.Find("WeightText").GetComponent <Text>(); WeightText.color = Color.cyan; // Coordinate of the cities cox = currentInstance.coordinatesx; coy = currentInstance.coordinatesy; unitycoord = BoardFunctions.CoordinateConvertor(cox, coy); // Number of objects ncities = currentInstance.ncities; distances = currentInstance.distancematrix; weights = currentInstance.weightmatrix; solution = currentInstance.solution; // Store objects in a list items = new Item[ncities]; for (int i = 0; i < ncities; i++) { for (int j = i; j < ncities; j++) { if (distances[i, j] != 0) { DrawSlimLine(i, j, 0.01f); } } } for (int i = 0; i < ncities; i++) { items[i] = GenerateItem(i, unitycoord[i]); } }