从UI入手是构建框架比较简易的路线,因为一款游戏的完整性,脱离不开UI这个话题,而UI的即建即得,使得我们开发过程并不那么枯燥乏味(很多服务端同志,面临着这样的枯燥)。而大部分开发者概念里认为UI是个比较简单的模块,而我们就从这个"简单"的模块开始吧。
UI占整个游戏的比重非常之高,3D我认为至少占40%以上,2D至少占80%以上。
UIBase类的构建:
UIBase,作为整个UI对象的基类,他的职责必然是提取UI的通用行为。
//抽象类
public abstract class UIBase
{
//基础核心的对象是FairyGUI类型
protected GComponent uiObject;
public virtual GComponent UIObject
{
get { return uiObject; }
set { uiObject = value; }
}
public UIBase(GComponent obj)
{
uiObject = obj;
}
//初始化UI元素,如var xxx = GetChild("xxx")
protected abstract void InitView();
//UI激活触发
protected abstract void OnEnable();
//UI待机触发
protected abstract void OnDisable();
//事件监听,如按钮的点击事件等
protected abstract void AddListener();
//事件的移除
protected abstract void RemoveListener();
//对象的销毁
public abstract void OnDestroy();
}