private void ShowDialogus(Dialog dialog, Action <DialogOption> done) { showing = true; dialogText.text = dialog.dialogText; List <GameObject> dialogButtons = new List <GameObject>(); foreach (Transform child in dialogButtonContainer.transform) { dialogButtons.Add(child.gameObject); } dialogButtons.ForEach(child => Destroy(child)); dialog.dialogOptions.ForEach(option => { GameObject dialogButton = Instantiate(dialogButtonPrefab) as GameObject; Text buttonText = dialogButton.GetComponentInChildren <Text>(); buttonText.text = option.optionText; dialogButton.GetComponent <Button>().onClick.AddListener(() => { dialogContainer.SetActive(false); done(option); showing = false; resolveWaitingDialogs(); }); dialogButton.transform.parent = dialogButtonContainer.transform; TooltipOnPointerOverScript tooltipScript = dialogButton.GetComponent <TooltipOnPointerOverScript>(); if (option.tooltipText != null) { tooltipScript.tooltipText = option.tooltipText; } else { Destroy(tooltipScript); } }); // Doesn't update parents instantly (content fitter doesn't notice), so wait a moment before showing StartCoroutine(activateDialog()); }
void Start() { pointsAvailableText = GetComponentInChildren <Text>(); sliders = new Dictionary <StatusType, Slider>(); tooltipScripts = new Dictionary <StatusType, TooltipOnPointerOverScript>(); addButtons = new List <Button>(); sliders.Add(StatusType.Rage, rageSlider); sliders.Add(StatusType.Food, foodSlider); TooltipOnPointerOverScript rageTooltipScript = rageSlider.GetComponentInChildren <TooltipOnPointerOverScript>(); tooltipScripts.Add(StatusType.Rage, rageTooltipScript); TooltipOnPointerOverScript foodTooltipScript = foodSlider.GetComponentInChildren <TooltipOnPointerOverScript>(); tooltipScripts.Add(StatusType.Food, foodTooltipScript); gainText.color = new Color(0, 0, 0, 0); StatusType[] types = Enum.GetValues(typeof(StatusType)) as StatusType[]; foreach (StatusType type in types) { if (type.IsAPlayerAttribute()) { GameObject sliderContainer = Instantiate(sliderContainerPrefab) as GameObject; sliderContainer.transform.SetParent(slidersContainer.transform, false); Slider slider = sliderContainer.GetComponentInChildren <Slider>(); sliders.Add(type, slider); Button addButton = sliderContainer.GetComponentInChildren <Button>(); addButtons.Add(addButton); TooltipOnPointerOverScript tooltipScript = sliderContainer.GetComponentInChildren <TooltipOnPointerOverScript>(); tooltipScripts.Add(type, tooltipScript); StatusType saveType = type; addButton.onClick.AddListener(() => addSkill(saveType)); sliderContainer.GetComponentInChildren <Text>().text = type.ToNiceString(); } } ToggleSkillUi(); gameStateUpdated(); GameStateManagerScript.Instance.OnGameStateUpdate.AddListener(gameStateUpdated); }
void Awake() { scripta = GetComponent <TooltipOnPointerOverScript>(); updateTooltip(); }
void Awake() { scripta = GetComponent<TooltipOnPointerOverScript>(); updateTooltip(); }