我正在嘗試爲我製作的遊戲創建一種事件系統(缺少更好的定義)。我需要做的是擁有一組(硬編碼)「核心」功能,我可以以任意方式將它們連接在一起,並定義爲「事件」,然後我可以使用一些任意參數執行該事件。哪種設計模式適用於動態/模塊化「事件」系統?
如果這些「事件」是硬編碼的,f.ex會比較簡單。
hardcodedEvent(int this, int that){
coreFunc1(this);
coreFunc2(that);
coreFunc3(coreFunc4(this + that));
//etc...
}
但是整個的一點是,他們需要是動態的,模塊化的,這樣你就能夠在理論上,構建並表示流程圖/圖中的這些事件一樣的方式(例如: flow-chart編輯器從3d軟件)
最後,我需要這些事件可序列化,以便我可以保存並加載它們作爲文件或從/從數據庫。我已經看過回調,命令,觀察者和狀態機模式,但我不知道哪一個最適合這樣的事情,而且我還沒有和他們中的任何人一起工作太多。