130 lines
4.5 KiB
C#
130 lines
4.5 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using UnityEngine;
|
|||
|
|
|
|||
|
|
namespace GeneralTools
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 3.10更新 GUI改成UGUI CANVAS预设
|
|||
|
|
/// </summary>
|
|||
|
|
public class MessageBox : SingletonBaseAttribute<MessageBox>
|
|||
|
|
{
|
|||
|
|
protected SetMessageShow messageShow;
|
|||
|
|
protected SetNoticeShow noticeShow;
|
|||
|
|
protected SetProgressBarShow progressBarShow;
|
|||
|
|
static List<MessageShowClass> messageShowList = new List<MessageShowClass>();
|
|||
|
|
public override void IAwake()
|
|||
|
|
{
|
|||
|
|
base.IAwake();
|
|||
|
|
if(messageShow==null)
|
|||
|
|
{
|
|||
|
|
messageShow = UtilityTool.FindChild<SetMessageShow>(transform, "MessageShowCanvas");
|
|||
|
|
messageShow.Hide();
|
|||
|
|
}
|
|||
|
|
if (noticeShow == null)
|
|||
|
|
{
|
|||
|
|
noticeShow = UtilityTool.FindChild<SetNoticeShow>(transform, "NoticeShow");
|
|||
|
|
noticeShow.Hide();
|
|||
|
|
}
|
|||
|
|
if (progressBarShow == null)
|
|||
|
|
{
|
|||
|
|
progressBarShow = UtilityTool.FindChild<SetProgressBarShow>(transform, "ProgressBarShow");
|
|||
|
|
progressBarShow.Hide();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
public void Show(string tittleStr, string messageStr, string buttonStr, Action action, string messageName = "通用")
|
|||
|
|
{
|
|||
|
|
AddMessageToList(tittleStr, messageStr, buttonStr, action, messageName);
|
|||
|
|
}
|
|||
|
|
public void Show(string messageStr, string buttonStr, Action action, string messageName = "通用")
|
|||
|
|
{
|
|||
|
|
AddMessageToList("提示", messageStr, buttonStr, action, messageName);
|
|||
|
|
}
|
|||
|
|
public void Show(string messageStr, Action action, string messageName = "通用")
|
|||
|
|
{
|
|||
|
|
AddMessageToList("提示", messageStr, "确认", action, messageName);
|
|||
|
|
}
|
|||
|
|
public void Show(string tittleStr, string messageStr, string messageName = "通用")
|
|||
|
|
{
|
|||
|
|
AddMessageToList(tittleStr, messageStr, "确认", Hide, messageName);
|
|||
|
|
}
|
|||
|
|
public void Show(string messageStr)
|
|||
|
|
{
|
|||
|
|
AddMessageToList("提示", messageStr, "确认", Hide, "通用");
|
|||
|
|
}
|
|||
|
|
public void Hide()
|
|||
|
|
{
|
|||
|
|
int removeIndex = messageShowList.Count - 1;
|
|||
|
|
if (removeIndex >= 0)
|
|||
|
|
messageShowList.RemoveAt(removeIndex);
|
|||
|
|
int maxIndex = messageShowList.Count - 1;
|
|||
|
|
if (maxIndex < 0)
|
|||
|
|
{
|
|||
|
|
messageShow.Hide();
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
MessageShowClass m = messageShowList[maxIndex];
|
|||
|
|
messageShow.Show(m, Hide);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
public void Hide(string messageName)
|
|||
|
|
{
|
|||
|
|
messageShowList.RemoveAll(m => m.messageName == messageName);
|
|||
|
|
int maxIndex = messageShowList.Count - 1;
|
|||
|
|
if (maxIndex < 0)
|
|||
|
|
{
|
|||
|
|
messageShow.Hide();
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
MessageShowClass m = messageShowList[maxIndex];
|
|||
|
|
messageShow.Show(m, Hide);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
public void ShowNotice(string tittleStr, string messageStr)
|
|||
|
|
{
|
|||
|
|
noticeShow.Show(tittleStr, messageStr);
|
|||
|
|
}
|
|||
|
|
public void HideNotice()
|
|||
|
|
{
|
|||
|
|
noticeShow.Hide();
|
|||
|
|
}
|
|||
|
|
public void ShowProgressBar(string tittleStr, string numStr, float progress)
|
|||
|
|
{
|
|||
|
|
progressBarShow.Show(tittleStr, numStr, progress);
|
|||
|
|
}
|
|||
|
|
public void HideProgressBar()
|
|||
|
|
{
|
|||
|
|
progressBarShow.Hide();
|
|||
|
|
}
|
|||
|
|
private void AddMessageToList(string tittleStr, string messageStr, string buttonStr, Action action, string messageName)
|
|||
|
|
{
|
|||
|
|
MessageShowClass newMessage = new MessageShowClass(tittleStr, messageStr, buttonStr, action, messageName);
|
|||
|
|
messageShowList.Add(newMessage);
|
|||
|
|
messageShow.Show(newMessage, Hide);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
public class MessageShowClass
|
|||
|
|
{
|
|||
|
|
public string tittleStr;
|
|||
|
|
public string messageStr;
|
|||
|
|
public string buttonStr;
|
|||
|
|
public Action action;
|
|||
|
|
public string messageName;
|
|||
|
|
public MessageShowClass()
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
public MessageShowClass(string _tittleStr, string _messageStr, string _buttonStr, Action _action, string _messageName)
|
|||
|
|
{
|
|||
|
|
tittleStr = _tittleStr;
|
|||
|
|
messageStr = _messageStr;
|
|||
|
|
buttonStr = _buttonStr;
|
|||
|
|
action = _action;
|
|||
|
|
messageName = _messageName;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|