public override void OnInputUp() { base.OnInputUp(); if (gManager.gameMacroState == GameProgression.Playing) { if (Time.time - doubleTouchTimer < DOUBLE_CLICK_MAX_INTERVAL) { // Combat si click sur un ennemi atteignable if (!associatedCharacter.isRemovedFromGame() && associatedCharacter.caseActuelle.GetComponent <CaseBehavior>().cibleAssociated.GetComponent <CibleDeplacementIHM>().adjacentFighter&& gManager.actionCharacter.GetComponent <Token>().affiliationJoueur != associatedCharacter.affiliationJoueur && !gManager.usingSpecialAbility) { gManager.combatManager.combat(gameObject); } } else { if (Time.time - selectionTimer < SIMPLE_CLICK_DURATION) { if (!alreadySelected) { // Encore utilisée ? if (moveTargets.Count > 0) { if (associatedCharacter.canStayOnCell(moveTargets[moveTargets.Count - 1].GetComponent <CibleDeplacement>().caseAssociated.GetComponent <CaseBehavior>())) { GameObject target = moveTargets[moveTargets.Count - 1]; target.GetComponent <CibleDeplacement>().nbDeplacementRestant = 0; associatedCharacter.deplacementConfirmed(target); endDeplacementIHM(); } } else { characterSelection(); } } doubleTouchTimer = Time.time; } // Dans le cas d'un appui long else if (moveTargets.Count > 0) { pickUpOverflownToken(); recomputePossibleActionsIHM(true, true); } } alreadySelected = false; } }