Exemple #1
0
        private void BrowseBtn_Click(object sender, RoutedEventArgs e)
        {
            if (ActualBoss == null)
            {
                ActualBoss = new Core.Classes.Boss();
            }

            Microsoft.Win32.OpenFileDialog openDialog = new Microsoft.Win32.OpenFileDialog()
            {
                DefaultExt = ".mdl",
                Filter     = "Model File (*.mdl)|*.mdl"
            };

            bool?openResult = openDialog.ShowDialog();

            if (openResult == true)
            {
                Match modelPathMatch = Regex.Match(openDialog.FileName + ":", @"\\models\\(.*?):", RegexOptions.IgnoreCase);
                if (modelPathMatch.Success)
                {
                    ActualBoss.Model = string.Format("models\\{0}", modelPathMatch.Groups[1].Value);
                }
                else
                {
                    MessageBox.Show("The model must be located in a folder called models.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
Exemple #2
0
        private void AddBtn_Click(object sender, RoutedEventArgs e)
        {
            if (ActualBoss == null)
            {
                ActualBoss = new Core.Classes.Boss();
            }

            Microsoft.Win32.OpenFileDialog openDialog = new Microsoft.Win32.OpenFileDialog()
            {
                DefaultExt  = "*.*",
                Filter      = "All Files (*.*)|*.*",
                Multiselect = true
            };

            bool?openResult = openDialog.ShowDialog();

            if (openResult == true)
            {
                for (int file = 0; file < openDialog.FileNames.Length; file++)
                {
                    for (int folder = 0; folder < allowedFolders.Length; folder++)
                    {
                        Match modelPathMatch = Regex.Match(openDialog.FileNames[file] + ":", string.Format(@"\\{0}\\(.*?):", allowedFolders[folder]), RegexOptions.IgnoreCase);
                        if (modelPathMatch.Success)
                        {
                            ActualBoss.CustomFiles.Add(string.Format("{0}\\{1}", allowedFolders[folder], modelPathMatch.Groups[1].Value));
                            break;
                        }
                    }
                }
            }
        }
        private async Task <bool> SaveBoss(Core.Classes.Boss Boss)
        {
            if (!string.IsNullOrWhiteSpace(ActualBossPath))
            {
                return(await Core.StorageCore <Core.Classes.Boss> .GenericSaveObject(Boss, ActualBossPath));
            }

            Microsoft.Win32.SaveFileDialog saveDialog = new Microsoft.Win32.SaveFileDialog()
            {
                DefaultExt = ".ff2boss",
                Filter     = "FF2 Boss File (*.ff2boss)|*.ff2boss"
            };

            bool?saveResult = saveDialog.ShowDialog();

            if (saveResult == true)
            {
                if (await Core.StorageCore <Core.Classes.Boss> .GenericSaveObject(Boss, saveDialog.FileName))
                {
                    ActualBossPath = saveDialog.FileName;
                    return(true);
                }
            }
            return(false);
        }
        private async void OpenMI_Click(object sender, RoutedEventArgs e)
        {
            if (!await CheckIfBossHasChanges())
            {
                return;
            }

            Microsoft.Win32.OpenFileDialog openDialog = new Microsoft.Win32.OpenFileDialog()
            {
                DefaultExt = ".ff2boss",
                Filter     = "FF2 Boss File (*.ff2boss)|*.ff2boss"
            };

            bool?openResult = openDialog.ShowDialog();

            if (openResult == true)
            {
                Core.Classes.Boss tmpBoss = await Core.StorageCore <Core.Classes.Boss> .GenericGetObject(openDialog.FileName);

                if (tmpBoss != null)
                {
                    ActualBoss     = tmpBoss;
                    ActualBossPath = openDialog.FileName;
                    PrevBoss       = tmpBoss.Clone();
                    UpdateBossInViews();
                }
            }
        }
 private async void SaveMI_Click(object sender, RoutedEventArgs e)
 {
     ActualBoss = MergeBossesFromViews();
     await Core.StorageCore <Core.Classes.Boss> .GenericSaveObject(ActualBoss,
                                                                   DefaultExt : ".ff2boss",
                                                                   ExtFilter : "FF2 Boss File (*.ff2boss)|*.ff2boss"
                                                                   );
 }
Exemple #6
0
        private void AddBtn_Click(object sender, RoutedEventArgs e)
        {
            if (ActualBoss == null)
            {
                ActualBoss = new Core.Classes.Boss();
            }

            ActualBoss.Descriptions.Add(new Core.Classes.Description());
        }
 private async void SaveMI_Click(object sender, RoutedEventArgs e)
 {
     ActualBoss = MergeBossesFromViews();
     if (!await SaveBoss(ActualBoss))
     {
         return;
     }
     PrevBoss = ActualBoss.Clone();
 }
        private async void ImportCFGMI_Click(object sender, RoutedEventArgs e)
        {
            Core.Classes.Boss tmpBoss = await Core.CFGCore.ImportBoss();

            if (tmpBoss != null)
            {
                ActualBoss = tmpBoss;
                UpdateBossInViews();
            }
        }
 private void AddBtn_Click(object sender, RoutedEventArgs e)
 {
     if (ActualBoss == null)
     {
         ActualBoss = new Core.Classes.Boss();
     }
     if (ActualBoss.Weapons.Count < 3)
     {
         ActualBoss.Weapons.Add(new Core.Classes.Weapon());
     }
     AddBtn.IsEnabled = ActualBoss.Weapons.Count < 3;
 }
        private async void NewMI_Click(object sender, RoutedEventArgs e)
        {
            if (!await CheckIfBossHasChanges())
            {
                return;
            }

            ActualBoss     = new Core.Classes.Boss();
            ActualBossPath = "";
            PrevBoss       = null;
            UpdateBossInViews();
        }
        private async void ExportCFGBtn_Click(object sender, RoutedEventArgs e)
        {
            if (!BasicInfo.CheckTabReady(true) ||
                !Desc.CheckTabReady(true) ||
                !Weps.CheckTabReady(true) ||
                !Abilities.CheckTabReady(true))
            {
                return;
            }

            ActualBoss = MergeBossesFromViews();
            await Core.CFGCore.ExportBoss(ActualBoss);
        }
        private async void OpenMI_Click(object sender, RoutedEventArgs e)
        {
            Core.Classes.Boss tmpBoss = await Core.StorageCore <Core.Classes.Boss> .GenericGetObject(
                DefaultExt : ".ff2boss",
                ExtFilter : "FF2 Boss File (*.ff2boss)|*.ff2boss"
                );

            if (tmpBoss != null)
            {
                ActualBoss = tmpBoss;
                UpdateBossInViews();
            }
        }
        private async Task <bool> CheckIfBossHasChanges()
        {
            Core.Classes.Boss mergedBoss = MergeBossesFromViews();

            if ((PrevBoss == null || !mergedBoss.IsClassEqual(PrevBoss)) && !mergedBoss.IsClassEmpty())
            {
                if (MessageBox.Show("Do you want to save the current Boss Configuration?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                {
                    return(await SaveBoss(mergedBoss));
                }
            }
            return(true);
        }
Exemple #14
0
 private void DeleteBtn_Click(object sender, RoutedEventArgs e)
 {
     if (sender == null)
     {
         return;
     }
     if (((FrameworkElement)sender).DataContext is Core.Classes.Weapon wep)
     {
         if (ActualBoss == null)
         {
             ActualBoss = new Core.Classes.Boss();
         }
         ActualBoss.Weapons.Remove(wep);
         AddBtn.IsEnabled = ActualBoss.Weapons.Count < 3;
     }
 }
        private Core.Classes.Boss MergeBossesFromViews()
        {
            Core.Classes.Boss neoBoss = new Core.Classes.Boss();
            if (BasicInfo.ActualBoss != null)
            {
                neoBoss.Name       = BasicInfo.ActualBoss.Name;
                neoBoss.Class      = BasicInfo.ActualBoss.Class;
                neoBoss.Model      = BasicInfo.ActualBoss.Model;
                neoBoss.RageDist   = BasicInfo.ActualBoss.RageDist;
                neoBoss.RageDamage = BasicInfo.ActualBoss.RageDamage;
                neoBoss.Health     = BasicInfo.ActualBoss.Health;
                neoBoss.Speed      = BasicInfo.ActualBoss.Speed;
                neoBoss.Lives      = BasicInfo.ActualBoss.Lives;
                neoBoss.BlockVoice = BasicInfo.ActualBoss.BlockVoice;
            }
            if (Desc.ActualBoss != null)
            {
                neoBoss.Descriptions = Desc.ActualBoss.Descriptions;
            }
            if (Weps.ActualBoss != null)
            {
                neoBoss.Weapons = Weps.ActualBoss.Weapons;
            }
            if (Abilities.ActualBoss != null)
            {
                neoBoss.Abilities = Abilities.ActualBoss.Abilities;
            }
            if (Sounds.ActualBoss != null)
            {
                neoBoss.Sounds = Sounds.ActualBoss.Sounds;
            }
            if (CustomFiles.ActualBoss != null)
            {
                neoBoss.CustomFiles = CustomFiles.ActualBoss.CustomFiles;
            }

            return(neoBoss);
        }
 private void NewMI_Click(object sender, RoutedEventArgs e)
 {
     ActualBoss = new Core.Classes.Boss();
     UpdateBossInViews();
 }