This basically sets up the tiles for my endless runner, the error in particular being:
Inconsistent accessibility: field type 'gameobject' is less accessible than tilePrefabs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TileManager : MonoBehaviour {
private Transform playerTransform;
private float spawnZ = 0.0f;
private float tileLength = 39.0f;
private int amnTileOnScreen = 7;
public GameObject[] tilePrefabs;
// ** it is already public here **
private List<GameObject> activeTiles;
// Use this for initialization
public void Start () {
activeTiles = new List<GameObject> ();
playerTransform = gameObject.FindGameObjectWithTag("Player").transform;
for (int i = 0; i <= amnTileOnScreen; i++) {
SpawnTile ();
}
}
private void Update () {
if (playerTransform.position.z > (spawnZ - amnTileOnScreen +
tileLength)) {
SpawnTile ();
//DisableTile ();
DestroyTile();
}
}
public void SpawnTile(int prefabIndex = - 1)
{
GameObject go;
go = Instantiate(tilePrefabs[0]) as GameObject;
// reappears here
go.transform.SetParent(transform);
go.transform.position = Vector3.forward*spawnZ;
spawnZ += tileLength;
activeTiles.Add (go);
}
private void DestroyTile()
{
Destroy (transform.GetChild (0));
}
}