Esempio n. 1
0
    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());
                }
            }
        }
    }