public void Update(Inventaire inventaire, Joueur joueur, KeyboardState touche) { #region Raccourcis Souris MouseState mState = Mouse.GetState(); curseur_rect = new Rectangle(mState.X, mState.Y, 2, 2); if (inventaire.inventaireOuvert) //insere l'objet de l'inventaire a la barre d'action { if (mState.RightButton == ButtonState.Pressed) { for (int i = 0; i < inventaire.inventaire.GetLength(0); i++) { for (int j = 0; j < inventaire.inventaire.GetLength(1); j++) { if (inventaire.posObjets[i, j].Intersects(curseur_rect) && inventaire.quantitesObjets[i, j] > 0 && !cliqueobjet_right) { if (!check_exist_barre(inventaire.inventaire[i, j])) { clique_item(inventaire.inventaire[i, j], inventaire.quantitesObjets[i, j]); cliqueobjet_right = true; } } } } } } if (mState.LeftButton == ButtonState.Pressed) //utilise l'objet dans la barre d'action { for (int i = 0; i < inventaire.inventaire.GetLength(0); i++) { for (int j = 0; j < inventaire.inventaire.GetLength(1); j++) { for (int k = 0; k < barre_action.GetLength(0); k++) { if (pos_objet[k].Intersects(curseur_rect) && quantite_objet[k] > 0 && !cliqueobjet_left) { if (barre_action[k].type_de_l_objet == inventaire.inventaire[i, j].type_de_l_objet) { if (inventaire.use_HealthPotion(joueur, inventaire.inventaire[i, j]) || inventaire.use_ManaPotion(joueur, inventaire.inventaire[i, j])) { barre_action[k].Utiliser(joueur); quantite_objet[k]--; inventaire.quantitesObjets[i, j]--; if (quantite_objet[k] == 0) { barre_action[k] = new Item("Null", Item.type_objet.Null); } if (inventaire.quantitesObjets[i, j] == 0) { inventaire.inventaire[i, j] = new Item("Null", Item.type_objet.Null); } cliqueobjet_left = true; } } } } } } } if (mState.RightButton == ButtonState.Pressed) //retire l'objet de la barre d'action { stop_ = false; for (int i = 0; i < barre_action.GetLength(0); i++) { if (pos_objet[i].Intersects(curseur_rect) && quantite_objet[i] > 0 && !stop_) { quantite_objet[i] = 0; barre_action[i] = new Item("Null", Item.type_objet.Null); stop_ = true; } } } if (mState.RightButton == ButtonState.Released) cliqueobjet_right = false; if (mState.LeftButton == ButtonState.Released) cliqueobjet_left = false; #endregion Raccourcis Souris #region Raccourcis clavier if (touche.IsKeyDown(Keys.D1) && !key_stop1) { Keyboard_UseItem(inventaire, 0, joueur); key_stop1 = true; } if (touche.IsKeyDown(Keys.D2) && !key_stop2) { Keyboard_UseItem(inventaire, 1, joueur); key_stop2 = true; } if (touche.IsKeyDown(Keys.D3) && !key_stop3) { Keyboard_UseItem(inventaire, 2, joueur); key_stop3 = true; } if (touche.IsKeyDown(Keys.D4) && !key_stop4) { Keyboard_UseItem(inventaire, 3, joueur); key_stop4 = true; } if (touche.IsKeyDown(Keys.D5) && !key_stop5) { Keyboard_UseItem(inventaire, 4, joueur); key_stop5 = true; } if (touche.IsKeyDown(Keys.D6) && !key_stop6) { Keyboard_UseItem(inventaire, 5, joueur); key_stop6 = true; } if (touche.IsKeyDown(Keys.D7) && !key_stop7) { Keyboard_UseItem(inventaire, 6, joueur); key_stop7 = true; } if (touche.IsKeyDown(Keys.D8) && !key_stop8) { Keyboard_UseItem(inventaire, 7, joueur); key_stop8 = true; } if (touche.IsKeyUp(Keys.D1)) { key_stop1= false; } if (touche.IsKeyUp(Keys.D2)) { key_stop2 = false; } if (touche.IsKeyUp(Keys.D3)) { key_stop3 = false; } if (touche.IsKeyUp(Keys.D4)) { key_stop4 = false; } if (touche.IsKeyUp(Keys.D5)) { key_stop5 = false; } if (touche.IsKeyUp(Keys.D6)) { key_stop6 = false; } if (touche.IsKeyUp(Keys.D7)) { key_stop7 = false; } if (touche.IsKeyUp(Keys.D8)) { key_stop8 = false; } #endregion Raccourcis clavier if (empty_barre()) { ReinitialiserBarre(); } }
// fonction qui permet d'utiliser les raccourcis clavierZ public void Keyboard_UseItem(Inventaire inventaire, int raccourci_barre, Joueur joueur) { key_stop = false; for (int i = 0; i < inventaire.inventaire.GetLength(0); i++) { for (int j = 0; j < inventaire.inventaire.GetLength(1); j++) { if (inventaire.inventaire[i, j].type_de_l_objet == barre_action[raccourci_barre].type_de_l_objet && !key_stop) { if (inventaire.use_HealthPotion(joueur, inventaire.inventaire[i, j]) || inventaire.use_ManaPotion(joueur, inventaire.inventaire[i, j])) { barre_action[raccourci_barre].Utiliser(joueur); quantite_objet[raccourci_barre]--; inventaire.quantitesObjets[i, j]--; if (quantite_objet[raccourci_barre] == 0) { barre_action[raccourci_barre] = new Item("Null", Item.type_objet.Null); } if (inventaire.quantitesObjets[i, j] == 0) { inventaire.inventaire[i, j] = new Item("Null", Item.type_objet.Null); } key_stop = true; } } } } }