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(); } }
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); }
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; } }
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); }