/// <summary> /// Downloads the pet. /// </summary> /// <returns>The pet.</returns> /// <param name="petID">Pet identifier.</param> /// <param name="shared">If set to <c>true</c> shared.</param> public static ServerPacketDownloadPet DownloadPet(int petID, Boolean shared = false) { //create new client packet download pet ClientPacketDownloadPet clientPacketDownloadPet = new ClientPacketDownloadPet(petID, shared); //send packet to server ServerPacketDownloadPet serverPacketDownloadPet = TCPClient.SendPacket(clientPacketDownloadPet) as ServerPacketDownloadPet; //if no answer if (serverPacketDownloadPet == null) { return(new ServerPacketDownloadPet(null)); } //return packet return(serverPacketDownloadPet); }
public override Packet OnPacketReceive(Packet receivedPacket) { //get received packet ClientPacketDownloadPet clientPacketDownloadPet = receivedPacket as ClientPacketDownloadPet; ConsoleHelper.Write("Receive - ClientPacketDownloadPet"); //read packet infos int petID = clientPacketDownloadPet.PetID; //get share power Dictionary <int, int> sharedPetPower = SQLHelper.GetPetSharePower(new List <int>() { petID }); //download pet MySqlCommand downloadPetsCommand = new MySqlCommand(); downloadPetsCommand.Connection = Program.mySQLManager.MySQLConnection.MysqlConnection; downloadPetsCommand.CommandText = $@"SELECT * FROM `T_Pet` WHERE `petID` IN ({petID})"; MySqlDataReader mysqlDataReader = null; PLFPet pet = new PLFPet(PetType.OTHER); try { //execute reader mysqlDataReader = downloadPetsCommand.ExecuteReader(); //open reader while (mysqlDataReader.Read()) { //get pet pet = new PLFPet(mysqlDataReader.GetInt32(0), (PetType)mysqlDataReader.GetInt32(1), mysqlDataReader.GetString(2)); //if is a shared pet if (clientPacketDownloadPet.Shared) { pet.SharePower = sharedPetPower[mysqlDataReader.GetInt32(0)]; } } //close reader mysqlDataReader.Close(); } catch (Exception e) { Console.WriteLine(e.Message); } //close reader if (mysqlDataReader != null && !mysqlDataReader.IsClosed) { mysqlDataReader.Close(); } ConsoleHelper.Write("Send - ServerPacketDownloadPet"); return(new ServerPacketDownloadPet(pet)); }