// 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; } }
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; } }