//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, August 14, 2017
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using System.Collections.Generic;
|
|
namespace vnxbqy.UI {
|
|
[RequireComponent(typeof(RectTransform))]
|
public class PopupMessageContainer:MonoBehaviour {
|
|
[SerializeField]
|
PopupMessage[] popupMessages;
|
|
[SerializeField]
|
Vector2 m_CellSize;
|
|
|
[SerializeField]
|
float interval = 1f;
|
|
float nextPopupTime = 0f;
|
Queue<string> contents = new Queue<string>();
|
Queue<PopupMessage> displayPopupMessages = new Queue<PopupMessage>();
|
|
Vector2 bottomPosition;
|
Vector2 topPosition;
|
|
|
public void Popup(string _content) {
|
|
|
}
|
|
private void LateUpdate() {
|
if(Time.time > nextPopupTime) {
|
if(contents.Count > 0) {
|
nextPopupTime += interval;
|
var content = contents.Dequeue();
|
|
PopupMessage behaviour = null;
|
for(var i = 0;i < popupMessages.Length;i++) {
|
if(!popupMessages[i].isActive) {
|
behaviour = popupMessages[i];
|
break;
|
}
|
}
|
|
if(behaviour == null) {
|
behaviour = displayPopupMessages.Dequeue();
|
}
|
|
behaviour.transform.localPosition = bottomPosition;
|
displayPopupMessages.Enqueue(behaviour);
|
}
|
}
|
|
}
|
|
|
private void OnValidate() {
|
|
var rectTransform = this.transform as RectTransform;
|
|
var width = rectTransform.rect.width;
|
var height = rectTransform.rect.height;
|
|
bottomPosition = new Vector2(0,-height * 0.5f + m_CellSize.y * 0.5f);
|
topPosition = new Vector2(0,height * 0.5f - m_CellSize.y * 0.5f);
|
|
}
|
|
|
|
}
|
|
}
|