2017-08-24 205 views
0

特定的場景腳本的特定部分我一直在尋找這2到3天,但無法找到任何解決方案。有沒有辦法寫unity3d

我真正想要的是,將每個場景統一處理爲github/bitbucket中的分支功能,以便我可以更改特定腳本中的代碼行的某些部分,以針對不同的場景進行不同的工作。

如果我在遊戲中更改場景,我希望我的遊戲加載特定於此場景的腳本。

例如:有一個名爲腳本,xyz.cs

如果我的遊戲是玩SCENE1,在xyz.cs變化的一些代碼行。 如果我的遊戲正在播放scene2,xyz.cs中某些代碼行的變化可能與上面的場景行不同。

基本上git的場景(作爲分支)在我的遊戲統一的分支功能。

謝謝。

+0

爲什麼不直接使用分支混帳?乍一看,這似乎是你過度複雜的問題。 –

+2

如果這不是一個關於版本控制的問題,並且你希望有一個類似的腳本有基於場景的稍微不同的實現,我會考慮使用一個抽象類或接口,並有一個類爲每個場景繼承它。 –

+0

如上所述,一個名爲SceneAbstract的類具有抽象方法(和實現的),然後是子類,如Level1:SceneAbstract。 – Everts

回答

0

在git中管理統一項目是可以的。但無論是管理不同的分支每個場景,這取決於你的需要和情況:

  • 如果.cs文件中的每一個場景需要從時間更改時間,您可以管理不同的分支每個場景中的git和它將幫助您分別跟蹤不同場景的每個版本。
  • 如果.cd文件對於每個場景都是不變的,您可以管理同一分支中的不同場景,並使用Sam在評論中所說的方式。

如果您管理不同分支中的每個場景,則應該爲每個分支保留.cs文件的實體(不是腳本的一部分)。但您可以根據需要更改.cs文件。只要你想改變SCENE2 xys.cs文件基礎上SCENE1文件xyz.cs

這樣,你就可以使用下面的命令:

# On scene2 branch 
git checkout scene1 xyz.cs 
# the xyz.cs in scene2 branch will be same as scene1 
# change the part you want to modify 
git add . 
git commit -m 'change part of xyz.cs file in scene2 branch' 
+0

是的,謝謝,但我正在談論自己在遊戲中的相同場景。如果我在遊戲中更改場景,應該加載新的更改後的腳本。我想在我的遊戲中使用git分支功能來處理場景。 – djkp

+0

所以你的問題與使用git來版本控制統一無關,但是如何在場景改變後加載更新的腳本(你可以嘗試使用腳本API解決問題)。你可以刪除標籤'版本控制'以便你的問題可以更好地描述和理解。 –