变身吧主公UI源码解析
2017-06-11 20:48:29 0 举报
看了一下变身吧主公,做的UI源码解析,源码中还有层次方面的源码,但是我没有摘出,因为Ugui对层次的管理不需要代码,具体实现的话,这些就够了
作者其他创作
大纲/内容
场景类型:SceneType:包括登陆等界面
PanelBase:UIBase
protected bool _cache = false,是否缓存标识,如果不缓存,关闭时Destroy protected PanelName _type;面板的iD protected bool _isClickMaskColse = true;是否点击背景能够关闭窗口 protected PanelMgr.PanelShowStyle _showStyle = PanelMgr.PanelShowStyle.CenterScaleBigNomal;面板的显示方式 protected PanelMgr.PanelMaskSytle _maskStyle = PanelMgr.PanelMaskSytle.BlackAlpha;面板的遮罩方式 protected float _openDuration = 0.2f;面板打开时间
public virtual void OnInit(params object[] panelArgs)初始化面板public virtual void OnShowing()开始显示public virtual void OnResetArgs(params object[] panelArgs)重置数据public virtual void OnShowed()显示面板后protected virtual void Close()面板关闭protected virtual void CloseImmediate()立刻关闭 public virtual void OnHideFront()无实际意义public virtual void OnHideDone()
LogicBase、LogicMgr、BaseModel、MedelMgr、四个类暂时不解析,不涉及UI部分。LayerBase和LayerMgr,都是设计NGUI中的层次管理,此处不需要再管理。此外UIManager大部分是涉及对UI的外部管理,比如面板的显示与加载之类的,UIBase大多是UI内部的事情,比如数据初始化等
PanelMgr,无继承,单例模式
ResourcesMgr:MonoBehaviour 单例模式
private Hashtable hashtable;资源缓存容器
SceneBase:LayerBase:UIBase
protected bool _cache = false;是否缓存 protected SceneType _type;场景Id protected object[] _sceneArgs;场景Init时参数
public virtual void OnInit(params object[] sceneArgs)初始化场景public virtual void OnShowing()开始显示 public virtual void OnResetArgs(params object[] sceneArgs)重置数据 public virtual void OnShowed()显示场景后 public virtual void OnHiding()开始隐藏public virtual void OnHided()隐藏后
SceneMgr,无继承单例
UIBase:MonoBehaviour
protected bool secondUpdateEnabled = false;是否启用秒刷新private float secondUpdateTime = 0.0f;秒刷新时间点_skin皮肤,mainSkinPath,skinTransform,关于皮肤。这里的皮肤就是指游戏物体里面的贴图,例如PanelinitDoneFlag初始化完成标识
SwitchRecorder是一个结构体: internal SceneType sceneType; internal object[] sceneArgs;同时写了构造函数,将参数的传入写在了构造函数中
枚举类型:PanelName:次级面板名字列表,Scene代表一个场景,pANEL只是弹出的面板
Main:挂在主场景的唯一一个代码SceneMgr.GetInstance().SwitchingScene(SceneType.SceneLogin); NetWriter.SetUrl(\"127.0.0.1:9001\");
0 条评论
下一页