Unity擴(kuò)展Hierachry的右鍵菜單
游戲制作到一定階段后,一定會(huì)出現(xiàn)一些GameObject的“模板”。比如一個(gè)敵人一定會(huì)有一個(gè)“Enemy Behaviour”、“Box Collider”等。雖然Prefab可以用來作為“預(yù)制件”,但是Prefab產(chǎn)生的物體和Prefab自身有關(guān)聯(lián),同時(shí)還要從Project菜單里去找到Prefab再拖出來。
一個(gè)解決方案是擴(kuò)展編輯器菜單,就像右鍵Hierachry時(shí)出現(xiàn)的3D Object、2D Object一樣??梢詣?chuàng)造GameObject的菜單有兩個(gè),一個(gè)是頂部菜單的GameObject,另一個(gè)是Hierachry的右鍵菜單。
在Unity Editor Extensions – Menu Items 的文章中提到了如何擴(kuò)展頂部菜單.
using UnityEngine; using UnityEditor; public class MenuItems { [MenuItem("Tools/Clear PlayerPrefs")] private static void NewMenuOption() { PlayerPrefs.DeleteAll(); } }
但是沒有提到Hierachry右鍵菜單的擴(kuò)展。
在此文章提到,Hierachry右鍵菜單其實(shí)來自于頂部GameObject的菜單,只是截取了其中的“一段”。如果要擴(kuò)展,只需要把添加到GameObject菜單的菜單項(xiàng)的優(yōu)先級(jí)設(shè)置到這“一段”之間即可。這樣就可以同時(shí)出現(xiàn)在GameObject菜單和Hierachry右鍵菜單中了。
public static class Test { [MenuItem("GameObject/MyMenu/Do Something", priority = 0)] static void Init() { Debug.Log("here"); } }
下圖顯示了兩個(gè)菜單中各項(xiàng)的優(yōu)先度??梢钥吹街灰獌?yōu)先度在0到49之間,就可以同時(shí)出現(xiàn)在兩個(gè)菜單中。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
混合語言編程—C#使用原生的Directx和OpenGL繪圖的方法
本文要說的是混合C#和C/C++語言編程,在C#的Winform和WPF下使用原生的Direct和OpenGL進(jìn)行繪圖2013-09-09C#中DataGridView導(dǎo)出Excel的兩種方法
這篇文章主要介紹了C#中DataGridView導(dǎo)出Excel的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01C#畫筆Pen保存和恢復(fù)圖形對(duì)象的設(shè)置方法
這篇文章主要介紹了C#畫筆Pen保存和恢復(fù)圖形對(duì)象的設(shè)置方法,實(shí)例分析了畫筆的保存save及恢復(fù)屬性Restore的相關(guān)使用技巧,需要的朋友可以參考下2015-06-06C#獲得程序的根目錄以及判斷文件是否存在的實(shí)例講解
今天小編大家分享一篇C#獲得程序的根目錄以及判斷文件是否存在的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06C#中將xml文件反序列化為實(shí)例時(shí)采用基類還是派生類的知識(shí)點(diǎn)討論
在本篇文章里小編給大家整理的是關(guān)于C#中將xml文件反序列化為實(shí)例時(shí)采用基類還是派生類的知識(shí)點(diǎn)討論,有需要的朋友們學(xué)習(xí)下。2019-11-11C#算法設(shè)計(jì)之關(guān)于1000瓶水的問題
這篇文章主要介紹了C#算法設(shè)計(jì)之關(guān)于1000瓶水的問題,是一個(gè)比較經(jīng)典的算法問題,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01