Exemplo n.º 1
0
 public void Save(string dir, bool random_uuid, bool save_image)
 {
     try
     {
         FsUtils.RecreateDirectory(dir);
         var json = new JObject()
         {
             ["name"]              = Name,
             ["write_counter"]     = WriteCounter,
             ["version"]           = Version,
             ["mii_charinfo_file"] = MiiCharInfoFileName,
             ["first_write_date"]  = FirstWriteDate.ToJSON(),
             ["last_write_date"]   = LastWriteDate.ToJSON(),
             ["id"] = Id.ToJSON(),
         };
         if (!random_uuid)
         {
             var uuid_array = new JArray();
             foreach (var uuid_byte in Uuid)
             {
                 uuid_array.Add(uuid_byte);
             }
             json["uuid"] = uuid_array;
         }
         FsUtils.SaveJSON(Path.Combine(dir, "amiibo.json"), json);
         FsUtils.CreateEmptyFile(Path.Combine(dir, "amiibo.flag"));
         if (save_image)
         {
             FsUtils.SaveFromURL(OriginalAmiibo.ImageURL, Path.Combine(dir, "amiibo.png"));
         }
     }
     catch (Exception ex)
     {
         ExceptionUtils.LogExceptionMessage(ex);
     }
 }
Exemplo n.º 2
0
        private void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                string base_dir = null;
                if (!FtpSaveCheck.Checked)
                {
                    // If we're saving normally and we're not using the last path, ask the user for the path
                    base_dir = SelectDirectory();
                    if (base_dir == null)
                    {
                        // User cancelled
                        return;
                    }
                }

                if (!CreateAllCheck.Checked)
                {
                    var cur_amiibo = CurrentSeriesAmiibos[AmiiboComboBox.SelectedIndex];
                    if (string.IsNullOrEmpty(AmiiboNameBox.Text))
                    {
                        ShowErrorBox("No amiibo name was specified.");
                        return;
                    }

                    bool use_name_as_dir = UseNameCheck.Checked;
                    if (!use_name_as_dir && string.IsNullOrEmpty(DirectoryNameBox.Text))
                    {
                        ShowErrorBox("No amiibo directory name was specified.");
                        return;
                    }

                    string name     = AmiiboNameBox.Text;
                    string dir_name = name;
                    if (!use_name_as_dir)
                    {
                        dir_name = DirectoryNameBox.Text;
                    }

                    CreateAmiibo(name, dir_name, base_dir, cur_amiibo);
                    MessageBox.Show("The virtual amiibo was successfully created.", DialogCaption, MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    var actual_base_dir = "";
                    AmiiboSeries = Amiibos.GetAmiiboSeries();
                    if (AmiiboSeries.Any())
                    {
                        foreach (var series in AmiiboSeries)
                        {
                            base_dir = Path.Combine(actual_base_dir, series);
                            FsUtils.RecreateDirectory(base_dir);
                            CurrentSeriesAmiibos = Amiibos.GetAmiibosBySeries(series);
                            if (CurrentSeriesAmiibos.Any())
                            {
                                foreach (var amiibo in CurrentSeriesAmiibos)
                                {
                                    CreateAmiibo(amiibo.AmiiboName, amiibo.AmiiboName, base_dir, amiibo);
                                }
                            }
                            else
                            {
                                MessageBox.Show("Ey, no amiibos");
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Ey, no series");
                    }
                    MessageBox.Show("All virtual amiibos were successfully created.", DialogCaption, MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception ex)
            {
                ExceptionUtils.LogExceptionMessage(ex);
            }

            LastPathLabel.Visible = LastPathCheck.Visible = !string.IsNullOrEmpty(LastUsedPath);
            if (LastPathLabel.Visible)
            {
                LastPathLabel.Text = "Last path: " + LastUsedPath;
            }
        }