private string FormatStatsText(CharacterCardData cardData) { StringBuilder newText = new StringBuilder("Paranoia: ", 50); newText.Append(paranoia); newText.Append("\n/"); newText.Append(cardData.paranoiaLimit); newText.Append("\nGoodwill: "); newText.Append(goodwill); newText.Append("\n"); bool firstGW = true; foreach (int gwTrigger in cardData.goodWillAbilityLevels) { if (firstGW) { firstGW = false; } else { newText.Append(" "); } newText.Append("/"); newText.Append(gwTrigger); } return(newText.ToString()); }
// TODO: pooling here too. In practice, creation should be rare so it's probably ok with Instantiate() private void CreateCharacterCard(CharacterCardData cardData) { GameObject newCardGO = GameObject.Instantiate(cardTemplate, cardCanvas.transform); var newCard = newCardGO.GetComponent <CharacterCardLogic>(); newCard.cardData = cardData; newCardGO.GetComponent <UIRightClickMenu>().MenuToLoad = cardRightClickMenu; newCardGO.SetActive(true); }
private void GenerateCharacterButton(CharacterCardData cardData) { GameObject newButtonGO = Instantiate(buttonTemplate) as GameObject; Button newButton = newButtonGO.GetComponent <Button>(); newButton.GetComponentInChildren <Text>().text = cardData.characterName; // newButton.onClick.AddListener(() => Debug.Log("Clicked " + cardData.characterName)); newButton.onClick.AddListener(() => { CreateCharacterCard(cardData); gameObject.SetActive(false); }); newButtonGO.transform.SetParent(contentList.transform, false); newButtonGO.SetActive(true); }