Ejemplo n.º 1
0
    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]);
        }
    }
Ejemplo n.º 2
0
    public void CreateMap(int indexLenght, int indexWidth)
    {
        // Debug.Log(DataBaseManager.ins.DataXMLMap.dataLevel[grassSpawner.curentLevel].dataStage[grassSpawner.currentStage].detailMapsInt[0].Count);
        grassSpawner.Grass       = new List <List <GameObject> >();
        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++)
            {
                setTag = stringTag.Grass;
                SpawnObj(grassSpawner.Prefabs[0], i, setTag.ToString());
                grassSpawner.originalPos.x += 102;
            }

            grassSpawner.originalPos.x  = grassSpawner.Parent.position.x;
            grassSpawner.originalPos.z -= 102f;
        }
    }