re
re
protobuf 把对象转换成数据,数据来做传输
可以用于客户端和服务端数据传输。
## 游戏编程框架
推荐视频:
有限状态机
AssetDatabase
1.在CommandRequest里注入分数的服务接口
2a.分数服务接口绑定到其分数实现接口
2b.CommandRequest 命令绑定到 DEMOCommandConText.Request 命令环境
3.在View的mediator里触发DEMOCommandConText.Request 命令
------------分割线--------------------
RequestScoreCommand:
[inject]
public IScoreService scoreservice;
--------需要跳去Demo1Context做service的注入绑定:injectionBinder.Bind<IScoreservice>().Bind<ScoreService>().ToSingleton();
//ToSingleton 表示这个对象只会再整个工程中生传一个
---------------------
-【injetct】是一个局部派发器
-【inject(ContextKeys.CONTEXT_DOS[ATCHER)】 是一个全局派发器
view 视图里有View和Mediator
绑定语句:mediationBinder.Bind<>().To<>();
1.创建一个分数模型;
ScoresModel
public int scores{get;set;}
2.再创建一个Service(对外界进行交互):IScoresService
pubulic interface IScoresService{
void getscore(string url);
int OnReceIveScore(); //收到发过来的分数
void UpdateScore(string url , int score);
}
-------model和servuce不需要继承behorvier---
3.实现IScoresService接口
创建 C# ScoreService
Public class ScoreService : IScoreService //实现接口
创建一个startcommand
command一般与枚举类型
//model
//serivce
//command
//mediator
commmandBinder(做命令的绑定)
commmandBinder.Bind(contextEvent.strat) //Bind方法(把一个命令和一个枚举类型做绑定)
//contextEvent是构架提供的一个枚举类型
完整绑定语句:commandBinder.Bind(ContextEvent.START).To<StratCommand>();
绑定完成后会自动开始调用 C#文件:CommandStart
饶了好大一圈
1.如果当前类未继承MonoBehaviour,还想调用AudioSource组件的方法的话,可以使用AudioSource的静态方法调用。
看到这里,总算明白strange怎么用了
刘刚讲的视频花一小时看完了,讲的不错啊,搞项目时,里面有不少东西可以借鉴;
刘刚讲的视频花一小时看完了,讲的不错啊,搞项目时,里面有不少东西可以借鉴;
单例(非线程安全)
private static PoolManager _instance;
public static PoolManager Instance{
get{
if(_instance==null){//判断是否已经创建过这个单例
_instance=new PoolManager();
}
return _instance;
}
}
private PoolManager(){}//单例的构造方法
public Init(){}
可以在StarCommand中初始化pool
创建配置文件不能直接new,需要使用
GameObjectPoolList poolList=ScriptableObject.CreateInstance<GameObjectPoolList>();
来创建
AssetDatabase.CreateAsset(pooList,"Assets/Framework/Resources/gameobjectpool.asset");
AssetDatabase.SaveAsset();
将配置文件保存至xxxx路径,使用saveAsset方法保存
创建一个类使之继承自ScriptableObject 表示把这个类变成可以自定义资源配置的文件
file.Exists()判断文件是否存在
跟编辑器有关的脚本放在Editor文件夹下
不用知道函数返回什么类型,可以使用typeof()定义一个用于接收该函数返回值的变量
可以使Command继承自EventCommand,因为EC自带访问全局dispatch并且含有Ievent可以传递数据,不需要自己手动写