Esempio n. 1
0
    private static GameObject getModeloNoSerializableReal(int referencia, Vector3 pos)
    {
        if (modelosAnimales == null || modelosEdificios == null || modelosVegetales == null || objetoRoca == null)
        {
            if (!iniciaVariablesEstaticas())
            {
                Debug.LogError("Error al iniciar variables estaticas. Puede estar en una escena incorrecta?");
                return(null);
            }
        }
        //[Debug] -----------------
//		Vector3 pos = Vector3.zero;
        // ------------------------
        GameObject resultado;

        switch (referencia)
        {
        //Edificios [20-24]
        case 20:                        //Fabrica componentes basicos
            resultado = FuncTablero.creaMesh(pos, modelosEdificios.fabCompBas);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 21:                        //Central de energia
            resultado = FuncTablero.creaMesh(pos, modelosEdificios.centralEnergia);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 22:                        //Granja
            resultado = FuncTablero.creaMesh(pos, modelosEdificios.granja);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 23:                        //Fabrica componentes avanzados
            resultado = FuncTablero.creaMesh(pos, modelosEdificios.fabCompAdv);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 24:                        //Central energia avanzada
            resultado = FuncTablero.creaMesh(pos, modelosEdificios.centralEnergiaAdv);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        //Animales [10-19]
        case 10:                        //Conejo
            resultado = FuncTablero.creaMesh(pos, modelosAnimales.herbivoro1[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 11:                        //Camello
            resultado = FuncTablero.creaMesh(pos, modelosAnimales.herbivoro2[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 12:                        //Tortuga
            resultado = FuncTablero.creaMesh(pos, modelosAnimales.herbivoro3[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 13:                        //Ciervo
            resultado = FuncTablero.creaMesh(pos, modelosAnimales.herbivoro4[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 14:                        //Salamandra
            resultado = FuncTablero.creaMesh(pos, modelosAnimales.herbivoro5[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 15:                        //Zorro
            resultado = FuncTablero.creaMesh(pos, modelosAnimales.carnivoro1[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 16:                        //Lobo
            resultado = FuncTablero.creaMesh(pos, modelosAnimales.carnivoro2[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 17:                        //Serpiente
            resultado = FuncTablero.creaMesh(pos, modelosAnimales.carnivoro3[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 18:                        //Tigre
            resultado = FuncTablero.creaMesh(pos, modelosAnimales.carnivoro4[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 19:                        //Velociraptor
            resultado = FuncTablero.creaMesh(pos, modelosAnimales.carnivoro5[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        //Vegetales [0-9]
        case 0:         //Seta
            resultado = FuncTablero.creaMesh(pos, modelosVegetales.setas[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 1:         //Flor
            resultado = FuncTablero.creaMesh(pos, modelosVegetales.flores[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 2:         //Caña
            resultado = FuncTablero.creaMesh(pos, modelosVegetales.canas[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 3:         //Arbusto
            resultado = FuncTablero.creaMesh(pos, modelosVegetales.arbustos[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 4:         //Estromatolito
            resultado = FuncTablero.creaMesh(pos, modelosVegetales.estromatolitos[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 5:         //Cactus
            resultado = FuncTablero.creaMesh(pos, modelosVegetales.cactus[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 6:         //Palmera
            resultado = FuncTablero.creaMesh(pos, modelosVegetales.palmeras[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 7:         //Pino
            resultado = FuncTablero.creaMesh(pos, modelosVegetales.pinos[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 8:         //Cipres
            resultado = FuncTablero.creaMesh(pos, modelosVegetales.cipreses[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        case 9:         //Pino alto
            resultado = FuncTablero.creaMesh(pos, modelosVegetales.pinosAltos[UnityEngine.Random.Range(0, 4)]);
            resultado.transform.position = objetoRoca.transform.TransformPoint(resultado.transform.position);
            return(resultado);

        default:
            Debug.LogError("La referencia de entrada al metodo getModeloNoSerializableReal(int, Vector3) no es valida! Num = " + referencia.ToString());
            return(GameObject.CreatePrimitive(PrimitiveType.Cube));
        }
    }