예제 #1
0
 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>();
 }
예제 #2
0
    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;
        }
    }
예제 #3
0
    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();
    }
예제 #4
0
    // 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);
    }