Entitas 中的Event 新增一個分數控制
Event特性可以使得模擬層和檢視層完全解耦
目標: 使得點選一下滑鼠 增加一次分數 (基於Entitas的Written Tutorials的第一個Hello world)
Component
[Game, Unique, Event(true)]
public class ScoreComponent:IComponent {
public int value;
}
System
public class ScoreSystem : ReactiveSystem<GameEntity>, IInitializeSystem
{
readonly Contexts _contexts;
public ScoreSystem(Contexts contexts):base(contexts.game)
{
_contexts = contexts;
}
/// <summary>
/// 初始化
/// </summary>
public void Initialize()
{
_contexts.game.SetScore(0);
}
protected override void Execute(List<GameEntity> entities)
{
_contexts.game.ReplaceScore(_contexts.game.score.value + 1);
}
protected override bool Filter(GameEntity entity)
{
return entity.hasDebugMessage;
}
protected override ICollector<GameEntity> GetTrigger(IContext<GameEntity> context)
{
return context.CreateCollector(GameMatcher.DebugMessage);
}
}
在GameSystem裡新增生成的 Add(new GameEventSystems(contexts));
Monobehavior(啟動指令碼)
public class ScoreLabelController : MonoBehaviour, IScoreListener {
public Text label;
void Start () {
// scoreEntity是單例
Contexts.sharedInstance.game.scoreEntity.AddScoreListener(this);
}
public void OnScore(GameEntity entity, int value)
{
label.text = "Score: " + value;
}
}
相關文章
- winform中Richtextbox控制元件程式碼新增的數字和手動新增的數字字型不一致問題ORM控制元件
- 如何在hadoop中控制map的個數Hadoop
- Laravel event 事件使用中 記錄的一個小問題Laravel事件
- 一個比較好用的分頁控制元件控制元件
- Entitas實現簡析
- Hadoop框架下MapReduce中的map個數如何控制Hadoop框架
- 一個分數類的實現——Rational類
- laravel 在一個控制器的方法中呼叫其他控制器中的方法Laravel
- c語言 將一個陣列中的奇數和偶數分開放在一起C語言陣列
- CQRS 架構中 一個事務生成的多個領域event 如何執行架構
- C語言實現將一個陣列中的奇偶數分別存放C語言陣列
- Oracle 19c中的等待事件分類 Event WaitsOracle事件AI
- SQL 如何計算每個分組的中位數SQL
- 前端的夥伴們, chrome canary 控制檯新增了一個非常實用的功能前端Chrome
- 求一個整數的二進位制中1的個數
- python變數中self的新增Python變數
- Flutter | 擼一個高大上的星級評分控制元件Flutter控制元件
- 一個表單中的資料新增到不同的資料表中
- 用一個巨集實現求兩個數中的最大數
- c# event在form中手工編寫一個按鈕buttonC#ORM
- node中的Event LoopOOP
- Web API中的EventWebAPI
- jquery , find the event handler,找到jquery中的event handlerjQuery
- Golang中十分nice的一個func技巧Golang
- 產生10個1-100的隨機數,並放到一個陣列中,把陣列中大於等於10的數字放到一個list集合中,並列印到控制檯。隨機陣列
- 找一個陣列中特別的數陣列
- 【Android View】寫一個蛛網評分控制元件AndroidView控制元件
- 位運算--求一個 數二進位制中1的個數
- JavaScript中的composition eventJavaScript
- TEC中事件狀態是processed,但在控制檯看不到event事件
- ubuntu新增一個源Ubuntu
- javascript事件控制程式碼中為了相容IE使用的window.event的意思JavaScript事件
- 【c語言】統計一個數二進位制中的1的個數C語言
- WPF中Datagrid控制元件新增行號控制元件
- go中控制goroutine數量Go
- 涉及到一個deadlock event monitor的問題
- 轉:tsm版本控制_的4個引數
- domain event 一定是過去式的event嗎AI