private void PlayerEnterRoom(ref DataStreamReader reader) { var message = new PlayerEnterRoomMessage(); message.DeserializeObject(ref reader); dataHolder.game.cRoom.PlayerJoinedRoom(dataHolder.players.Find(x => x.playerIndex == message.PlayerID)); dataHolder.game.cRoom.UpdatePlayerUIElements(); }
public void EnterPlayer(MessageHeader playerEnter) { PlayerEnterRoomMessage enterRoom = playerEnter as PlayerEnterRoomMessage; Players enterRoomPlayer = PlayerManager.Instance.Players[enterRoom.PlayerID]; Debug.Log("SpriteEnterRoom " + enterRoomPlayer); enterRoomPlayer.Sprite.SetActive(true); }
public void PlayerJoinedRoom(int joinID, int recieverID) { PlayerEnterRoomMessage message = new PlayerEnterRoomMessage() { PlayerID = joinID }; SendMessage(message, connections[recieverID]); }
/// <summary> /// When a player enters a room, send this to all clients in the same room. /// </summary> private void SendPlayerEnterRoom(Client receivingClient, Client enteringClient) { var message = new PlayerEnterRoomMessage() { PlayerID = enteringClient.PlayerID }; server.SendMessage(message, receivingClient.Connection); }
private void MakeEnterRoommessage(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 enterRoom = new PlayerEnterRoomMessage() { PlayerID = PlayerManager.Instance.Players[i].playerID }; NetworkManager.SendMessage(networkDriver, enterRoom, 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 HandlePlayerEnterRoom(Message message) { PlayerEnterRoomMessage playerEnterRoomMessage = (PlayerEnterRoomMessage)message; Menu.Singleton.gameWindow.OutputText("Player entered room:" + lobby.players[playerEnterRoomMessage.PlayerID].PlayerTextWithColorTag()); }