因为项目中要经常用到一些提示框,弹出框之类的通用组建,所以写了一个,方便以后使用

效果展示:

预设物结构:

代码展示:

using UnityEngine;
using UnityEngine.UI;public delegate void OnCancel();
public delegate void OnSure();public enum OpenMessageType
{Sure,SureandCancle
}public class DialogInfo
{public string warnInfo;public string sureBtnInfo = "确定";public string cancleBtnInfo = "取消";public OnCancel onCancel;public OnSure onSure;public OpenMessageType openType;
}public class MessageBoxUI
{private GameObject messageBox = null;private Button m_sureBtn;private Button m_cancelBtn;private Text m_infoTxt;private Text sureBtnTxt;private Text cancleBtnTxt;private DialogInfo m_dialogInfo;public MessageBoxUI(object val){messageBox = GameObject.Instantiate(Resources.Load("CommonUI/MessageBox")) as GameObject;messageBox.transform.parent = GameUtils.Instance().UiRoot.transform;messageBox.transform.localPosition = Vector3.zero;messageBox.transform.localScale = Vector3.one;m_sureBtn = messageBox.transform.Find("BtnGroup/SureBtn").GetComponent<Button>();m_cancelBtn = messageBox.transform.Find("BtnGroup/CancleBtn").GetComponent<Button>();m_infoTxt = messageBox.transform.Find("Info").GetComponent<Text>();sureBtnTxt = messageBox.transform.Find("BtnGroup/SureBtn/Text").GetComponent<Text>();cancleBtnTxt = messageBox.transform.Find("BtnGroup/CancleBtn/Text").GetComponent<Text>();m_dialogInfo = (DialogInfo)val;if (m_dialogInfo.openType == OpenMessageType.Sure){m_cancelBtn.gameObject.SetActive(false);}if (!string.IsNullOrEmpty(m_dialogInfo.sureBtnInfo)){sureBtnTxt.text = m_dialogInfo.sureBtnInfo;}if (!string.IsNullOrEmpty(m_dialogInfo.cancleBtnInfo)){cancleBtnTxt.text = m_dialogInfo.cancleBtnInfo;}m_infoTxt.text = m_dialogInfo.warnInfo;m_sureBtn.onClick.AddListener(OnSureClick);m_cancelBtn.onClick.AddListener(OnCancelClick);}private void OnSureClick(){if (m_dialogInfo.onSure != null)m_dialogInfo.onSure();ClosePanel();}private void OnCancelClick(){if (m_dialogInfo.onCancel != null)m_dialogInfo.onCancel();ClosePanel();}private void ClosePanel(){GameObject.Destroy(messageBox);}
}

调用实例:

Unity 通用弹出框相关推荐

  1. 所有网站都通用的自定义弹出框alert

    A.所有网站都通用的自定义弹出框.A </body> <script>var Alert = function(data){//没有数据则返回if(!data){return; ...

  2. Android仿IOS封装通用的弹出框Dialog和底部弹出列表选择框 仿美团顶部条件筛选框 附自定义ViewGroup

    弹出框 背景 提示与询问弹出框 实现 使用 列表选择框 实现 使用 顶部条件筛选框 实现 自定义ViewGroup 使用 总结 背景 鉴于Android提供的默认弹出框很一般,IOS的弹出框样式还不错 ...

  3. React Native 弹出框

    RN为我们提供了一个跨平台通用的Modal组件,我们可以用它来实现一个弹出框的视图. 先上效果图: 代码如下: /*** Created by gyg on 2017/5/11.* 自定义弹出框组件* ...

  4. android h5弹窗,Android嵌套html5页面中alert 弹出框问题

    最近项目中遇到一个头疼的问题,那就是在安卓里嵌套html5的时候发现alert弹出框出现了问题 那就是弹出的时候会出现串 来自http://xxxxx 网页的提示 然后下面出来具体的弹出信息,还有更奇 ...

  5. IOS8中SWIFT 弹出框的显示

    弹出框不管是在网页端,还是在手机APP端,都是常用的控件.在网页中实现个简单的弹出框只需要调用alert,在IOS中,也不是那么复杂,也是容易使用的. 我先用xcode6创建一个名为iOS8Swift ...

  6. QTP的那些事---页面弹出框的处理,页面等待加载的处理

    处理方法:先判断父类对象是否存在,如果存在,判断相关的static文本对象是否存在,如果存在,则点击弹出框中的按钮即可: 例如如下的代码: 设置循环判断dialog对象是否存在,如果存在,就去点击相关 ...

  7. php ajax弹出框传值,PHP_Yii2.0 模态弹出框+ajax提交表单,如题 我们使用模态弹出框+ajax - phpStudy...

    Yii2.0 模态弹出框+ajax提交表单 如题 我们使用模态弹出框+ajax提交表单 首先我们把index视图的create按钮添加data-toggle 和 data-target. 代码如下: ...

  8. Bootstrap方法为页面添加一个弹出框

    <!DOCTYPE html> <html> <head><meta charset="utf-8"> <title>B ...

  9. 基于layer mobile手机端弹出框,询问框(PC端推荐layer和artDialog:http://download.csdn.net/download/cometwo/9437895)...

    layer mobile是为移动设备(手机.平板等webkit内核浏览器/webview)量身定做的弹层支撑,采用Native JavaScript编写,完全独立于PC版的layer,您需要按照场景选 ...

最新文章

  1. 【MySQL】ubuntu16.04安装mysql,然后源码编译Qt5.12.4版本的libqsqlmysql.so
  2. 模型在gpu上反而速度变慢了_Tensorflow1.13.1+CUDA10.0+CuDNN7.4在GPU上训练模型
  3. 怎么给电脑设密码_怎么给电脑中重要的文件夹设置密码?
  4. JButton 圆角_昆明圆角灯箱哪家好
  5. nginx配置ajax请求跨域
  6. 终止运行线程的注意事项
  7. linux看请求报文发送的ip,Linux C 实现最简单的ICMP_ECHO请求报文发送
  8. Java集合的框架和实现类
  9. mysql索引级别快慢_面试小点-MySQL 的两种索引方法如何提高查询速度
  10. Android NetworkLocationProvider and GeocodeProvider
  11. 将url编码数据转换为简单字符串
  12. 19年1月尔雅移动互联网时代的信息安全与防护考试答案(96分)
  13. 深究C语言4.链表和结构体
  14. 六千档最强万金油?华硕无畏Pro15 2022锐龙版笔记本体验
  15. xcode14 Command Swift Driver Compilation Requirements emitted errors but did not ret
  16. coreseek 词库 导入搜狗词库
  17. maya 中arnold渲染vector置换贴图方法
  18. 四川泸州市高职计算机学校,四川泸州职高学校有哪些?
  19. CSAPP_Chapter1
  20. 计算机专业前沿算法,CNCC2018 | 研究经典计算机算法已经过时了吗?

热门文章

  1. python调用打印机参考例子_Python调用打印机参考例子
  2. 漫谈程序员系列:找工作的辟邪剑谱
  3. 2018应届毕业生找工作经历
  4. 10以内加减法口诀表
  5. C/C++中的指针*是靠近数据类型还是靠近数据变量书写?
  6. 【NLP】⚠️学不会打我! 半小时学会基本操作 4⚠️词向量模型
  7. 区别:迭代加深搜索广度优先搜索
  8. 统计项目工程文件总行数
  9. java Lambda表达式详解
  10. Linux文件数量统计命令