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