Exemplo n.º 1
0
        public virtual void SetMessage(InventoryNoticeMessage message)
        {
            this.showTime = (int)message.duration;
            this.dateTime = message.time;

            if (string.IsNullOrEmpty(message.title) == false)
            {
                if (this.title != null)
                {
                    this.title.text  = string.Format(message.title, message.parameters);
                    this.title.color = message.color;
                }
            }
            else
            {
                title.gameObject.SetActive(false);
            }


            this.message.text  = string.Format(message.message, message.parameters);
            this.message.color = message.color;

            if (this.time != null)
            {
                this.time.text  = dateTime.ToShortTimeString();
                this.time.color = message.color;
            }
        }
        public override BlockReturn Run(BlockReturn param)
        {
            var msg = new InventoryNoticeMessage(title.value, message.value, duration, color);

            msg.Show();

            return(BlockReturn.OK);
        }
        public override void OnEnter()
        {
            var m = new InventoryNoticeMessage(title.Value, message.Value, duration, color.Value);

            if (item != null)
            {
                m.Show(item.name, item.description);
            }
            else
            {
                m.Show();
            }
        }
Exemplo n.º 4
0
        protected override void OnExecute()
        {
            var m = new InventoryNoticeMessage(title.value, message.value, duration.value, color.value);

            if (item.value != null)
            {
                m.Show(item.value.name, item.value.description);
            }
            else
            {
                m.Show();
            }
            EndAction(true);
        }
Exemplo n.º 5
0
        public virtual void AddMessage(InventoryNoticeMessage message)
        {
            // Fire even if we do the nullcheck, just incase other people want to use their own implementation.
            if (OnNewMessage != null)
            {
                OnNewMessage(message, message.parameters);
            }

            if (string.IsNullOrEmpty(message.message))
            {
                return;
            }

            bool scrollbarAtBottom = false;

            if (scrollRect != null && scrollRect.verticalScrollbar != null && scrollRect.verticalScrollbar.value < 0.05f)
            {
                scrollbarAtBottom = true;
            }

            // Incase we don't actually want to display anything and just port the data to some other class through events.
            if (noticeRowPrefab != null)
            {
                var item = pool.Get();
                //var item = GameObject.Instantiate<NoticeMessageUI>(noticeRowPrefab);
                item.transform.SetParent(container);
                item.transform.SetSiblingIndex(0); // Move to the top of the list
                item.SetMessage(message);

                if (onNewMessageAudioClip != null)
                {
                    InventoryUIUtility.AudioPlayOneShot(onNewMessageAudioClip);
                }

                messages.Add(item);
            }

            if (messages.Count > maxMessages)
            {
                StartCoroutine(DestroyAfter(messages[0], messages[0].hideAnimation.length));
                messages[0].Hide();
                messages.RemoveAt(0);
            }

            if (scrollbarAtBottom)
            {
                scrollRect.verticalNormalizedPosition = 0.0f;
            }
        }
Exemplo n.º 6
0
        public override TaskStatus OnUpdate()
        {
            var m = new InventoryNoticeMessage(title.Value, message.Value, duration, color.Value);

            if (item != null)
            {
                m.Show(item.name, item.description);
            }
            else
            {
                m.Show();
            }

            return(TaskStatus.Success);
        }