Unity3D 开发工具系列 UI框架:定义设置Defines
Unity3D 开发工具系列 UI框架:UI基类UIBase
Unity3D 开发工具系列 UI框架:UI管理UIManager
Unity3D 开发工具系列 UI框架:MVC模式
Unity3D 开发工具系列 UI框架:遮罩管理UIMaskManager
Unity3D 开发工具系列 UI框架:封装接口UIControl
Unity3D 开发工具系列 UI框架:定义设置Defines
Unity3D 开发工具系列 UI框架:案例项目CaraSynthesis
UI基类
- 概述
- Defines
- 代码实现
概述
Defines
代码实现
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;#if UNITY_EDITOR
using UnityEditor;
#endifnamespace Epitome.UIFrame
{public delegate void StateChangedEvent(object sender, ObjectState newState, ObjectState oldState);public enum ObjectState{None,Initial,Loading,Ready,Disabled,Closing}public enum UIMaskType{Lucency, //完全透明,不能穿透Translucence, //半透明,不能穿透ImPenetrable, //低透明,不能穿透Pentrate //可以穿透}public enum UINodeType{NormalNode,FixedNode,PopUpNode}public class Defines{public const string ROOTNODE = "UIFrame_RootNode";public const string MASKPANEL = "UIMaskPanel";#if UNITY_EDITOR[MenuItem("Epitome/UIFrame/Create/NodeDirectory")]private static void CreateNodeDirectory(){Transform SelectedObject = Selection.activeGameObject.transform;Transform uiTrans = new GameObject(ROOTNODE).AddComponent<RectTransform>();uiTrans.SetParent(SelectedObject, false);SetUI((RectTransform)uiTrans);List<UINodeType> subfiles = new List<UINodeType>();foreach (UINodeType item in Enum.GetValues(typeof(UINodeType))){subfiles.Add(item);}UINodeType[] subfile = subfiles.ToArray();for (int i = 0; i < subfile.Length; i++){Transform nodeTrans = new GameObject(subfile[i].ToString()).AddComponent<RectTransform>();nodeTrans.SetParent(uiTrans, false);SetUI((RectTransform)nodeTrans);if (subfile[i] == UINodeType.PopUpNode){Transform maskTrans = new GameObject(MASKPANEL).AddComponent<RectTransform>();maskTrans.SetParent(nodeTrans, false);Image mask = maskTrans.gameObject.AddComponent<Image>();mask.color = Color.black;SetUI((RectTransform)maskTrans);maskTrans.gameObject.SetActive(false);}}AssetDatabase.Refresh();}private static void SetUI(RectTransform rectTrans){rectTrans.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, 0, 0);rectTrans.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 0, 0);rectTrans.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Right, 0, 0);rectTrans.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Bottom, 0, 0);rectTrans.anchorMin = Vector2.zero;rectTrans.anchorMax = Vector2.one;}
#endif}
}
Unity3D 开发工具系列 UI框架:定义设置Defines相关推荐
- Unity3D 开发工具系列 UI框架:封装接口UIControl
Unity3D 开发工具系列 UI框架:UI基类UIBase Unity3D 开发工具系列 UI框架:UI管理UIManager Unity3D 开发工具系列 UI框架:MVC模式 Unity3D 开 ...
- Unity3D 开发工具系列 日志系统:配置模块LogConfig
Unity3D 开发工具系列 日志系统:核心模块Logging Unity3D 开发工具系列 日志系统:调用封装Log Unity3D 开发工具系列 日志系统:输出模块ConsoleAppender ...
- Unity3D 开发工具系列 日志系统:输出模块ConsoleAppender
Unity3D 开发工具系列 日志系统:核心模块Logging Unity3D 开发工具系列 日志系统:调用封装Log Unity3D 开发工具系列 日志系统:输出模块ConsoleAppender ...
- 搭建Unity3D游戏引擎开发工具系列:UI框架
Unity3D 开发工具系列 UI框架:UI基类UIBase Unity3D 开发工具系列 UI框架:UI管理UIManager Unity3D 开发工具系列 UI框架:MVC模式 Unity3D 开 ...
- Python开发工具系列1------基于业务常见情况,利用Python实现短文本相似度模型并且利用PyQt5封装为工具
Python开发工具系列1------ 基于业务常见情况,利用Python实现短文本相似度模型并且利用PyQt5封装为工具 业务场景介绍 工具介绍 关键功能实现 界面实现 主要业务功能实现 代码与工具 ...
- ui动效 unity_针对Unity3D的小游戏UI框架——IceCreamView
前言 IceCreamView是什么? IceCreamView(以下简称ICView)是一套针对Unity3D的小游戏UI快速构建框架. 同时ICView是一套面向组件开发模式的UI框架,以容器+组 ...
- 推荐开发工具系列之--PyF5(自动刷新)
2019独角兽企业重金招聘Python工程师标准>>> 昨天介绍的自动刷新的软件 推荐开发工具系列之--LinrF5(自动刷新) 已经是很靠谱了:今天再介绍一款软件,同样靠谱:萝卜 ...
- Android开发工具系列:SharedPreference管理工具
Androi开发工具系列:SharedPreference管理工具 Android开发工具系列:弱引用工具 Android开发工具系列:Utils工具 文章目录 1 strategy 1.1 Pref ...
- iOS常用开发工具及第三方框架
iOS开发中使用到的工具,以及为了避免重复造轮子,也为了更快.更有效的地进行开发,常常引用的第三方框架,像网络请求的AFNetworking,数据持久化的FMDB,请求提示符MJRefresh,还有数 ...
最新文章
- 《现代操作系统》(第4版)文件系统 课后习题解答
- lob移表空间 oracle_Oracle数据库(1)Oracle体系结构概述(一)
- 新晋图灵奖得主Jeff Ullman受质疑,反对者:他享受了不该享受的荣誉
- 注册信息表html,实战系列 —— HTML 的 “注册信息表”
- 高仿快递100--实战之RadioGroup和RadioButton应用
- R语言︱文本挖掘之中文分词包——Rwordseg包(原理、功能、详解)
- ionic安装拍照选照片插件
- 转:WaitForSingleObject()函数、WaitForMultipleObject()函数
- DSShop单用户TP5框架B2C开源商城源码v3.0.2
- linux命令文本模式上网,Linux文本模式下上网简单命令
- 计算机c盘如何扩容,C盘满了怎么办?电脑C盘扩容图文教程-电脑教程
- mysql 安装失败原因大全(diao ,基本都让我给踩了个遍,这运气...)
- 光学系统设计学习笔记1
- 多WLAN口路由器原理分析
- 值传递,指针传递,引用传递的区别
- GCF(4)----手机认证相关知识
- PHP 输出各个时区对应的时差表
- 【财富空间】华为HR总裁李杰:如何打造一支胜任的项目经理队伍?
- 关于使用Vivado在仿真时报错的问题
- ringbuffer的特别之处
热门文章
- OpenCV学习(30) 轮廓defects
- YOLOV5—6.0 网络结构图
- ubuntu20.04找不到wifi图标的解决方法
- jQuery 中的 get() 方法
- java redis缓存清除_java基础-redis缓存篇
- java redis 缓存_java实现redis缓存
- 使用HTML+CSS3实现小球无限转动
- 关于servlet的@WebServlet注解。
- 汉诺塔——经典递归问题(c语言实现)
- Check the difficulty of problems (概率dp求概率)