Ejemplo n.º 1
0
        public void ShowMessageImmediate(string message, UIColorScheme scheme, bool bulleted)
        {
            if (onShowMessage != null)
            {
                onShowMessage(message);
            }

            UIMessageElement newMessage = elementPool.GetAvailable(settings.messageElement, null, false, null);

            shownElements.Add(newMessage);


            if (newMessage.transform.parent != transform)
            {
                newMessage.transform.SetParent(transform, Vector3.zero, Quaternion.identity, Vector3.one);
            }



            UpdateMessageLayout(newMessage, message, bulleted);

            newMessage.ShowMessage(parameters.duration, parameters.fadeInOut.x, parameters.fadeInOut.y, scheme);



            float pivotOffset = (1.0f - yPivot) * shownElements.Count * parameters.messageParams.messageHeight;

            // newMessage.rectTransform.anchoredPosition = new Vector2((rectTransform.anchorMin.x == 0 ? 0 : -newMessage.elementWidth) + parameters.startXOffset,  - pivotOffset);
            newMessage.rectTransform.anchoredPosition = new Vector2(parameters.startXOffset, -pivotOffset);

            newMessage.gameObject.SetActive(true);
        }
Ejemplo n.º 2
0
        void UpdateMessageLayout(UIMessageElement message, string displayMessage, bool bulleted)
        {
            message.text.SetText(displayMessage);

            message.EnableFlair(bulleted);

            UIBaseParameters.CopyParameters(ref message.parameters, parameters.messageParams);

            message.SetPivotAndAnchor(new Vector2(rectTransform.pivot.x, yPivot));
            message.UpdateElementLayout();//true);
        }
Ejemplo n.º 3
0
        // protected override
        void Update()
        {
            // base.Update();

            if (!isActive)
            {
                return;
            }

            if (!Application.isPlaying)
            {
                shownElements = GetComponentsInChildren <UIMessageElement>().ToList();
                for (int i = 0; i < shownElements.Count; i++)
                {
                    UpdateMessageLayout(shownElements[i], "Message " + (i * 999) + " sdkjfksjhflSDFSFSFDfsdfsdfsfsfsdfsdfsfsf", Random.value < .5f);
                }
                // return;
            }

            float deltaTime = Time.unscaledDeltaTime;
            float speed     = Application.isPlaying ? deltaTime * parameters.moveSpeed : 1;

            bool leftToRight = rectTransform.anchorMin.x == 0;
            int  lastIndex   = shownElements.Count - 1;

            float pivotOffset = (1.0f - yPivot) * (shownElements.Count * parameters.messageParams.messageHeight + parameters.messageParams.messageHeight);


            for (int i = shownElements.Count - 1; i >= 0; i--)
            {
                UIMessageElement e = shownElements[i];
                e.rectTransform.anchoredPosition = Vector2.Lerp(
                    e.rectTransform.anchoredPosition,
                    new Vector2(
                        0,
                        // leftToRight ? 0 : -e.elementWidth,
                        ((lastIndex - i) * (parameters.upToDown ? -e.elementHeight : e.elementHeight)) - pivotOffset
                        ),
                    speed
                    );

                if (Application.isPlaying)
                {
                    if (e.UpdateElement(deltaTime))
                    {
                        shownElements.Remove(e);
                    }
                }
            }
        }