private void CreateBoard() { Tile middleTile = Board.GetMiddleTile(); int middleRow = middleTile.Row; int middleCol = middleTile.Col; foreach (Tile tile in Board.Tiles) { TileBehaviour tileInstance = Instantiate(_tilePrefab, TilesParent); tileInstance.transform.localPosition = new Vector3(0, tile.Row - middleRow, tile.Col - middleCol); tileInstance.UpdateMaterial(tile); _tiles.Add(tileInstance); } }
private IEnumerator Start() { _tiles = new List <TileBehaviour>(); yield return(null); if (Time == null) { Time = new UnityTime(); } if (InputSource == null) { InputSource = new UnityInputSource(Keys); } if (Random == null) { Random = new UnityRandom(); } Board = new Board(BoardSize); Manager = new GameManager(Board, new Snake(), new PlayerInput(InputSource), new FoodSpawner(Random)); HighScore = Score; Camera.orthographicSize = (((float)BoardSize) / 2) + 1; _tilePrefab = Resources.Load <TileBehaviour>("Tile"); CreateBoard(); GameResultText.gameObject.SetActive(false); RestartButton.onClick.AddListener(OnRestartClick); RestartButton.gameObject.SetActive(false); yield return(null); Loaded = true; }