为了使阅读起来更方便,新建了一个空项目,去掉不用的包,然后将UGUI包中的代码拷贝到新项目中。项目结构如下:
包里由“Editor”和“Runtime”两个文件夹,“Editor”应该主要是UI在编辑器中比如像Inspector面板,或者添加组件入口之类的代码。所以主要关注的是“Runtime”中的代码。
“Runtime”文件夹下层包括EventSystem,UI两个文件夹。绘制和交互事件两个系统共同构成了UGUI。在第一次创建一个UI组件时可以看到会自动创建一个canvas和一个EventSystem。相比较而言,这个EventSystem比较好欺负的样子,所以接下来从EventSystem开始下口。