博客迁移

个人博客站点,欢迎访问,www.jiingfengji.tech

正文

在做UI开发工作中,往往会有很多重复工作,比如用FindChild找可交互的ui呀,比如给这些ui加Listener等,那么这里提供一种思路,通过给UI中需要加交互事件的ui物体加上标记脚本,然后就可以根据这些标记得出相对于UIRoot的路径,得到路径就可以通过FindChild得到交互UI物体,然后给他们加上事件监听即可。

先定义一个枚举

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public enum UIType
{UIRoot,Transform,Image,RawImage,Button,Toggle,Slider,Scrollbar,Dropdown,InputField,ScrollRect,
}

然后上一个效果图来给UI物体加标记

从图中可以看出,加完标记之后,生成代码。
先看示例的UIDialog

其中图中两一个Image,一个InputFiel,一个Button,一个Toggle
生成的代码如下:

using UnityEngine;
using UnityEngine.UI;
using System;public class TestDialog : MonoBehaviour
{private Image m_Image = null;private InputField m_UserNameInputField = null;private Button m_CloseButton = null;private Toggle m_SexToggle = null;void Awake(){m_Image = transform.FindChild("Image").GetComponent<Image>();m_UserNameInputField = transform.FindChild("Image/UserNameInputField").GetComponent<InputField>();m_CloseButton = transform.FindChild("CloseButton").GetComponent<Button>();m_SexToggle = transform.FindChild("SexToggle").GetComponent<Toggle>();}void Start(){InitUIEvent();}private void InitUIEvent(){m_UserNameInputField.onEndEdit.AddListener(OnUserNameInputFieldEndEdit);m_CloseButton.onClick.AddListener(OnCloseButtonClick);m_SexToggle.onValueChanged.AddListener(OnSexToggleValueChanged);}private void OnUserNameInputFieldEndEdit(string arg0){throw new NotImplementedException();}private void OnCloseButtonClick(){throw new NotImplementedException();}private void OnSexToggleValueChanged(bool arg0){throw new NotImplementedException();}
}

生成代码的逻辑比较长,就不放出来了,原理就是按照规范拼StringBuilder,包括变量名前缀,函数名规范等,以及插入等长度的空格代替tab、还有换行使得代码对其等等。

####这个只是提供一种思路,Demo以及源码会放在下面,大家有兴趣可以参考一下,转载请注明原文地址。

Demo源码下载地址:
链接:http://pan.baidu.com/s/1i4YbIML 密码:uyg9

下载链接如有失效,请即时联系
以上知识分享,如有错误,欢迎指出,共同学习,共同进步

Unity之UGUI脚本自动生成相关推荐

  1. python生成yaml_使用python脚本自动生成K8S-YAML的方法示例

    1.生成 servie.yaml 1.1.yaml转json service模板yaml apiVersion: v1 kind: Service metadata: name: ${jarName} ...

  2. python生成yaml_使用python脚本自动生成K8S-YAML

    使用python脚本自动生成K8S-YAML 1.生成 servie.yaml 1.1.yaml转json service模板yaml apiVersion: v1 kind: Service met ...

  3. NSG2-一个很好用的ns2的tcl脚本自动生成软件

    NSG2-一个很好用的ns2的tcl脚本自动生成软件 来源:Linux社区 作者:fzxy002763 NSG2-一个很好用的ns2的tcl脚本自动生成软件,NSG2.rar,一个很好的java写的t ...

  4. Polyworks脚本开发学习笔记(二二)-调取视角用脚本自动生成报告

    Polyworks脚本开发学习笔记(二二)-调取视角用脚本自动生成报告 Polyworks中,3D场景的视图可用标准视角及等轴侧视角.项目视角等方式调用,也可以用txt格式保存下来调用,如果以脚本的形 ...

  5. Orcad下使用TCL脚本自动生成导线、网络标号和off page

    Orcad是一个很优秀的原理图工具,但是手工画批量导线和网络标号的时候(比如:RGB的信号线,DDR/FLASH的地址线),比较麻烦,修改也麻烦.所以这里介绍了使用TCL脚本自动生成导线.网络标号和o ...

  6. matlab之用m脚本自动生成exe文件

    matlab之用m脚本自动生成exe文件 文章目录 matlab之用m脚本自动生成exe文件 0.前言 1.生成exe文件分两种情况 2.生成文件在自己电脑上运行 3.生成文件在其他电脑上运行 0.前 ...

  7. [Unity编辑器] 根据图片自动生成动画

    根据自己的情况 仿照 雨松MOMO 写了一个自动生成动画的脚本 原地址 http://www.xuanyusong.com/archives/3243 代码: using UnityEngine; u ...

  8. UI架构设计五 — DTA文件使用脚本自动生成

    上一篇文章讲到,我们可以使用BmpCvST.exe软件手动把png文件生成对应的DTA文件. 如果是简单的生成几张图片,倒也无所谓,但是当你开发项目的时候,可能一个项目下来,会有几百张图片需要生成,所 ...

  9. httprunner接口测试脚本自动生成

    har2case可以将.har文件转化成yaml格式或者json格式的httprunner的脚本文件,生成.har格式文件可以借助fiddler或Charles抓包工具 友情提示: 录制脚本,只是一个 ...

最新文章

  1. UVa11292 - Dragon of Loowater(贪心)
  2. Android自定义XML属性以及遇到的命名空间的问题
  3. python程序设计与应用教程鄂大伟_鄂大伟-从零进阶的Python教学与开发之路.pdf
  4. 机器学习中的规则化范数(L0, L1, L2, 核范数)
  5. html5 微格式,HTML5 微格式和相关的属性名称
  6. AntiXSS v4.0中Sanitizer.GetSafeHtmlFragment等方法将部分汉字编码为乱码的解决方案
  7. Vertica系列: Vertica DB连接负载均衡
  8. Go36-13-结构体及其方法
  9. Sqoop 使用指南
  10. error: (-205:Formats of input arguments do not match) All the matrices must have the same data type
  11. CSS颜色代码对照表
  12. 变频器RS485通讯协议
  13. 人类的社会制度:封建制度(封建社会)
  14. Python L型组件填图问题(棋盘覆盖问题)
  15. 3DMAX到底该如何布线?
  16. codeforces 571A Lengthening Sticks 组合数学 插板法
  17. arXiv,30 岁生日快乐!它的诞生,始于一个​被塞满的邮箱
  18. XML Publisher 模板设计技巧
  19. 如何在linux上直接运行python程序
  20. 【转】Clique共识算法

热门文章

  1. 安装sogou输入法
  2. python屏幕取词_GetWord 3.3 屏幕取词
  3. html页面证书过期,网页上的完全证书过期过失效怎么处理
  4. HA实战: 知行之桥EDI系统HA环境
  5. VM15.5虚拟机安装openwrt系统作为旁路由
  6. C语言学习:编程、源文件、源代码是什么?一文带你搞定它!
  7. linux 修改mysql默认端口3306
  8. xxl-job(二)调度中心挂了怎么办
  9. 犀牛插件开发-基础核心-技术概览-总体架构-教程
  10. 数据回顾东京奥运会中国体育代表团金牌时刻