// Use this for initialization
    void Start()
    {
        GetComponent <SpriteRenderer>().sprite = chairObject.sprite;
        grid = GetComponentInParent <TableGrid>();

        transform.position = grid.GetWorldPositionOfGrid(location, chairObject.middleGridx, chairObject.middleGridY);
    }
    private void Update()
    {
        if (delay < 0.0f)
        {
            if (index < path.Count)
            {
                Vector3 newPosition = grid.GetWorldPositionOfGrid(path[index]);
                transform.position = newPosition;


                grid.Taketile(path[index], location);
                location = path[index];

                index++;
            }
            else
            {
                index = 0;
            }

            delay = stepDelay;
        }
        else
        {
            delay -= Time.deltaTime;
        }
    }
Beispiel #3
0
    private void TraversePath()
    {
        //Stop patrons from standing inside each other
        if (grid.IsTileFree(path[pathIndex + 1]))
        {
            pathIndex++;
            if (pathIndex >= path.Length)
            {
                pathIndex = path.Length - 1;
            }
            if (pathIndex == path.Length - 1)
            {
                atTable = true;
            }
            grid.Taketile(path[pathIndex], path[pathIndex - 1]);

            transform.position = grid.GetWorldPositionOfGrid(path[pathIndex]);
        }
        else
        {
            waitingForSpace -= secondsPerMove;

            if (waitingForSpace < 0)
            {
                List <Vector2> newPath = pathFinder.GetPath(path[pathIndex], path[path.Length - 1]);
                if (newPath != null)
                {
                    NewPath(newPath);
                }

                waitingForSpace = Random.Range(1f, maxWaitTime);
            }
        }
    }
    private void Start()
    {
        grid = GetComponentInParent <TableGrid>();

        transform.position = grid.GetWorldPositionOfGrid(location, tableType.middleGridx, tableType.middleGridY);

        GetComponent <SpriteRenderer>().sprite = tableType.sprite;

        //Add all the chairs for the table
        foreach (Vector2 chair in tableType.seatLocations)
        {
            GameObject prefab = (GameObject)Instantiate(chairPrefab, transform);
            prefab.transform.position = new Vector3(transform.position.x + (grid.gridSize * chair.x), transform.position.y + (grid.gridSize * chair.y));

            OChair oChair = prefab.GetComponent <OChair>();
            oChair.location    = new Vector2(location.x + chair.x, location.y + chair.y);
            oChair.chairObject = tableType.chair;
        }
    }