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 } }
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; }
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); }
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"); } }