2016-12-20 9 views
0

私は、マルチプレイヤーとシングルプレイヤーモードのゲームを作成しています。それぞれに別々のシーンがあります。私が作成したUIスクリプトのような多くのスクリプトは、両方のシーンで使用されています。しかし、シングルプレイヤーモードでは、UIスクリプトでウェーブバナーを制御したいのですが、マルチプレイヤーモードではそうしたくありません。どのようにUIスクリプトを2つの異なるシーンで少し異なるものにするか。現在のシーンに基づいてスクリプトを変更する

注。私はすでにの可能性を考えている:

string sceneName = SceneManager.GetActiveScene().name; 

if(sceneName == "Singleplayer"){ 
    //control wave banner 
} 

と私は複数のスクリプトのためにそれをしなければならないだろうとして、これを行うためのより良い方法があるかどうばかり思っていました。

答えて

1

文字列比較の質問は少し面倒です。

私は列挙型を実装することをお勧めします。これは、より信頼性の高いです:

public enum GameMode { 
    Singleplayer, 
    Multiplayer 
} 

そして、あなたのコードでそれを使用します。

// you need to rewrite your code to get the enum 
// e.g. 
var gameMode = SceneManager.GetActiveScene().GameMode; 

switch (gameMode) 
{ 
    case GameMode.Singleplayer: 
     // Specific Logic for Singleplayer 
     break; 
    case GameMode.Multiplayer: 
     // Specific Logic for Multiplay 
     break; 
    default: 
     throw new ArgumentOutOfRangeException(); 
} 
+0

おかげで多くのことを@Daniel – Peyton

+0

あなたは歓迎している@Peyton – Daniel

関連する問題