public void manipulate(ActionType action) { HerseBehavior herse = GetComponent <HerseBehavior>(); switch (action) { case ActionType.CLOSEDOOR: herse.fermerHerse(); fermerHerse(); break; case ActionType.OPENDOOR: herse.ouvrirHerse(); ouvrirHerse(); break; case ActionType.DESTROYDOOR: herse.briserHerse(); briserHerse(); break; default: Debug.Assert(false); break; } }
// Use this for initialization void Start() { HerseBehavior hB = GetComponent <HerseBehavior>(); if (!hB.herseOuverte) { GetComponent <Renderer>().material.color = new Color(1, 1, 1, alpha); } }
private void loadTiles() { foreach (GameObject tileBackObject in GameObject.FindGameObjectsWithTag("HiddenTile")) { HiddenTileBehavior tileBack = tileBackObject.GetComponent <HiddenTileBehavior>(); GameDataTile tileData = getTileData(tileBack.tileAssociated.GetComponent <TileBehavior>().index); if (!tileData.hidden) // nothing to do for hidden tiles { tileBack.updateAssociatedTile(tileData.name, tileData.tileRotation); TileBehavior tile = tileBack.tileAssociated.GetComponent <TileBehavior>(); for (int j = 0; j < tileData.hersesState.Count; j++) { // TODO: use cells on each side of the portcullis HerseBehavior herseToLoad = null; for (int k = 0; k < tile.transform.childCount; k++) { if (tile.transform.GetChild(k).name == tileData.hersesState[j].cellOneName) { herseToLoad = tile.transform.GetChild(k).GetComponent <CaseBehavior>().herse.GetComponent <HerseBehavior>(); break; } } herseToLoad.herseBrisee = tileData.hersesState[j].broken; herseToLoad.herseOuverte = tileData.hersesState[j].open; if (herseToLoad.herseBrisee) { herseToLoad.GetComponent <HerseBehaviorIHM>().manipulate(ActionType.DESTROYDOOR); } else if (herseToLoad.herseOuverte) { herseToLoad.GetComponent <HerseBehaviorIHM>().manipulate(ActionType.OPENDOOR); } } tile.hidden = false; tileBack.GetComponent <HiddenTileBehaviorIHM>().disableDisplay(); if (tile.index == managerData.roomBeingOpenedIndex) { tileBack.GetComponent <HiddenTileBehaviorIHM>().instanciateTileTargets(tile.getAvailableCells()); } } } }