根据我在网上查询的内容,大多数示例都采用一个参数,即一个Hashtable
。但是,我一直收到一个错误,说没有只有一个参数的重载方法。它需要三个。这是我提出的例子,但我仍然收到错误,说它有无效的参数。
如何使用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" );
}
答案 0 :(得分: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);
答案 1 :(得分: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" );
}