Example #1
0
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    /// <summary>
    //  Called each frame.
    /// </summary>
    private void Update()
    {
        // Slowly time out all known messages
        for (int i = 0; i < _Messages.Count; i++)
        {
            _Messages[i]._TimeOnScreen -= Time.deltaTime;
            if (_Messages[i]._TimeOnScreen <= 0)
            {
                // Clamp
                _Messages[i]._TimeOnScreen = 0;

                // Fade out
                _Messages[i]._Text.color = Color.Lerp(_Messages[i]._Text.color, Color.clear, FadeOutRate * Time.deltaTime);
            }

            // Message has finished fade out
            if (_Messages[i]._Text.color.a < 0.01f)
            {
                // Destroy message object
                MatchFeedObject feedObject = _Messages[i];
                _Messages.RemoveAt(i);
                Destroy(feedObject._GameObject);
            }
        }
    }
Example #2
0
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    /// <summary>
    //
    /// </summary>
    /// <param name="message"></param>
    public void AddMessage(string message)
    {
        if (FeedTextStencil != null)
        {
            // Push all current messages up
            for (int i = 0; i < _Messages.Count; i++)
            {
                RectTransform rect = _Messages[i]._Text.GetComponent <RectTransform>();
                rect.anchoredPosition = new Vector2(rect.anchoredPosition.x, rect.anchoredPosition.y + VerticalOffset);
            }

            // Create new message instance
            MatchFeedObject messageObj = new MatchFeedObject();
            GameObject      obj        = Instantiate(FeedTextStencil);
            Text            txt        = obj.GetComponent <Text>();
            RectTransform   objrect    = obj.GetComponent <RectTransform>();

            // Setup message properties
            txt.text                 = message.ToUpper();
            messageObj._Text         = txt;
            messageObj._TimeOnScreen = MessageOnScreenTime;
            messageObj._GameObject   = obj;
            obj.transform.SetParent(gameObject.transform);
            objrect.anchoredPosition = new Vector2(PosX, PosY);
            obj.SetActive(true);
            _Messages.Add(messageObj);
        }
    }