public void InstantiatePawn(Pawn.Server_PawnData data) { Pawn targetPawn = null; for (int i = 0; i < prefabsPawn.Count; i++) { if (prefabsPawn[i].pawnType == data.pawnType) { targetPawn = prefabsPawn[i]; break; } } if (targetPawn != null) { Pawn newPawn = Instantiate(targetPawn); newPawn.serverData = data; newPawn.SetPosition(data.position, data.rotation, data.scale); pawns.Add(data.server_Ref, newPawn); if (playersList.TryGetValue(data.ID_Handler, out PlayerHandle handler)) { handler.AssignedPawn(newPawn); } else { Debug.LogError("Handler not created : " + data.ID_Handler); } } else { Debug.LogError("Pawn type not listed"); } }
public void CreateCharacter(int connectionID, int id_Character, int id_Token) { Content_Lobby character = null; for (int i = 0; i < sessionData.Content_Lobby.characters.Count; i++) { if (sessionData.Content_Lobby.characters[i].ID_Character == id_Character) { character = sessionData.Content_Lobby.characters[i]; } } if (character != null) { Pawn.Server_PawnData data = new Pawn.Server_PawnData(); data.ID_Handler = connectionID; data.position = CastCenterCamera(); data.rotation = Vector3.zero; data.scale = Vector3.one; data.pawnType = Pawn.PawnPackets.P_Player; PlayerController.PlayerController_Data dataToParse = new PlayerController.PlayerController_Data(); dataToParse.id_Character = character.ID_Character; dataToParse.id_Token = character.ID_Token; dataToParse.className = character.Class; dataToParse.raceName = character.Race; data.classParsed = JsonUtility.ToJson(dataToParse); DataSender.SendNewPawn(data); } }
public static void SendPawnDestruct(Pawn.Server_PawnData data) { ByteBuffer bufer = new ByteBuffer(); bufer.WriteInteger((int)ServerPackets.S_DELETE_PAWN); bufer.WriteGuid(data.server_Ref); ClientTCP.SendData(bufer.ToArray()); bufer.Dispose(); }
public static void SendAssignPawn(Pawn.Server_PawnData data, int connectionID) { ByteBuffer bufer = new ByteBuffer(); bufer.WriteInteger((int)ServerPackets.S_ASSIGN_PAWN); bufer.WriteGuid(data.server_Ref); bufer.WriteInteger(connectionID); ClientTCP.SendData(bufer.ToArray()); bufer.Dispose(); }
public static void SendPawnDestination(Pawn.Server_PawnData data) { ByteBuffer bufer = new ByteBuffer(); bufer.WriteInteger((int)ServerPackets.S_MOVE_PAWN); bufer.WriteGuid(data.server_Ref); // bufer.WriteInteger(data.ID_Handler); bufer.WriteVector3(data.position); bufer.WriteVector3(data.rotation); bufer.WriteVector3(data.scale); ClientTCP.SendData(bufer.ToArray()); bufer.Dispose(); }
public static void SendNewPawn(Pawn.Server_PawnData data) { ByteBuffer bufer = new ByteBuffer(); bufer.WriteInteger((int)ServerPackets.S_NEW_PAWN); bufer.WriteInteger(data.ID_Handler); bufer.WriteVector3(data.position); bufer.WriteVector3(data.rotation); bufer.WriteVector3(data.scale); bufer.WriteInteger((int)data.pawnType); bufer.WriteString(data.classParsed); ClientTCP.SendData(bufer.ToArray()); bufer.Dispose(); }
public void CreateItem(int connectionID, int id_Token) { Pawn.Server_PawnData data = new Pawn.Server_PawnData(); data.ID_Handler = connectionID; data.position = CastCenterCamera(); data.rotation = Vector3.zero; data.scale = Vector3.one; data.pawnType = Pawn.PawnPackets.P_Items; ItemPawn.ItemPawn_Data dataToParse = new ItemPawn.ItemPawn_Data(); dataToParse.id_Token = id_Token; data.classParsed = JsonUtility.ToJson(dataToParse); DataSender.SendNewPawn(data); }
public static void HandleNewPawn(byte[] data) { Pawn.Server_PawnData dataPawn = new Pawn.Server_PawnData(); ByteBuffer buffer = new ByteBuffer(); buffer.WriteBytes(data); int packetID = buffer.ReadInteger(); dataPawn.server_Ref = buffer.ReadGuid(); dataPawn.ID_Handler = buffer.ReadInteger(); dataPawn.position = buffer.ReadVector3(); dataPawn.rotation = buffer.ReadVector3(); dataPawn.scale = buffer.ReadVector3(); dataPawn.pawnType = (Pawn.PawnPackets)buffer.ReadInteger(); dataPawn.classParsed = buffer.ReadString(); buffer.Dispose(); NetworkManager.instance.InstantiatePawn(dataPawn); }