private void Init() { m_titleText = transform.Find("Header").Find("Title").GetComponent <TextMeshProUGUI>(); m_bodyText = transform.Find("Body").GetComponent <TextMeshProUGUI>(); m_choiceTemplate = transform.Find("Dialog Choice").gameObject; m_panelTransform = GetComponent <RectTransform>(); m_headerTransform = m_titleText.transform.parent.GetComponent <RectTransform>(); m_follower = GetComponent <UIWorldSpaceFollower>(); m_spawnedChoices = new List <GameObject>(); }
void Awake() { m_startTime = Time.time * 1000; m_follower = GetComponent <UIWorldSpaceFollower>(); m_text = GetComponent <Text>(); if (m_follower) { m_follower.m_freezePosition = m_follower.m_parent.position; } }
private void LoadHealthBar() { GameObject healthBar = Instantiate(m_healthBarTemplate, m_healthBarTemplate.transform.parent); UIWorldSpaceFollower follow = healthBar.GetComponent <UIWorldSpaceFollower>(); m_healthBarSlider = healthBar.GetComponent <Slider>(); follow.m_offset = m_healthBarOffset; follow.m_parent = transform; healthBar.SetActive(true); UpdateHealthBar(); }
// display color is transparent if no specified color public static void GenerateFeedback(Transform p_origin, GameObject p_template, DamageType p_type, int p_amount, Color p_defaultColor, Color p_displayColor, float p_offsetX, float p_offsetY) { GameObject feedback = Object.Instantiate(p_template, p_template.transform.parent); TextMeshProUGUI feedbackText = feedback.GetComponent <TextMeshProUGUI>(); Image damageTypeIcon = feedback.GetComponentInChildren <Image>(); UIWorldSpaceFollower follow = feedback.GetComponent <UIWorldSpaceFollower>(); Color feedbackColor = p_defaultColor; if (p_displayColor == Constants.TRANSPARENT) // transparent means nothing specified { if (p_defaultColor == Constants.TRANSPARENT) { feedbackColor = p_amount > 0 ? Constants.GREEN : Constants.RED; } } else { feedbackColor = p_displayColor; } if (p_type.m_icon) { damageTypeIcon.sprite = p_type.m_icon; } else { damageTypeIcon.enabled = false; } feedbackText.text = p_amount > 0 ? p_amount.ToString() : Mathf.Abs(p_amount).ToString(); feedbackText.color = feedbackColor; follow.m_parent = p_origin; follow.m_offset += new Vector3(Random.Range(-p_offsetX / 2, p_offsetX / 2), Random.Range(-p_offsetY / 2, p_offsetY / 2)); feedback.SetActive(true); }