コード例 #1
0
        public void RefreshChunks()
        {
            var bankChunk = PluginInstance.GetChunk(false);

            if (!(bankChunk is null))
            {
                ChunkBankMemoryStream.SetLength(0);
                ChunkBankMemoryStream.Write(bankChunk, 0, bankChunk.Length);

                ChunkBankHash = HashUtils.getIxxHash(bankChunk);
                BankChunkChanged?.Invoke(this, EventArgs.Empty);
            }

            var presetChunk = PluginInstance.GetChunk(true);

            if (!(presetChunk is null))
            {
                ChunkPresetMemoryStream.SetLength(0);
                ChunkPresetMemoryStream.Write(presetChunk, 0, presetChunk.Length);

                ChunkPresetHash = HashUtils.getIxxHash(presetChunk);

                PresetChunkChanged?.Invoke(this, EventArgs.Empty);
            }
        }
コード例 #2
0
        private async Task OnOpenBankWithHexEditorExecute()
        {
            var tempFile = Path.GetTempFileName();

            File.WriteAllBytes(tempFile, ChunkBankMemoryStream.ToArray());

            _developerService.StartHexEditor(tempFile);
        }
コード例 #3
0
        private async Task OnSaveBankChunkExecute()
        {
            try
            {
                _saveFileService.Filter = "Binary Files (*.*)|*.*";


                if (await _saveFileService.DetermineFileAsync())
                {
                    File.WriteAllBytes(_saveFileService.FileName, ChunkBankMemoryStream.ToArray());
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex, "Failed to open file");
            }
        }