Exemple #1
0
    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;
        }
    }
Exemple #2
0
    // Use this for initialization
    void Start()
    {
        HerseBehavior hB = GetComponent <HerseBehavior>();

        if (!hB.herseOuverte)
        {
            GetComponent <Renderer>().material.color = new Color(1, 1, 1, alpha);
        }
    }
Exemple #3
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());
                }
            }
        }
    }