public void OnStateChangeHandler(object sender, RoomUpdateEventArgs e) { if (e.isFirstState) { IndexedDictionary <string, object> players = (IndexedDictionary <string, object>)e.state ["players"]; return; } if (e.state.ContainsKey("command")) { switch (e.state["command"] as string) { case "queued": Debug.Log("Queued for matchmaking"); break; default: break; } } else { Debug.Log("-----Keys:"); foreach (string key in e.state.Keys) { Debug.Log(key); } Debug.Log("-----values:"); foreach (object v in e.state.Values) { Debug.Log(v); } } }
void OnStateChangeHandler(object sender, RoomUpdateEventArgs e) { // Setup room first state if (e.isFirstState) { IndexedDictionary <string, object> players = (IndexedDictionary <string, object>)e.state ["players"]; } }
void Room_OnStateChange(object sender, RoomUpdateEventArgs e) { Debug.Log("OnStateChange"); Debug.Log("Is First State = " + e.isFirstState); Debug.Log("State = " + e.state); var update = teamLayout.UpdateTeams(e.state); string myId = ColyseusConnector.Instance.Client.id; IsOwner = myId == update.OwnerId; IsReady = update.Players.FirstOrDefault(p => p.Id == myId)?.Ready ?? false; AllPlayersReady = update.Players.All(p => p.Ready); }
public override void OnEvent(Dictionary <byte, object> parameter) { // Create args. RoomUpdateEventArgs args = new RoomUpdateEventArgs(); // Deserialize data. byte[] roomInfoDataByte = (byte[])parameter[(byte)ParameterCode.RoomInfoData]; args.roomInfoData = (RoomInfoData)ProtoBufTool.Deserialize <RoomInfoData>(roomInfoDataByte); NetworkRecord.RoomInfoData = args.roomInfoData; if (RoomUpdateEvent != null) { RoomUpdateEvent(this, args); } }
void OnUpdateHandler(object sender, RoomUpdateEventArgs e) { // Setup room first state if (e.isFirstState) { IndexedDictionary <string, object> players = (IndexedDictionary <string, object>)e.state ["players"]; // trigger to add existing players foreach (KeyValuePair <string, object> player in players) { this.OnPlayerChange(new DataChange { path = new Dictionary <string, string> { { "id", player.Key } }, operation = "add", value = player.Value }); } } }
void OnUpdateHandler(object sender, RoomUpdateEventArgs e) { // Debug.Log(e.state); }
public void OnStateChangeHandler(object sender, RoomUpdateEventArgs e) { }
void OnUpdate(object sender, RoomUpdateEventArgs e) { }
void Room_OnStateChange(object sender, RoomUpdateEventArgs e) { OnStateChange?.Invoke(sender, e); }
/// <summary> /// Triggers whenever the state variable is updated /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnUpdateHandler(object sender, RoomUpdateEventArgs e) { print("OnUpdate"); }