Skip to main content

[Unity] erinylin.lazylib - fsm2.0

怕上篇文章越改越長,就直接開新的貼。

erinylin_fsm2.0.unitypackage

A finite-state machine (FSM) v2.0, use ScriptObject to preset states.

有限狀態機更新版。本人有強迫症,喜歡將工具不斷改寫。本版本主要是學習到 ScriptableObject and EditorGUI 時改寫的。


Feature:

  • Change the State class to ScriptableObject. And rewrite FSMSystem class. 將 State class 改成 ScriptableObject, 並修正了 FSMSystem class 的一些函式。
  • Export the State of Constant class by one click. 重點來了,建立好的 StateScriptableObject 可以直接點選 Export 按鈕建立其常數類別檔!

State ScriptableObject can create by Editor Menu: Assets / Create / Lazylib / StateScriptableObject



懶人守則: 能自動化的就不用手打

Exports the State of Constant class file by one click.



Unity Editor 相關 GUI API 非常方便好用,可以實現客製化組件編輯器,也可以理解為什麼 Unity Asset Store 如此蓬勃發展了。組件設計的好,製作遊戲基本上只需要拖拉修改設定即可。CoronaSDK 這點就很可惜,即使現在有 GUI 編輯器,但是因為限制還是很多,所以彈性並不大...不過 CoronaSDK 還是有它的優點,畢竟無痛入門這點就蠻不錯,而 Unity 就需要較長的學習曲線。所以挑選製作工具其實還是看專案需求而定,並沒有哪個開發工具更好。

Comments

Popular posts from this blog

PureMVC 我也會 [6]

Mediator ViewComponents 與 pureMVC 架構的中介 監聽並反應 View Component 發出的 Event 可以發送與接收 Notification 儘量少操作 Proxy 公開方法,多用 sendNotification... Mediator design pattern 要多認識這個 Mediator 設計模式的話,請自行看連結說明啊! 簡單來講,假使有一個 View 裡面有好幾個 MovieClip 組成,而這些 MovieClip 會互相影響對方...這個情況在 Flash 中,通常都會變成下圖: MovieClip 直接控制其他 MovieClip 搞到整個關係很複雜...換一個元件簡直是災難。 加入 Mediator 後,示意圖就會變成: 這樣,所有的 MovieClip 都透過 Mediator 來跟其他 MovieClip 溝通,當某一個 MovieClip 替換成別的元件,這時候也只需要修改 Mediator 中的引用即可,是不是變得很乾淨?如果同一組 MovieClip 有另外一個操作模式,也只需要替換掉 Mediator 即可!天下太平啊~~~ 而 PureMVC 中就是利用 Mediator class 為與前端 ViewComponent 的中介,這樣可以切開 ViewComponent 與 PureMVC framework 的關係,不管你前端介面使用 Flash or Flex 製作都跟程式核心無關。 所以 ViewComponent 製作時只需要兩個原則,一把所有的請求都以 Event 送出由 Mediator 處理,二提供公開方法, Mediator 只需要監聽 View 的 Event,將收到的資訊透過公開方法喂進 ViewComponent 即可。 如在 ViewComponent 中: public function setList( result:Object ):void{ list.dataProvider = result as ArrayCollection; } //然後在按下取得資料的按鈕 Click action 寫上: dispatchEvent( new Event( "GET_LIST" )); 新建 Mediator 的時候一樣有幾個重點方...