肖红的UI框架
2017-06-16 19:43:30 0 举报
UI框架_肖红
作者其他创作
大纲/内容
面板信息数据结构
调用加载UI面板
数据结构
资源的加载
Defines
+ operation1(params):returnType- operation2(params)- operation3()
管理所有场景
玩家的属性,防内存作弊
BaseActor
管理所有窗口基类,根据窗口类型做一系列动作,打开,关闭
BaseUI
AssetInfo
private UnityEngine.Object _Object;//资源 public Type AssetType { get; set; }//资源的类型 public string Path { get; set; }//资源路径public bool IsLoaded//是否已经加载完成public int RefCount { get; set; }//调用当前资源的次数//获取或者加载到的资源文件 public UnityEngine.Object AssetObject
获取UI数据
通用方法
UIPathDefines
public const string UI_PREFAB = \"Prefab/\";//预制件路径 public const string UI_CONTROLS_PREFAB = \"UIPrefab/Control/\";//控制路径 public const string UI_SUBUI_PREFAB = \"UIPrefab/SubUI/\";//子菜单路径 public const string UI_ICON_PATH = \"UI/Icon/\";//图标路径
//根据面板类型获取预制件的路径 public static string GetPrefabsPathByType(EnumUIType _uiType)
UIManager
ResManager
管理
BaseScene
//保存场景所有的角色 protected List Actors = null;
SceneManager
窗口2
继承
数据类型
管理角色,添加,删除
所有数据模块的管理
将Module注册进
ModuleManager
管理角色的创建删除,监听角色属性改变
消息的监听管理,消息到达
注册消息监听,开始监听消息
SceneInfoData
//场景脚本的类型 public Type SceneType { get; private set; }//场景的名字 public string SceneName { get; private set; }//初始化场景参数 public object[] Params { get; private set; }
UIInfoData
//面板的类型public EnumUIType UIType { get; private set; }//资源的路径public string Path { get; private set; }//参数public object[] UIparams { get; private set; }
MessageCenter
管理所有的场景,切换,切换后打开UI
角色的基类,包括,玩家,敌人,NPC,只处理了属性
窗口1
监听基类的事件
BaseModule
//所处的状态,触发事件\tprivate EnumObjectState state=EnumObjectState.Initial; //注册枚举,判断是否注册,或自动注册 public EnumRegisterModel RegisterModel=EnumRegisterModel.NotRegister;
添加
调用初始化和释放方法
PropertyItem类
public int ID { get; set; }//属性的ID private object content;//属性的内容 private object rawContent;//旧的内容防作弊 private bool canRandom = false;//是否随机 private float curRandomFloat;//随机浮点 private int curRandomInt;//随机整数 private Type propertyType;//属性的类型 //owner拥有者 public IDynamicProperty Owner = null;
通信
打开面板,注册进入
接口方法
监听角色属性改变,更新UI
Message
+ attribute1:type = defaultValue+ attribute2:type- attribute3:type
Singleton
//类的实例 protected static T _Instance = null;
//实例化时初始化 public virtual void Init()
保存服务器时时更新的数据
所有的枚举,委托
收藏
收藏
0 条评论
下一页