public void SetGrassSpawner(int indexLenght, int indexWidth) { // Debug.Log(DataBaseManager.ins.DataXMLMap.dataLevel[grassSpawner.curentLevel].dataStage[grassSpawner.currentStage].detailMapsInt[0].Count); grassSpawner.Grass = new List <List <GameObject> >(); PathReader = new List <PathFollowingReader>(); grassSpawner.originalPos = grassSpawner.Parent.position; for (int i = 0; i < indexLenght; i++) { grassSpawner.Grass.Add(new List <GameObject>()); for (int j = 0; j < indexWidth; j++) { for (int k = 0; k < (int)stringTag.NUM_STARTS; k++) { setTag = (stringTag)k; if (DataBaseManager.ins.DataXMLMap.dataLevel[grassSpawner.curentLevel].dataStage[grassSpawner.currentStage].detailMapsInt[i][j] == (int)setTag) { SpawnObj(grassSpawner.Prefabs[k - 1], i, setTag.ToString()); if (setTag == stringTag.HoleSpawner) { PathFollowingReader pathFollowing = new PathFollowingReader(); pathFollowing.HolePos.IndexPosX = j; pathFollowing.HolePos.IndexPosZ = i; PathReader.Add(pathFollowing); } } } grassSpawner.originalPos.x += 102; } grassSpawner.originalPos.x = grassSpawner.Parent.position.x; grassSpawner.originalPos.z -= 102f; } for (int i = 0; i < PathReader.Count; i++) { PathReader[i].SetFindObj(); } SpawnerManager.posSpawn = new Vector3[PathReader.Count]; SpawnerManager.RotationSpawn = new Quaternion[PathReader.Count]; for (int i = 0; i < PathReader.Count; i++) { SpawnerManager.posSpawn[i] = grassSpawner.Grass[PathReader[i].HolePos.IndexPosZ][PathReader[i].HolePos.IndexPosX].transform.position; SpawnerManager.posSpawn[i].y += 30f; Vector3 DesiredRot = Vector3.zero; if (PathReader[i].Steps.Count > 0) { DesiredRot = grassSpawner.Grass[PathReader[i].Steps[1].IndexPosZ][PathReader[i].Steps[1].IndexPosX].transform.position; } DesiredRot.y = SpawnerManager.posSpawn[i].y; SpawnerManager.RotationSpawn[i] = Quaternion.LookRotation(DesiredRot - SpawnerManager.posSpawn[i]); } }
public void SetDesirePos(PathFollowingReader path) { DesirePos = new Vector3[path.Steps.Count - 1]; for (int i = 0; i < DesirePos.Length; i++) { DesirePos[i] = GameManager.ins.grassSpawner.Grass[path.Steps[i + 1].IndexPosZ][path.Steps[i + 1].IndexPosX].transform.position; if (Data.type == EnemiesData.Type.Walking) { DesirePos[i].y += 30f; } else { DesirePos[i].y += 130f; } } Vector3 pos = transform.position; pos.y = DesirePos[0].y; transform.position = pos; }