// Creates buttons for event display private void CreateButtons(EventDisplayData displayData) { // Destroy previous buttons //DestroyButtons(); // If there are buttons to create if (displayData.btnFunctions_.Length > 0) { // Loop for each button to create for (int i = 0; i < displayData.btnFunctions_.Length; i++) { /* * // Create new button * GameObject newButton = (GameObject)Instantiate(prefabButton); * * // Get button's transform componenet * RectTransform btnTransform = newButton.GetComponent<RectTransform>(); * * // Setup button's transform position/size/anchor/etc... * btnTransform.SetParent(GetComponent<RectTransform>(), false); * btnTransform.localScale = new Vector3(1, 1, 1); * btnTransform.sizeDelta = new Vector2(btnSizeX / displayData.btnFunctions_.Length, btnSizeY); * btnTransform.anchorMax = new Vector2(0, 1); * btnTransform.anchorMin = new Vector2(0, 1); * btnTransform.pivot = new Vector2(0, 1); * btnTransform.anchoredPosition = new Vector3(btnPosX + i * btnTransform.sizeDelta.x, btnPosY, 0); */ // Set button text if (i < 2) { if (i < displayData.btnText_.Length) { buttons_[i].GetComponentInChildren <Text>().text = displayData.btnText_[i]; } else { buttons_[i].GetComponentInChildren <Text>().text = "option " + (i + 1); } // Create method for button OnClick from function pointer in display data buttons_[i].GetComponent <Button>().onClick.RemoveAllListeners(); int tempInt = i; ButtonDel tempButtonDel = displayData.btnFunctions_[i]; buttons_[i].GetComponent <Button>().onClick.AddListener(() => tempButtonDel(tempInt)); // Add new button to button list //buttons_.Add(newButton.GetComponent<Button>()); } } } }
public void Display(EventDisplayData displayData, Timer newTimer) { // Set all display elements with data from event nameText_.text = displayData.name_; descriptionText_.text = displayData.description_; artworkImage_.texture = displayData.artwork_; switch (displayData.type_) { case DECISIONTYPE.DIPLOMACY: decisionTypeLogo_.texture = diplomacyLogo_; break; case DECISIONTYPE.DOMESTIC: decisionTypeLogo_.texture = domesticLogo_; break; case DECISIONTYPE.RELIGION: decisionTypeLogo_.texture = religionLogo_; break; case DECISIONTYPE.WAR: decisionTypeLogo_.texture = warLogo_; break; default: decisionTypeLogo_.texture = null; break; } //decisionTypeLogo_.texture = displayData.decisionLogo_; // Create the buttons CreateButtons(displayData); displayTimer_ = newTimer; displayTimer_.Pause(); StartCoroutine(DisplayStart()); }