public void LeavePlayer(MessageHeader playerLeave) { PlayerLeaveRoomMessage leaveRoom = playerLeave as PlayerLeaveRoomMessage; Players player = PlayerManager.Instance.Players[leaveRoom.PlayerID]; player.Sprite.gameObject.SetActive(false); }
public void PlayerLeftRoom(int leftId, int recieverID) { PlayerLeaveRoomMessage message = new PlayerLeaveRoomMessage() { PlayerID = leftId }; SendMessage(message, connections[recieverID]); }
/// <summary> /// When a player leaves a room, send this to all clients in the room. /// </summary> private void SendPlayerLeaveRoom(Client receivingClient, Client leavingClient) { var message = new PlayerLeaveRoomMessage() { PlayerID = leavingClient.PlayerID }; server.SendMessage(message, receivingClient.Connection); }
private void PlayerLeaveRoom(ref DataStreamReader reader) { var message = new PlayerLeaveRoomMessage(); message.DeserializeObject(ref reader); Debug.Log("message id: " + message.PlayerID); //Debug.Log("message id: " + ); dataHolder.game.cRoom.PlayerLeftRoom(dataHolder.players.Find(x => x.playerIndex == message.PlayerID)); dataHolder.game.cRoom.UpdatePlayerUIElements(); }
private void MakeLeaveRoomMessage(int i) { for (int j = 0; j < connections.Length; j++) { Players currentPlayer = PlayerManager.Instance.Players[i]; Players compairePlayer = PlayerManager.Instance.Players[j]; if (currentPlayer.TilePosition == compairePlayer.TilePosition) { var LeaveRoom = new PlayerLeaveRoomMessage() { PlayerID = PlayerManager.Instance.Players[i].playerID }; NetworkManager.SendMessage(networkDriver, LeaveRoom, connections[j]); } } SendNewRoomInfo(); }
public void Update() { networkJobHandle.Complete(); if (!connection.IsCreated) { return; } DataStreamReader reader; NetworkEvent.Type cmd; while ((cmd = connection.PopEvent(networkDriver, out reader)) != NetworkEvent.Type.Empty) { if (cmd == NetworkEvent.Type.Connect) { Debug.Log("Connected to server"); } else if (cmd == NetworkEvent.Type.Data) { var messageType = (Message.MessageType)reader.ReadUShort(); Debug.Log("Client Received: " + messageType + " from Host"); Message message = null; switch (messageType) { case Message.MessageType.None: break; case Message.MessageType.NewPlayer: message = new NewPlayerMessage(); break; case Message.MessageType.Welcome: message = new WelcomeMessage(); break; case Message.MessageType.RequestDenied: message = new RequestDeniedMessage(); break; case Message.MessageType.PlayerLeft: message = new PlayerLeftMessage(); break; case Message.MessageType.StartGame: message = new StartGameMessage(); break; case Message.MessageType.PlayerTurn: message = new PlayerTurnMessage(); break; case Message.MessageType.RoomInfo: message = new RoomInfoMessage(); break; case Message.MessageType.PlayerEnterRoom: message = new PlayerEnterRoomMessage(); break; case Message.MessageType.PlayerLeaveRoom: message = new PlayerLeaveRoomMessage(); break; case Message.MessageType.ObtainTreasure: message = new ObtainTreasureMessage(); break; case Message.MessageType.HitMonster: message = new HitMonserMessage(); break; case Message.MessageType.HitByMonster: message = new HitByMonserMessage(); break; case Message.MessageType.PlayerDefends: message = new PlayerDefendsMessage(); break; case Message.MessageType.PlayerLeftDungeon: message = new PlayerLeftDungeonMessage(); break; case Message.MessageType.PlayerDies: message = new PlayerDiesMessage(); break; case Message.MessageType.EndGame: break; default: break; } if (message != null) { message.DeserializeObject(ref reader); receivedMessagesQueue.Enqueue(message); } } else if (cmd == NetworkEvent.Type.Disconnect) { Debug.Log("Disconnected from server"); connection = default; } } ProcessMessagesQueue(); if (Time.time - lastSendTime > STAY_ALIVE_AFTER_SECONDS) { SendMessage(new NoneMessage()); } networkJobHandle = networkDriver.ScheduleUpdate(); }
public void HandlePlayerLeaveRoom(Message message) { PlayerLeaveRoomMessage playerLeaveRoomMessage = (PlayerLeaveRoomMessage)message; Menu.Singleton.gameWindow.OutputText("Player left room:" + lobby.players[playerLeaveRoomMessage.PlayerID].PlayerTextWithColorTag()); }