各种类互相调用就是耦合性高
各种类互相调用就是耦合性高
->调用
a->b->c->d
a是最高层的模块
d是最低层的模块
if (mButtonClicked && mButtonState == ButtonState.None) { mButtonState = ButtonState.Clicked; }
这个在UniRx里的位置写错了吧?
Ctrl+C+V
表现层复用的逻辑可以用在系统层,比如计时系统和成就系统
模型层则负责数据的定义以及提供数据的修改方法
工具层则负责提供基础设施,比如存储方法,网络链接方法,框架集成等等
当上层要改变下层状态时必须要用command,只是简单查询则可以直接方法调用
由于IController没有对应的抽象Controller,所以IBelongToArchitecture的阉割需要在子类中实现
其实可以为项目制作指定的抽象类,但是为了框架的通用性,所以新项目需要自己去对应的类里进行GetArchitecter的阉割
外观模式是上下层交互
中介模式是同一层级互相交换
protected修饰的成员,可以在派生类中使用
渲染流水线三大阶段:
1.应用阶段:Cpu负责(绝对控制权)(1)准备场景数据(2).不可见剔除(3).设置渲染状态
分三步:1.把数据加载到显存中。2.设置渲染状态3.调用Draw Call。
2.几何阶段:
GPU负责。首要任务是把顶点坐标变换到屏幕空间中,再交给光栅器进行处理。
3.光栅化阶段:GPU负责。使用上个阶段传递的数据来产生屏幕上像素并最终渲染出图像
继承接口
Scroll Rect里有Inertia惯性,要取消勾选
学到了,VC编程法!
content宽度=原宽+(n-1)*(单+间)
注意:在Inspector面板里显示中,原宽为0,向右扩展为负数
!!!注意
Scroll View->Viewport->Content的锚点要设置于中间,否则运行完,位置会偏移
设置好Grad Layout Group的参数,子对象的大小就不能改变了
is 仅用 is null或is not null
每一行的主键都不能重复
3 commonly seen flock behaviours:
Seperation/Alignment/Cohesion
private const string ColorEnd = "</color>";
private const string ColorVar = "<color=#{0}>";
public static string Color(string str, Color color) {
string htmlColor = ColorUtility.ToHtmlStringRGBA(color);
string result = "";
result = string.Format(ColorVar, htmlColor) + str + ColorEnd;
return result;
}
unity的Color类已经记录了许多颜色,使用发现记录的数据格式不同。
百度转换发现Unity有ColorUtility类实现颜色RGBA与HTML格式之间的转换。这样既增大不少颜色种类,又 减少不少代码。
实现如代码段,其中Color存储不少枚举颜色
unity的Color类已经记录了许多颜色,使用发现记录的数据格式不同。
百度转换发现Unity有ColorUtility类