最近在Assetstore下載了1000+RMB 的插件 UFE 和 控制插件 CF2,學(xué)習(xí)了插件的一些內(nèi)容帽芽,這里總結(jié)下
如何鏈接兩個(gè)插件的?
首先是看下兩個(gè)插件是怎么結(jié)合起來(lái)的续崖,這里作者使用了橋接器模式(Bridge)使得CF2和UFE的Input層可以獨(dú)自面對(duì)自己的變化
1111.png
CF2的設(shè)計(jì)
CF2的設(shè)計(jì)使用了Unity 的底層點(diǎn)擊接口吏恭,觸發(fā)點(diǎn)擊事件然后委托給TouchControlPanel去處理這個(gè)點(diǎn)擊的事件點(diǎn)蜕琴,通過(guò)射線的方法去檢查點(diǎn)擊到的組件莱预,組件自帶自身信息(是按鈕嗎抛寝?是搖桿嗎氧枣?等等)沐兵,如果點(diǎn)擊到了所在的組件,進(jìn)入pool中便监,通過(guò)橋接器的模式等待UFE來(lái)取得緩存在pool里面的控件扎谎。
UFE的設(shè)計(jì)
UFE的設(shè)計(jì)比較復(fù)雜,主要通過(guò)ControlScript來(lái)進(jìn)行組織烧董,值得一提的事毁靶,通過(guò)每幀去獲取Input的指令集,然后匹配編輯器里配置的一些動(dòng)畫對(duì)應(yīng)的信息并實(shí)現(xiàn)對(duì)動(dòng)畫的播放逊移,以及通過(guò)編輯器編輯的碰撞區(qū)的信息進(jìn)行碰撞檢測(cè)等预吆。
編輯器
編輯器的結(jié)構(gòu)
Global + Charactor + Move + AI