unity的wiki.
內聯**片
。
using unityengine;
using system;
using system.collections;
[attributeusage
( attributetargets.property )
]public
class
exposepropertyattribute
: attribute
using unityeditor;
using unityengine;
using system;
using system.collections;
using system.collections.generic;
using system.reflection;
public
static
class
exposeproperties
editorguilayout.
endhorizontal()
;}editorguilayout.
endvertical()
;}public
static propertyfield[
]getproperties
(system.object obj)}if
(!i***posed)
continue
; serializedpropertytype type = serializedpropertytype.integer;
if(propertyfield.
getpropertytype
(info, out type))}
return fields.
toarray()
;}}public
class
propertyfield
}public string name
}public
propertyfield
(system.object instance, propertyinfo info, serializedpropertytype type)
public system.object getvalue()
public
void
setvalue
(system.object value));
}public type getpropertytype()
public
static bool getpropertytype
(propertyinfo info, out serializedpropertytype propertytype)
if(type ==
typeof
(float))if
(type ==
typeof
(bool))if
(type ==
typeof
(string))if
(type ==
typeof
(vector2))if
(type ==
typeof
(vector3))if
(type.isenum)
// comment out to not expose custom objects/types
//注釋以不公開自定義物件/型別
propertytype = serializedpropertytype.objectreference;
return
true
;//return false;
}}
內聯**片
。
using unityeditor;
using unityengine;
using system.collections;
/**mytype改為所要顯示屬性的指令碼名稱
*editorforchildclasses: true true則顯示子類元件顯示屬性*/[
customeditor
(typeof
(mytype)
, editorforchildclasses:
true)]
public
class
mytypeeditor
: editor
public override void
oninspectorgui()
}
最後在指令碼中對一些public且可讀可寫的property新增[exposeproperty] Python中inspect模組的一些認識
學習python時遇到了inspect模組的使用,不甚了解,在此簡要的認識一下。inspect模組主要提供了四種用處 對是否是模組,框架,函式等進行型別檢查。獲取原始碼 獲取類或函式的引數資訊 解析堆疊 這裡我不詳細的敘述這四種用法,噹噹講一下如何使用inspect獲取類或函式的引數資訊。還是通過 ...
C 字典Dictionary在unity中使用案例
c 字典在unity中使用案例 1 前言 講起c dictionary,許多人聞之色變,不了解,不清楚,即使知道,了解,也不一定會用,鑑於此,本人特地總結了乙個使用字典的案例。2 什麼是字典。必須包含名空間system.collection.generic dictionary裡面的每乙個元素都是乙...
單例模式在Unity中的應用
起因 每個遊戲場景中都會有許多的遊戲物件,而各個遊戲場景之間也是同等的關係。如何去管理它們,是我們要解決的問題。場景中各指令碼間的直接訪問,會在各指令碼間形成乙個巨大而又混亂的網路,這給以後 的維護帶來了極大的困難。為了避免這種因互動訪問而帶來的過度耦合情況,我們取消掉場景中各指令碼間的直接互動,取...