private void Border_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { Border thisBorder = sender as Border; PokemonGroup currentPokemon = new PokemonGroup(); switch (thisBorder.Name) { case "Card1": currentPokemon = Pokemonparty[0]; break; case "Card2": currentPokemon = Pokemonparty[1]; break; case "Card3": currentPokemon = Pokemonparty[2]; break; case "Card4": currentPokemon = Pokemonparty[3]; break; case "Card5": currentPokemon = Pokemonparty[4]; break; case "Card6": currentPokemon = Pokemonparty[5]; break; default: MessageBox.Show("???"); break; } //In geval dat er links word geklikt, word het infoscherm van de geklikte pokemon geopend PokemonInfo infoscreen = new PokemonInfo { pokemonstats = DatabaseOperations.SelectPokemonFromParty(currentPokemon) }; Visibility = Visibility.Hidden; //Topmost forceerd een hogere z-index zodat mainwindow zich niet bovenop dit scherm plaatst wanneer info gesloten is Topmost = false; infoscreen.ShowDialog(); Topmost = true; Visibility = Visibility.Visible; }
private void cmbPosition_SelectionChanged(object sender, SelectionChangedEventArgs e) { //Positie aanpassen word gezien als een directe handeling, en word uitgevoerd voor dat andere veranderingen ingerekent kunnen worden PokemonGroup pokemonToSwap = DatabaseOperations.SelectPokemonFromParty(currentTrainer.Id, int.Parse(cmbPosition.SelectedItem.ToString())); int position1 = CurrentPkmParty.Position; int position2 = pokemonToSwap.Position; CurrentPkmParty.Position = position2; pokemonToSwap.Position = position1; if (DatabaseOperations.ChangePosition(CurrentPkmParty) != 0 && DatabaseOperations.ChangePosition(pokemonToSwap) != 0) { MessageBox.Show($"Position changed, {CurrentPkmParty.Pokemon.Nickname} has been swapped with {pokemonToSwap.Pokemon.Nickname}"); } else { MessageBox.Show("Position swap unsuccessful"); } }
private void btnAdd_Click(object sender, RoutedEventArgs e) { string error = Validate(); if (!string.IsNullOrWhiteSpace(error)) { MessageBox.Show(error); } else { PokemonStats statWindow = new PokemonStats { StatPass = this }; statWindow.ShowDialog(); //Initialize statPool StatPool statPool = new StatPool { Id = DatabaseOperations.CurrentStatpools() + 1 }; //Initialize stat collections StatCollection BaseStats = new StatCollection(); StatCollection EVStats = new StatCollection(); StatCollection IVStats = new StatCollection(); StatCollection EVRewardStats = new StatCollection(); //Assign Values BaseStats.Id = DatabaseOperations.CurrentStatCollections() + 1; BaseStats.HP = baseHP; BaseStats.Attack = baseAtt; BaseStats.Defense = baseDef; BaseStats.SpecialAttack = baseSpAtt; BaseStats.SpecialDefence = baseSpDef; BaseStats.Speed = baseSpeed; EVStats.Id = DatabaseOperations.CurrentStatCollections() + 2; EVStats.HP = 0; EVStats.Attack = 0; EVStats.Defense = 0; EVStats.SpecialAttack = 0; EVStats.SpecialDefence = 0; EVStats.Speed = 0; Random rnd = new Random(); IVStats.Id = DatabaseOperations.CurrentStatCollections() + 3; IVStats.HP = rnd.Next(1, 32); IVStats.Attack = rnd.Next(1, 32); IVStats.Defense = rnd.Next(1, 32); IVStats.SpecialAttack = rnd.Next(1, 32); IVStats.SpecialDefence = rnd.Next(1, 32); IVStats.Speed = rnd.Next(1, 32); EVRewardStats.Id = DatabaseOperations.CurrentStatCollections() + 4; EVRewardStats.HP = EVHP; EVRewardStats.Attack = EVAtt; EVRewardStats.Defense = EVDef; EVRewardStats.SpecialAttack = EVSpAtt; EVRewardStats.SpecialDefence = EVSpDef; EVRewardStats.Speed = EVSpeed; //Bind with statpool if (DatabaseOperations.AddStatCollection(BaseStats) != 0 && DatabaseOperations.AddStatCollection(EVStats) != 0 && DatabaseOperations.AddStatCollection(IVStats) != 0 && DatabaseOperations.AddStatCollection(EVRewardStats) != 0) { statPool.BaseStatId = BaseStats.Id; statPool.EVStatId = EVStats.Id; statPool.IVStatId = IVStats.Id; statPool.EffortValueYield = EVRewardStats.Id; statPool.Nature = "Timid"; if (DatabaseOperations.AddStatPool(statPool) != 0) { Pokemon PokemonToAdd = new Pokemon { Id = DatabaseOperations.CurrentPokemons() + 1, PokedexID = cmbPokemon.SelectedIndex + 1, PokemonLevel = int.Parse(txtLvl.Text) }; PokemonToAdd.PokemonExp = PokemonToAdd.PokemonLevel * PokemonToAdd.PokemonLevel * PokemonToAdd.PokemonLevel; PokemonToAdd.TrainerID = currentTrainer.Id; PokemonToAdd.AbilityID = abilityList[cmbAbility.SelectedIndex].Id; PokemonToAdd.StatPoolID = statPool.Id; if (cmbGender.SelectedIndex == 0) { PokemonToAdd.Gender = false; } else { PokemonToAdd.Gender = true; } PokemonToAdd.Nickname = txtName.Text; PokemonToAdd.Shiny = false; PokemonToAdd.PokeRus = false; if (DatabaseOperations.AddPokemon(PokemonToAdd) != 0) { LoadDefaultMoves(PokemonToAdd.Id); if (DatabaseOperations.LearnNewMove(DefaultMoves1) != 0 && DatabaseOperations.LearnNewMove(DefaultMoves2) != 0) { PokemonGroup GroupToAddTo = new PokemonGroup { Id = DatabaseOperations.CurrentPokemonGroups() + 1, PlayerId = currentTrainer.Id, PokemonId = PokemonToAdd.Id, Position = int.Parse(cmbPosition.Text) }; //Enkel als alle stats correct er in zijn geplaatst, word de pokemon in de groep geplaatsts //Bij falen word het een onbereikbaar database element binnen de context van dit programma if (DatabaseOperations.AddToGroup(GroupToAddTo) != 0) { MessageBox.Show($"{PokemonToAdd.Nickname} is succesvol toegevoegd aan de party van {currentTrainer.TrainerName}"); Close(); } else { MessageBox.Show("Fout in groep creatie; toevoeging niet afgerond"); } } else { MessageBox.Show("Geen moves meegegeven; Toevoeging niet afgerond"); } } else { MessageBox.Show("Geen valide pokemon; Toevoeging niet afgerond"); } } else { MessageBox.Show("Fout in de statpool; toevoeging niet afgerond"); } } else { MessageBox.Show("één of meerder van de statcollections zijn niet valide; toevoeging niet afgerond"); } } }
private void Border_MouseRightButtonDown(object sender, MouseButtonEventArgs e) { Border thisBorder = sender as Border; PokemonGroup currentPokemon = new PokemonGroup(); switch (thisBorder.Name) { case "Card1": currentPokemon = Pokemonparty[0]; break; case "Card2": currentPokemon = Pokemonparty[1]; break; case "Card3": currentPokemon = Pokemonparty[2]; break; case "Card4": currentPokemon = Pokemonparty[3]; break; case "Card5": currentPokemon = Pokemonparty[4]; break; case "Card6": currentPokemon = Pokemonparty[5]; break; default: MessageBox.Show("???"); break; } //In geval je een rechterklik voor een pokemon doet, word deze pokemon naar de CRUD geladen voor delete en update operaties PokemonPartyCRUD CRUDwindow = new PokemonPartyCRUD(); CRUDwindow.btnChange.IsEnabled = true; CRUDwindow.btnDelete.IsEnabled = true; CRUDwindow.cmbPokemon.IsEnabled = false; CRUDwindow.cmbPosition.Items.Clear(); for (int i = 0; i < Pokemonparty.Count(); i++) { //Zorg dat alle momentele posities ingeladen worden, zodat je enkel kan wisselen met een bestaande pokemon CRUDwindow.cmbPosition.Items.Add(i + 1); } //Instellen van gegevens CRUDwindow.CurrentPkmParty = currentPokemon; CRUDwindow.CurrentPkm = currentPokemon.Pokemon; CRUDwindow.cmbPosition.SelectedIndex = currentPokemon.Position - 1; CRUDwindow.cmbPokemon.SelectedIndex = (int)currentPokemon.Pokemon.PokedexID - 1; CRUDwindow.cmbAbility.SelectedIndex = (int)currentPokemon.Pokemon.AbilityID - 1; CRUDwindow.txtLvl.Text = currentPokemon.Pokemon.PokemonLevel.ToString(); CRUDwindow.txtName.Text = currentPokemon.Pokemon.Nickname; CRUDwindow.cmbGender.SelectedIndex = Convert.ToInt32(currentPokemon.Pokemon.Gender); CRUDwindow.currentTrainer = trainerParty; Topmost = false; CRUDwindow.ShowDialog(); Topmost = true; //Hernieuw de lijst zodat de veranderingen gereflecteerd zijn in deze pagina Pokemonparty.Clear(); foreach (Border card in Cards) { card.Visibility = Visibility.Collapsed; } Pokemonparty = DatabaseOperations.SelectParty(trainerParty.Id); LoadPokemon(); }