public static void GenerateNewContracts() { // Debug.Log("To Remove Count: " + contractsToRemove.Count); if (contractsToRemove.Count > 0) { for (int i = contractsToRemove.Count - 1; i >= 0; i--) { if (contractsToRemove[i] <= availableContracts.Count - 1) { // Debug.Log("Remove Index: " + contractsToRemove[i] + " | Loop Index: " + i); availableContracts.RemoveAt(contractsToRemove[i]); } } contractsToRemove.Clear(); } totalNumberToDisplay = PlayerRooms.GetKitchenRoomValue(); freeContractSpaces = totalNumberToDisplay - availableContracts.Count; for (int j = 0; j < freeContractSpaces; j++) { int difficulty = GenerateDifficulty(); LumberContract toAdd = new LumberContract(difficulty); // Debug.Log("C" + j + ": " + toAdd.GetDifficulty().difficulty + ", " + toAdd.GetDifficulty().GetQualityGradeInt()); availableContracts.Add(toAdd); } if (SceneManager.GetActiveScene().name.Equals("MainCabin")) { AvailableContractsReference.PopulateCanvasObjcets(); } }
public void PopulateCanvasObjcets() { totalNumberToDisplay = PlayerRooms.GetKitchenRoomValue(); for (int i = 0; i < contractsContent.childCount; i++) { contractsContent.GetChild(i).gameObject.SetActive(i < totalNumberToDisplay); } //This shows newest contracts last. consider starting at end of list and going backward to show newest first // Debug.Log("Available Count: " + availableContracts.Count); // Debug.Log("Available Total Display: " + totalNumberToDisplay); for (int j = 0; j < totalNumberToDisplay; j++) { // Debug.Log("Available Populate Index: " + j); contractsContent.GetChild(j).GetChild(0).GetComponent <Text>().text = availableContracts[j].GetCompletionDeadline().ToString(); contractsContent.GetChild(j).GetChild(1).GetComponent <Text>().text = "Quality Grade: " + availableContracts[j].GetRequiredLumber().GetTreeGrade(); contractsContent.GetChild(j).GetChild(2).GetComponent <Text>().text = availableContracts[j].GetRequiredLumber().StringWithoutQuality(); contractsContent.GetChild(j).GetChild(3).GetComponent <Text>().text = availableContracts[j].GetPayout().ToString(); contractsContent.GetChild(j).GetChild(6).GetComponent <Button>().interactable = (availableContracts[j].GetStatus() == ContractStatus.AVAILABLE); contractsContent.GetChild(j).GetChild(7).GetComponent <Button>().interactable = (availableContracts[j].GetStatus() == ContractStatus.AVAILABLE); } }