private void OnTriggerExit(Collider other) { if (other.GetComponent <ParticleTile>() != null) { ParticleTile tile = other.GetComponent <ParticleTile>(); //tile.generator.ReOrganiseTiles(); //Debug.Log("Has Reorganised"); } //Debug.Log("Has Collided"); }
void Start() { gameManager = GameManager.instance; characterInstance = gameManager.characterInstance; particleCollection = new List <List <GameObject> >(); particleBoxDist = particlePrefab.GetComponent <ParticleSystem>().shape.scale.x; float tileDistance = particlePrefab.GetComponent <ParticleSystem>().shape.scale.x *particleDepth / 2; float xPosition = gameManager.characterInstance.transform.position.x - (tileDistance - particleBoxDist / 2); for (int i = 0; i < particleDepth; i++) { List <GameObject> snowColumn = new List <GameObject>(); float zPosition = gameManager.characterInstance.transform.position.z - (tileDistance - particleBoxDist / 2); for (int a = 0; a < particleDepth; a++) { Vector3 instancePosition = new Vector3(xPosition, particlePrefab.transform.position.y, zPosition); GameObject particles = Instantiate(particlePrefab, instancePosition, Quaternion.identity); ParticleTile particle = particles.GetComponent <ParticleTile>(); particle.generator = this; zPosition += particleBoxDist; snowColumn.Add(particles); } xPosition += particleBoxDist; particleCollection.Add(snowColumn); } bottomZIndex = 0; upZIndex = particleCollection.Count - 1; rightIndex = particleCollection.Count - 1; leftIndex = 0; List <GameObject> firstcolumn = particleCollection[0]; List <GameObject> lastcolumn = particleCollection[rightIndex]; maxZPosition = firstcolumn[upZIndex].transform.position.z; minimumZPosition = firstcolumn[bottomZIndex].transform.position.z; maxRightPosition = lastcolumn[0].transform.position.x; maxLeftPosition = firstcolumn[0].transform.position.x; }