c#获取对象的唯一标识_Articy Importer Guide - 01 基本对象处理
原文鏈接
基本對象處理 Basic Object Handling
當(dāng)你為 Unity 項目從 articy:draft 中導(dǎo)出數(shù)據(jù)時,articy importer 插件將能夠根據(jù)你的數(shù)據(jù)生成數(shù)據(jù)庫,并為所有數(shù)據(jù)創(chuàng)建C#類型和屬性。本篇文章將介紹如何獲取這些數(shù)據(jù)。
本篇文章將包含如下內(nèi)容:
- 簡單對象獲取 Simple Object Access
- 進階對象獲取 Advanced Object Access
- 相關(guān)連接 See Also
簡單對象獲取 Simple Object Access
獲取 articy 對象的最基本方法是直接從數(shù)據(jù)庫中查詢:
// 通過技術(shù)名稱獲取對象 ArticyObject manfred1 = ArticyDatabase.GetObject("Chr_Manfred");使用 ArticyDatabase 類,我們通過 GetObject 方法和技術(shù)名稱 "Chr_Manfred" 獲取到了一個對象。返回的對象是 ArticyObject ,是數(shù)據(jù)庫中所有對象的基本類型。
同樣也能手動轉(zhuǎn)換 ArticyObjec,也可以也可以要求GetObject方法返回特定類型:
該案例中,我們提供了 Player_Character 這一模板名稱,返回的對象將被自動地轉(zhuǎn)換為該類型。變量 manfred2 現(xiàn)在包含著對 Player_Character 類型的實體的引用,我們可以訪問其所有屬性:
技術(shù)名稱(Technical Name)并非是查詢數(shù)據(jù)庫的唯一途徑。另一個辦法是使用 articy 對象獨有的對象id:
請注意如何寫十六進制(如articy:draft中所示)或十進制,這是將id打印到log或?qū)⑵浯鎯υ趇nt中時顯示的。
注意該插件包含將對象的ID轉(zhuǎn)換為其十六進制字符串表示法的方法,反之亦然。 參見ToHex(Int64)
Articy并不要求技術(shù)名稱獨一無二。事實上,完全可以把一個名字分配給多個對象,并使用技術(shù)名稱獲取到所有同名對象。
在這種情況下,要獲取特定對象,請使用具有唯一 id 的 GetObject(id)。
注意由于出錯的可能性很高,建議不要為articy:draft的多個對象故意分配相同的技術(shù)名稱。 要將某些對象組合在一起,請使用自定義模板并按其類型查詢對象。 有關(guān)如何按類型查詢對象的信息,請參見基本對象處理。
進階對象獲取 Advanced Object Access
有時你會想獲取某個特定類型的所有對象。 此時可使用ArticyDatabase包含的GetAllOfType<TObject>()方法。任何標(biāo)準(zhǔn)的articy對象類型都可用于指定,使用自定義的模板亦可。
var allmyItems = ArticyDatabase.GetAllOfType<Item>();
為進一步過濾返回的道具列表,還可使用LINQ指定其他條件。 請參閱Microsoft的LINQ文檔,了解如何編寫LINQ語句。 下面的示例僅選取了價格高于100的item類型對象。
相關(guān)連接 See Also
Reference
ArticyDatabase
ArticyRef
Other Resources
Demo Project: Maniac Manfred
Scripting and how to use it
Object Templates
總結(jié)
以上是生活随笔為你收集整理的c#获取对象的唯一标识_Articy Importer Guide - 01 基本对象处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python输入学号返回成绩_Pytho
- 下一篇: linux开放端口_Linux系统通过f