Exemple #1
0
    /// <summary>
    /// Establece los bordes de la puerta de forma automática
    /// </summary>
    /// <param name="abierta">Estado de abierta</param>
    private void setEdges(bool abierta)
    {
        Vector3 posCentro = transform.position;
        Vector3 posPuerta = transform.Find("Cube/Suelo").transform.position;
        Vector3 dirPuerta = (posPuerta - posCentro).normalized;


        dirPuerta = setClean(dirPuerta);

        int indexSuelo     = boardScript.PositionToIndex(this.transform.position);
        int indexSigPuerta = boardScript.PositionToIndex(this.transform.position + dirPuerta);

        int edge = Convert.ToInt32(abierta);

        int dir = indexSigPuerta - indexSuelo;

        if (active)
        {
            if (dir == 1)
            {
                boardScript.UpdateWallsEdges(indexSuelo, rightEdge: edge);
            }
            else if (dir == -1)
            {
                boardScript.UpdateWallsEdges(indexSuelo, leftEdge: edge);
            }
            else if (dir > 1)
            {
                boardScript.UpdateWallsEdges(indexSuelo, upEdge: edge);
            }
            else if (dir < -1)
            {
                boardScript.UpdateWallsEdges(indexSuelo, downEdge: edge);
            }
        }
    }