簡體   English   中英

如何在Unity項目之間共享c#源代碼?

[英]How to share c# source between Unity projects?

我們正在進行兩個項目,並希望在它們之間共享一些類。 共享源必須位於單個位置,因此當Project1上的程序員更新代碼時,會立即在Project2中看到這些更改。

重要的是我們不想維護相同代碼的多個副本。 我想我們會同意這樣做的壞習慣。

唯一的選擇似乎是將代碼放在類庫中,並將其作為插件加載到每個項目中。 但是,當引用像GameObject或轉換這樣的Unity類型時,我認為這不起作用。

在C / C ++領域,我們可以將源代碼放在一個目錄中並將其包含在我們想要的任何解決方案中 - 在Unity-land中似乎並不那么容易。 他們是在團結項目之間共享代碼的更好方法嗎?

編輯:所有項目,包括共享代碼,都已受源代碼管理。 這不是源控制問題,它是一個框架問題。 (顯然我需要寫更好的問題!)

讓我們說目錄結構看起來像這樣......

C:\\ Project1 \\ Assets \\ CodeForProject1 \\ StandardAssets \\ Library \\

C:\\ Project2 \\ Assets \\ CodeForProject2 \\ Resources \\ Library \\

D:\\ UsefulCode \\ PlayerClass \\ WeaponsClass \\ DataAccessClass \\

Unity可以參考其他項目的代碼嗎? Unity可以在其自己的Assets文件夾之外引用代碼嗎? 如果是這樣,怎么樣?

我完全理解你所面對的是什么,我們前一段時間遇到了同樣的問題。

我們共享代碼的想法是成為一種中間件,因此它將自然而然地發展。 我們的解決方案是為共享代碼創建一個git模塊。 我知道你說這不是一個源代碼控制問題,但至少在我公司這里,創建一個dll不是一個好的解決方案,因為我們不斷改變共享代碼(我們也嘗試過軟鏈接,但是它非常痛苦)維護所有機器)。

在這里,我們創建了兩個項目:一個用於中間件,另一個用於測試。 最后一個只有中間件的gitmodule和一堆單元測試。 我們這樣做是為了確保不依賴於其他項目。 兩者都在源代碼控制中。 因此,當有人想要在中間件中實現一個新功能時,他/她會在測試項目中進行實現,並且當它完成時會提交給兩個項目。

哦! 可以用Unity類型制作一個dll並正常使用它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM