Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元

创建一个类使之继承自ScriptableObject 表示把这个类变成可以自定义资源配置的文件

[展开全文]
风旅人 · 2020-01-03 · 0

//索引器就是一种特殊的属性  实例属性
    //索引器不允许 static
    //索引器允许重载

 

链式编程

[展开全文]
lilynumber1 · 2020-01-03 · 0

索引器

this关键字

[展开全文]
lilynumber1 · 2020-01-03 · 0

增加拓展性和稳定性

多人协同开发中避免错误。

[展开全文]
lilynumber1 · 2020-01-03 · 0

file.Exists()判断文件是否存在

[展开全文]
风旅人 · 2020-01-03 · 0

跟编辑器有关的脚本放在Editor文件夹下

不用知道函数返回什么类型,可以使用typeof()定义一个用于接收该函数返回值的变量

[展开全文]
风旅人 · 2020-01-02 · 0

可以使Command继承自EventCommand,因为EC自带访问全局dispatch并且含有Ievent可以传递数据,不需要自己手动写

[展开全文]
风旅人 · 2019-12-31 · 0

在接口IScoreService中添加

IEventDispatcher dispatcher{get;set;}

回到继承这个接口的ScoreService中实现,同样是用inject自动注入

回调通常使用event,所以我们再创建一个ServiceEvent枚举

public enum ServiceEvent{
   RequestScore();
}

在RequstScoreCommand的Execute中添加监听器,用来响应返回的数据

Retain();
scoreService.dispatcher.AddListener(ServiceEvent.RequestScore,OnComplete);

 命令只执行一次,执行完毕之后就会自动销毁,我们需要维持这个命令存在的话就需要用到retain函数

在执行完oncomplete,也就是回调完成之后使用release函数进行释放

 

[展开全文]
风旅人 · 2019-12-31 · 0

语义

描述

SV_POSITION

裁剪空间中的顶点坐标,结构体中必须包含一个用该语义修饰的变量。等同于DX9中的POSITION。

COLOR0

通常用于输出第一组顶点颜色,不是必须

COLOR1

通常用于输出第二组顶点颜色,不是必须

TEXCOORD0-TEXCOORD7

通常用于输出纹理坐标,不是必须

[展开全文]
五味人生1 · 2019-12-28 · 0

Application.Quit();

退出当前APP

 

[展开全文]
lilynumber1 · 2019-12-27 · 0

不要使用自动layout的组件

 

[展开全文]
lilynumber1 · 2019-12-27 · 0

overDraw

重复绘制  造成性能损耗

 

[展开全文]
lilynumber1 · 2019-12-26 · 0

单机游戏 界面不多 

不要引入UI框架 约束太多 使用起来麻烦  有一定的学习成本

不要给当前的项目引入过多无谓的复杂的东西

 

 

[展开全文]
lilynumber1 · 2019-12-26 · 0

创建一个RequestScoreCommand类,用于使view层和service层进行数据交互

public class RequestScoreCommand:Command{
  [Inject]
  public IScoreService scoreService{get;set;}
  public override void Execute(){//数据传输逻辑方法
   
 }
}

使用inject注入时,这个接口是与哪个实现类绑定的,则会注入相应的实现类

 

我们需要在mediator里触发这个command,所以mediator需要引用,这里依旧使用inject自动注入减少层之间的耦合性

在Context中做的绑定都是全局的,是通过event去调用方法,方法需要是全局的,所以我们这里要用到全局派发器

[Inject(ContextKeys.CONTEXT_DISPATCHER)]//全局的dispatch
public IEventDispatcher dispatcher{get;set;}// IEventDispatcher是接口类型

同样需要设置get、set方法系统内置的command都有绑定event,而我们自己定制command则需要手动写event并绑定

dispatcher.Dispatch(CommandEvent.RequestScore);

Dispatch()可以发起一个event,与之绑定的command会被调用

 

在command文件夹中创建CommandEvent类,用来保存所有命令的事件,这个event是枚举类型,不需要继承自任何类

public enum CommandEvent{
   RequestScoreCommand();//返回数据命令
}

 

需要在Context中绑定

commandBinder.Bind(CommandEvent.RequestScore).To<RequestScoreCommand>();

 

service接口与其实现类也需要绑定

injectionBinder.Bind<IScoreService>().To<ScoreService>().ToSingleton();//表示这个对象只会在工程中生成一次

由于是属于inject注入,所以需要使用injectionbinder,并且service和model在工程中只有一个,所以我们需要用ToSingleton将其作为单例

添加

public class RequestScoreCommand:Command{
  [Inject]
  public IScoreService scoreService{get;set;}
  public override void Execute(){
   scoreService.RequestScore("xxxx.xxx.xxx");//调用响应方法
 }
}

 

[展开全文]
风旅人 · 2019-12-25 · 0

特性绑定

特性标记

 

[展开全文]
lilynumber1 · 2019-12-25 · 0

挂载的脚本的名称必须和预制体的名称相同。

[展开全文]
lilynumber1 · 2019-12-25 · 0

挂脚本的方式:

1、手动挂到预制体上

2、动态挂脚本

保存预制体和脚本的对应关系

Config配置

3、通过预制体的名字反射出脚本的Type对象

4、自己写特性

[展开全文]
lilynumber1 · 2019-12-25 · 0