//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;
                }
            }
        }
    }