//après avoir déterminer les états des mains, on gère les sorts public void GestionSort() { if (currentStateMainD == EtatMain.ANNULATION) { if (currentSpellMainD != null) { currentSpellMainD.AnnulationSort(); } return; } if (currentStateMainG == EtatMain.ANNULATION) { if (currentSpellMainG != null) { currentSpellMainG.AnnulationSort(); } return; } //mains parallèles verticalement if (currentStateMainD == currentStateMainG && currentStateMainD == EtatMain.MAINSPARALLELESY) { if (mainParalleles && hadooken) { //instancier le sort dans la main droite currentSpellMainD = poolingManager.Incantation(Sort.HADOOKEN, paumeMainD, offsetPaumeD); currentSpellMainD.Incantation(); starterMainD = StarterSpell.SORTPAUME; currentStateMainD = EtatMain.SORTENCOURS; } else { if (mainParallelesGauche && hadooken) { //instancier le sort dans la main gauche currentSpellMainG = poolingManager.Incantation(Sort.HADOOKEN, paumeMainG, offsetPaumeG); currentSpellMainG.Incantation(); starterMainG = StarterSpell.SORTPAUME; currentStateMainG = EtatMain.SORTENCOURS; } } mainParalleles = false; mainParallelesGauche = false; return; } //Main Droite if (currentStateMainD == EtatMain.MAINOUVERTE && previousStateMainD == EtatMain.MAINFERMEE && bouleDeFeu) { //instancier le sort dans la main droite currentSpellMainD = poolingManager.Incantation(Sort.BOULEDEFEU, paumeMainD, offsetPaumeD); currentSpellMainD.Incantation(); currentStateMainD = EtatMain.SORTENCOURS; starterMainD = StarterSpell.SORTPAUME; } else { if (currentStateMainD == EtatMain.INDEXONLY && (previousStateMainD == EtatMain.MAINOUVERTE || previousStateMainD == EtatMain.MAINFERMEE) && bouleDeLaMort) { //instancier le sort dans la main droite currentSpellMainD = poolingManager.Incantation(Sort.BOULEDELAMORT, indexMainD, offsetIndexD); currentSpellMainD.Incantation(); currentStateMainD = EtatMain.SORTENCOURS; starterMainD = StarterSpell.SORTINDEX; } else { if (currentStateMainD == EtatMain.ALLBUTTHUMB && (previousStateMainD == EtatMain.MAINOUVERTE || previousStateMainD == EtatMain.MAINFERMEE) && laser) { currentSpellMainD = poolingManager.Incantation(Sort.LASER, paumeMainD, offsetDosMainD); currentSpellMainD.Incantation(); currentStateMainD = EtatMain.SORTENCOURS; starterMainD = StarterSpell.SORTDOSMAIN; } } } //Main Gauche if (currentStateMainG == EtatMain.MAINOUVERTE && previousStateMainG == EtatMain.MAINFERMEE && bouleDeFeu) { //instancier le sort dans la main gauche currentSpellMainG = poolingManager.Incantation(Sort.BOULEDEFEU, paumeMainG, offsetPaumeG); currentSpellMainG.Incantation(); currentStateMainG = EtatMain.SORTENCOURS; starterMainG = StarterSpell.SORTPAUME; } else { if (currentStateMainG == EtatMain.INDEXONLY && (previousStateMainG == EtatMain.MAINOUVERTE || previousStateMainG == EtatMain.MAINFERMEE) && bouleDeLaMort) { //instancier le sort dans la main gauche currentSpellMainG = poolingManager.Incantation(Sort.BOULEDELAMORT, indexMainG, offsetIndexG); currentSpellMainG.Incantation(); currentStateMainG = EtatMain.SORTENCOURS; starterMainG = StarterSpell.SORTINDEX; } else { if (currentStateMainG == EtatMain.ALLBUTTHUMB && (previousStateMainG == EtatMain.MAINOUVERTE || previousStateMainG == EtatMain.MAINFERMEE) && laser) { currentSpellMainG = poolingManager.Incantation(Sort.LASER, paumeMainG, offsetDosMainG); currentSpellMainG.Incantation(); currentStateMainG = EtatMain.SORTENCOURS; starterMainG = StarterSpell.SORTDOSMAIN; } } } }