public Room(int _id, Server _server, ServerMessageHandler _sender, int _maxPlayers, RoomLogger logger) { maxPlayers = _maxPlayers; numPlayers = 0; sender = _sender; server = _server; started = false; record = ""; id = _id; activatedSwitchGroups = new List <int>(); systemsManager = new RoomSystems(); obstacleManager = new RoomObstacles(); objectManager = new RoomDestroyedObjects(); poisHandler = new PoisHandler(); players = new List <NetworkPlayer>(); switchs = new List <RoomSwitch>(); enemies = new List <NetworkEnemy>(); deathGameObject = new List <string>(); hpManager = new RoomHpMp(this); if (logger == null) { log = new RoomLogger(this.id); } else { log = logger; } sceneToLoad = Server.instance.sceneToLoad; }
private void SendPlayerLeftChatZoneSignal(string msg, string ip) { NetworkPlayer player = server.GetPlayer(ip); Room room = player.room; RoomLogger log = room.log; log.WritePlayernotCharging(player.id); }
private void PlayerEnteredChatZone(string msg, string ip) { NetworkPlayer player = server.GetPlayer(ip); Room room = player.room; RoomLogger log = room.log; log.WritePlayerIsCharging(player.id); }
private void AddConnection(int connectionId) { int port; byte recError; string recAddress; UnityEngine.Networking.Types.NodeID recNodeId; UnityEngine.Networking.Types.NetworkID recNetId; NetworkTransport.GetConnectionInfo(socketId, connectionId, out recAddress, out port, out recNetId, out recNodeId, out recError); NetworkPlayer player = GetPlayer(recAddress); // Jugador existía y se reconecta. if (player != null) { player.connected = true; player.connectionId = connectionId; SendMessageToClient(connectionId, "ChangeScene/" + player.room.sceneToLoad, true); List <NetworkPlayer> players = player.room.players; foreach (NetworkPlayer connectedPlayer in players) { if (connectedPlayer.controlOverEnemies) { SendMessageToClient(connectionId, "PlayerHasReturned/", true); break; } } messageHandler.SendAllData(recAddress, player.room); player.room.SendControlEnemiesToClient(player, false); player.SendDataToRoomBoxManager(); UnityEngine.Debug.Log("Client " + recAddress + " reconnected"); return; } //Jugador no existía y se crea uno nuevo. Room room = SearchRoom(); if (room == null) { roomCounter++; RoomLogger logger = null; if (lastDestroyedRoom != null) { logger = lastDestroyedRoom.log; lastDestroyedRoom = null; } room = new Room(roomCounter, this, messageHandler, maxPlayers, logger); RoomManager rm = GameObject.FindGameObjectWithTag("RoomManager").GetComponent <RoomManager>(); if (!rm) { UnityEngine.Debug.LogError("No se encontró RoomManager en ServerScene. uwu 1"); } rm.AddNewRoom(room); rooms.Add(room); } room.AddPlayer(connectionId, recAddress); }
private void HandleEnterButDontCare(string[] msg, string ip) { string poiID = msg[1].ToString(); string incomingPlayer = msg[2].ToString(); NetworkPlayer player = server.GetPlayer(ip); Room room = player.room; RoomLogger log = player.room.log; log.WriteEnterPOIButDontCare(player.id, poiID); }
private void HandleReadyPoi(string[] msg, string ip) { string poiID = msg[1]; NetworkPlayer player = server.GetPlayer(ip); Room room = player.room; RoomLogger log = player.room.log; log.WritePoiIsReady(player.id, poiID); room.poisHandler.AddPoiReady(poiID); room.SendMessageToAllPlayersExceptOne("ReadyPoi" + "/" + poiID, ip, true); }
private void HandleEnterPOI(string[] msg, string ip) { string poiID = msg[1].ToString(); string incomingPlayer = msg[2].ToString(); NetworkPlayer player = server.GetPlayer(ip); Room room = player.room; RoomLogger log = player.room.log; log.WriteEnterPOI(player.id, poiID); room.SendMessageToAllPlayersExceptOne("PoiReached" + "/" + poiID + "/" + incomingPlayer, ip, true); }
private void HandleChangeScene(string[] msg, string ip) { string scence = msg[1]; NetworkPlayer player = server.GetPlayer(ip); Room room = player.room; int totalExp = room.hpManager.currentExp; RoomLogger log = room.log; log.WriteTotalExp(totalExp); log.WriteChangeScene(scence); SendChangeScene(scence, room); }
//Inicialización public Room(int id, Server server, ServerMessageHandler sender, int maxJugadores) { numJugadores = 0; this.doorManager = new ServerDoorsManager(); this.maxJugadores = maxJugadores; this.id = id; hpManaGer = new RoomHpMp(this); log = new RoomLogger(this.id); switchs = new List <ServerSwitch>(); players = new List <NetworkPlayer>(); enemies = new List <NetworkEnemy>(); activatedGroups = new List <int>(); this.server = server; this.sender = sender; started = false; historial = ""; sceneToLoad = Server.instance.sceneToLoad; }