2016-05-21 5 views
1

私がオンラインで調べたところによると、ほとんどの例では1つのパラメータ(単一のHashtable)が使用されています。しかし、1つの引数しか取らないオーバーロードメソッドがないというエラーが発生しました。それは3つ必要です。これは私が思いついた例ですが、それでも無効な引数があるというエラーが表示されます。Unity Photon room.SetCustomProperties Not Working

room.SetCustomPropertiesを使用するにはどうすればよいですか?

public void PlacingStone() 
{ 
    Hashtable setPlacingStone = new Hashtable {{ RoomProperties.PlacingStone, true }}; 
    Hashtable currentValues = new Hashtable {{ RoomProperties.PlacingStone, 
    (bool) PhotonNetwork.room.customProperties [ RoomProperties.PlacingStone ] }}; 
    PhotonNetwork.room.SetCustomProperties (setPlacingStone, currentValues, true); 

    StartCoroutine ("WaitOnStone"); 
} 

答えて

1

問題は、複数のハッシュテーブルを使用しようとしていることです。あなたは行って、ハッシュテーブルに別のものを追加することができます。

PhotonNetwork.room.SetCustomProperties(new ExitGames.Client.Photon.Hashtable() { 
    { RoomProperties.PlacingStone, true }, { RoomProperties.PlacingStone, 
    (bool) PhotonNetwork.room.customProperties [ RoomProperties.PlacingStone ] } }); 

または

Hashtable t = new Hashtable(); 
t.Add(RoomProperties.PlacingStone, true); 
t.Add(RoomProperties.PlacingStone, (bool) PhotonNetwork.room.customProperties [ RoomProperties.PlacingStone ]); 
PhotonNetwork.room.SetCustomProperties(t); 
+0

申し訳ありませんが、これはnecroですが、どのように値(たとえば、「isStreaming」と呼ばれるbool)を更新しますか。 – Parrotmaster

0

感謝を!問題はPhoton Hashtablesだった。私はあなたが言ったようにそれらを使用する必要があり、私はまた、Hashtable = ExitGames.Client.Photon.Hashtableを使用して追加しました。簡単にするためにページの上部に表示されます。

using Hashtable = ExitGames.Client.Photon.Hashtable; 

public void SetProperties() { 
    Hashtable setPlacingStone = new Hashtable {{ RoomProperties.PlacingStone, true } 

PhotonNetwork.room.SetCustomProperties (setPlacingStone); 

    StartCoroutine ("WaitOnStone"); 
}