public void backStep() { if (moves.Count == 0) { GameObject.Find("Back").GetComponent <BackScript> ().setState(Enums.SelectorState.Blocked); backToStart(); } else { if (!isBlocked) { object[] obj = GameObject.FindObjectsOfType(typeof(TilePrefabScript)); foreach (object o in obj) { TilePrefabScript tilePrefab = (TilePrefabScript)o; Coordinate prefabCoord = tilePrefab.getTileScript().getCoordinates(); if (tilePrefab.getState() == Enums.TilePrefabState.Target && prefabCoord.equals(targetCoord [targetCoord.Count - 1])) { tilePrefab.state = Enums.TilePrefabState.Normal; tilePrefab.setGrass(); } } targetCoord.RemoveAt(targetCoord.Count - 1); targetEntr.RemoveAt(targetEntr.Count - 1); targetPos.RemoveAt(targetPos.Count - 1); } back(); } }