2017-01-20 8 views
0

PhotonNetwork.CreateRoom()関数を使用しようとするとエラーが発生します。私は6つの引数を渡そうとしています。部屋を作成するオーバーロードされていないメソッドエラー

My Unityバージョンは4.7.2であり、この機能は光子クラウドプラグインのものです。

CheckPlayerNameAndRoom(); 
PhotonNetwork.player.name = playerName; 
Hashtable setMapName = new Hashtable(); 
setMapName["MapName"] = allMaps[selectedMap].mapName; 
setMapName["RoundDuration"] = roundDuration; 
setMapName["GameMode"] = gameMode; 
string[] exposedProps = new string[3]; 
exposedProps[0] = "MapName"; 
exposedProps[1] = "RoundDuration"; 
exposedProps[2] = "GameMode"; 
//Create new Room 
PhotonNetwork.CreateRoom(newRoomName, true, true, maxPlayers, setMapName, exposedProps); 
+2

エラーが表示されているのを確認して、コピー/貼り付けすると便利です。 – Jecoms

答えて

3

単純に間違ったパラメータをCreateRoom関数に渡していることを意味します。

光子documentationによれば、functiomの3つの過負荷があります。

static bool CreateRoom (string roomName) 

static bool CreateRoom (string roomName, RoomOptions roomOptions, TypedLobby typedLobby) 

static bool CreateRoom (string roomName, RoomOptions roomOptions, TypedLobby typedLobby, string[] expectedUsers) 

これらの関数のうち、boolまたは6つのパラメータはありません。このような問題が発生した場合は、必ずドキュメントを確認してください。

以下は、各メソッドのオーバーロードの使用方法の例です。

string newRoomName = "AloneWolf"; 

if(CreateRoom (newRoomName)) 
{ 
    //Success 
} 

それとも

string newRoomName = "AloneWolf"; 
RoomOptions roomOptions = new RoomOptions(); 
TypedLobby typedLobby = new TypedLobby(); 

if(CreateRoom (newRoomName, roomOptions, typedLobby)) 
{ 
    //Success 
} 

それとも

string newRoomName = "AloneWolf"; 
RoomOptions roomOptions = new RoomOptions(); 
TypedLobby typedLobby = new TypedLobby(); 
string[] expectedUsers = { "AloneWolf","OtherUsers"}; 

if(CreateRoom (newRoomName, roomOptions, typedLobby, expectedUsers)) 
{ 
    //Success 
} 
0

あなたの答えのおかげで、私はこのコード

Hashtable roomProps = new Hashtable() { { "MapName", allMaps[selectedMap].mapName }, { "RoundDuration", roundDuration },{ "GameMode", gameMode } }; 
 
\t \t \t \t string[] roomPropsInLobby = { "MapName", "RoundDuration" ,"GameMode" }; 
 
\t \t \t \t RoomOptions roomOptions = new RoomOptions(); 
 
\t \t \t \t roomOptions.customRoomProperties = roomProps; 
 
\t \t \t \t roomOptions.customRoomPropertiesForLobby = roomPropsInLobby; 
 
\t \t \t \t roomOptions.isVisible = true; 
 

 
\t \t \t \t roomOptions.maxPlayers = (byte)maxPlayers; 
 
\t \t \t \t PhotonNetwork.CreateRoom(newRoomName,roomOptions,TypedLobby.Default);

を書きます

これは、人々がゲームに参加し、部屋の最大のプレーヤーを見ることができます作品。もう一度幸運に感謝します。

関連する問題