Exemple #1
0
    public void recomputePossibleActionsIHM(bool onlyIfNeeded, bool clearTargets)
    {
        gManager.resetPartialMoveFlags();

        if (GetComponent <TokenIHM>().moveTargets.Count > 0)
        {
            CibleDeplacement target = moveTargets[moveTargets.Count - 1].GetComponent <CibleDeplacement>();

            if (!onlyIfNeeded || target.nbDeplacementRestant > 0)
            {
                if (clearTargets)
                {
                    moveTargets.Clear();
                    moveTargets.Add(target.gameObject);
                    associatedCharacter.deplacementRestant = target.nbDeplacementRestant;
                }

                associatedCharacter.computePossibleActions(target.caseAssociated.GetComponent <CaseBehavior>());
            }
        }
        else
        {
            Debug.Assert(!clearTargets, "There should be at least one target remaining if clearTargets is required");

            associatedCharacter.computePossibleActions(); // current cell
        }
    }