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
        }
    }
Exemple #2
0
 void Start()
 {
     associatedCible = GetComponent <CibleDeplacement>();
     if (associatedCible == null)
     {
         Debug.LogError("CibleDeplacementIHM, Awake: Le script CibleDeplacement n'a pas été trouvé sur le même Game Object");
         this.enabled = false;
     }
     sRenderer = GetComponent <SpriteRenderer>();
     gManager  = GameManager.gManager;
 }
Exemple #3
0
    void Start()
    {
        gManager      = GameManager.gManager;
        isPartOfARoom = (transform.parent.GetComponent <TileBehavior>() != null);
        if (isPartOfARoom)
        {
            parentTile = transform.parent.GetComponent <TileBehavior>();
        }
        // Création de la cible de déplacement associée à la case
        GameObject       temp  = (GameObject)Instantiate(gManager.glowPrefab, new Vector3(transform.position.x, transform.position.y, 0), gManager.glowPrefab.transform.rotation);
        CibleDeplacement cible = temp.GetComponent <CibleDeplacement>();

        cible.caseAssociated = gameObject;
        cibleAssociated      = temp;
        temp.transform.SetParent(transform);
    }
Exemple #4
0
    public void moveTargetActivation(int deplacementRestant, CaseBehavior cell, bool jump)
    {
        CibleDeplacement cible = cell.cibleAssociated.GetComponent <CibleDeplacement>();

        if (!gManager.casesAtteignables.Contains(cible.gameObject))
        {
            gManager.casesAtteignables.Add(cible.gameObject);
        }
        cible.tokenAssociated      = gameObject;
        cible.nbDeplacementRestant = deplacementRestant;
        if (jump)
        {
            cible.GetComponent <CibleDeplacementIHM>().jumpingTarget = true;
        }
        if (!gManager.freezeDisplay)
        {
            cible.SendMessage("displayTarget");
        }
    }