[C#] FileSystemWatcher mit Sturmvogel Single.net kombinieren

    • [Other]

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • [C#] FileSystemWatcher mit Sturmvogel Single.net kombinieren

      Morgen^^

      Ich wollte mal wissen, ob die Klasse von Stumvogel sich mit einem FileSystemWatcher kombinieren lässt. Zwar hatte ich es schon hinbekommen, dass der Filesystemwatcher regagiert, wenn extern eine Änderung gemacht wird, aber Single.Core.rom liest leider immer wieder dasselbe aus. Entweder liegt es an meiner Methodik oder ich mache eher was grundlegendes falsch.

      Quellcode

      1. private void fileWatcher_Changed(object sender, FileSystemEventArgs e)
      2. {
      3. switch (gpeControl.SelectedIndex) //Löst bereits aus
      4. {
      5. case 4:
      6. {
      7. //MessageBox.Show("!");
      8. GetTradeData(listBoxTrade.SelectedIndex);
      9. return;
      10. }
      11. default:
      12. {
      13. return;
      14. }
      15. }
      16. }
      Alles anzeigen


      Quellcode

      1. // <summary>Gibt die Tauschdaten am angegebenen Offset zurück.</summary>
      2. public void GetTradeData(int index)
      3. {
      4. TradeHandler th = new TradeHandler(loadedRom, (uint)tradeOffset, table, index);
      5. lblOffsetTrade.Text = string.Format("Offset: 0x{0}", th.offset.ToString("X6"));
      6. textBoxTradeName.Text = th.nickName;
      7. comboBoxTradePokémon.SelectedIndex = th.pokémonGetting - 1;
      8. textBoxTradeID.Text = th.trainerID.ToString("X2");
      9. textBoxTradeNick.Text = th.trainerName;
      10. comboBoxTradeTake.SelectedIndex = th.pokémonSetting - 1;
      11. textBoxTradeItem.Text = th.item.ToString("X2");
      12. }
      Alles anzeigen


      Quellcode

      1. namespace GeneralPokemonEditor.Management
      2. {
      3. class TradeHandler
      4. {
      5. #region Variablen
      6. public const Int16 TRADEDATA_LENGTH = 0x3C;
      7. private List<byte> _rawdata;
      8. public uint offset { get; set; }
      9. public uint tradeOffset { get; set; }
      10. public string nickName { get; set; }
      11. public int pokémonGetting { get; set; }
      12. public int pokémonSetting { get; set; }
      13. public int trainerID { get; set; }
      14. public string trainerName { get; set; }
      15. public int item { get; set; }
      16. public byte[] RawAttack
      17. {
      18. get
      19. {
      20. return _rawdata.ToArray();
      21. }
      22. set
      23. {
      24. _rawdata = value.ToList();
      25. }
      26. }
      27. #endregion
      28. public TradeHandler(Rom rom, UInt32 tradeTable, Table table, int index)
      29. {
      30. rom.SetStreamOffset(tradeTable);
      31. tradeOffset = rom.ReadUInt32() - 0x8000000;
      32. offset = (uint)(tradeTable + (TRADEDATA_LENGTH * index));
      33. rom.SetStreamOffset(offset);
      34. _rawdata = new List<byte>();
      35. _rawdata = rom.ReadByteArray(TRADEDATA_LENGTH);
      36. //System.Windows.Forms.MessageBox.Show(BitConverter.ToString(_rawdata.ToArray()));
      37. using (BinaryReader br = new BinaryReader(new MemoryStream(_rawdata.ToArray())))
      38. {
      39. nickName = table.Decode(RomStringHelper.ReadRomString(rom, offset, 0xFF));
      40. br.BaseStream.Seek(0xC, SeekOrigin.Begin);
      41. pokémonGetting = br.ReadUInt16();
      42. br.BaseStream.Seek(0x19, SeekOrigin.Begin);
      43. trainerID = br.ReadUInt16();
      44. br.BaseStream.Seek(0x28, SeekOrigin.Begin);
      45. item = br.ReadUInt16();
      46. br.BaseStream.Seek(0x2B, SeekOrigin.Begin);
      47. trainerName = table.Decode(br.ReadBytes(8));
      48. br.BaseStream.Seek(0x38, SeekOrigin.Begin);
      49. pokémonSetting = br.ReadUInt16();
      50. }
      51. }
      52. }
      53. }
      Alles anzeigen
      Pokémon spielen auf einem höheren Level.


      Links zu meiner Person:

      Youtube
      Facebook Twitter