天天看點

Unity 遊戲架構搭建 2019 (五十) 消息機制小結

我們花了 5 篇文章學習了消息機制的方方面面。并且完成了一個簡易消息機制,之後內建到了我們的 MonoBehaviourSimplify 裡。

現在 MonoBehaviourSimplify 有一點架構的感覺了。因為 MonoBehaviourSimplify 在提供消息功能的同時,決定了項目腳本中的互動方式。而目前的這套結構,足夠用它來完成一個比較小的項目了。

消息機制是筆者在接觸單例之後,第二次被震撼到的設計模式(觀察者模式/釋出者訂閱者模式)。而筆者在初學的時候,還不太敢去設計 MonoBehaviourSimplify 這樣的基類,因為當時總覺得自己對 MonoBehaviour 生命周期了解得不夠透徹。但是,筆者在使用消息機制的時候遇到了很多問題,比如之前提到的,總是忘記登出消息,進而導緻遊戲閃退等各種奇怪的 bug,随着 bug 遇到得多了,就越來越意識到自動登出消息的重要性,而自動登出消息最好的方式就是通過繼承基類的方式。是以就冒着風險被迫着就去寫了這麼一個類,這個類以前的名字叫做 QNode 也就是我們今天 MonoBehaviourSimplify 的前身,直到現在為止,QFramework 的核心還是通過 QNode 演變過來的類,現在叫做 QMonoBehaviour。

而在當時通過設計這麼一個基類之後,筆者就對設計父類這種形式有了很大的信心,是以就隻要能加到 MonoBehaviourSipmlify 的東西就全部加進去了,一直這樣下去,理論上這樣也不會發生問題,但是後來又找到了更好的方式,學習了更好的方式之後呢,就可以分辨出來哪個适合繼承,哪個适合用方法獨立實作,而哪個适合做成更複雜的系統。不過目前的這套結構,如果各位學到這裡也沒有太大的問題,已經可以拿去做項目了。

但是如果想做出更好的庫和架構,那就最好認真看完這個專欄的文章。因為這是筆者三年架構思考的濃縮版。

而到目前為止,我們可以畫出來一個架構的結構圖了。

如下所示:

Unity 遊戲架構搭建 2019 (五十) 消息機制小結

雖然東西不多,但是至少目前的我們的庫可以叫做架構了。

到這裡呢,我們還沒有去講架構、架構、庫這些東西,現在正是講這些概念的最好時機,是以從下一篇開始,我們會慢慢接觸這些概念。

今天的内容就這些,我們下一篇再見,拜拜~ 。

轉載請注明位址:涼鞋的筆記:liangxiegame.com

更多内容

  • QFramework 位址:https://github.com/liangxiegame/QFramework
  • QQ 交流群:623597263
  • Unity 進階小班:
    • 主要訓練内容:
      • 架構搭建訓練(第一年)
      • 跟着案例學 Shader(第一年)
      • 副業的孵化(第二年、第三年)
    • 權益、授課形式等具體詳情請檢視《小班産品手冊》:https://liangxiegame.com/master/intro
  • 關注公衆号:liangxiegame 擷取第一時間更新通知及更多的免費内容。