Esempio n. 1
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="grafo"></param>
    /// <param name="nodos"></param>
    public void cargarAristasNodos(List <AristaNodo> grafo, List <GameObject> nodos)
    {
        foreach (var item in grafo)
        {
            GameObject   lineaP = Instantiate(lineaNodoPrefab);
            AristaPrefab arista = lineaP.GetComponent <AristaPrefab>();

            foreach (var nodo in nodos)
            {
                PlanetaPrebab           pp = nodo.GetComponent <PlanetaPrebab>();
                DepositoPrefab          dp = nodo.GetComponent <DepositoPrefab>();
                TeletransportadorPrefab tp = nodo.GetComponent <TeletransportadorPrefab>();



                if (pp.planeta.id == item.origenFK)
                {
                    arista.origen = nodo;
                    item.origen   = pp.planeta;
                }
                if (pp.planeta.id == item.destinoFK)
                {
                    arista.destino = nodo;
                    item.destino   = pp.planeta;
                }



                arista.terminado = true;
            }
        }
    }
Esempio n. 2
0
    IEnumerator unirNodos(GameObject origen)
    {
        GameObject   lineaObject = Instantiate(lineaPrefab);
        LineRenderer linea       = lineaObject.GetComponent <LineRenderer>();
        AristaPrefab arista      = lineaObject.GetComponent <AristaPrefab>();

        arista.origen = origen;

        arista.aristaNodo.origenFK = buscarIdNodo(origen);



        linea.SetPosition(0, origen.transform.position);
        while (!Input.GetMouseButtonUp(0))
        {
            Vector3 posMouse;
            Vector3 pos = Input.mousePosition;
            Ray     ray = Camera.main.ScreenPointToRay(pos);
            Plane   xy  = new Plane(Vector3.up, new Vector3(0, -40, 0));
            float   distance;
            xy.Raycast(ray, out distance);
            posMouse = ray.GetPoint(distance);
            linea.SetPosition(1, posMouse);
            yield return(new WaitForSeconds(0.015f));
        }
        GameObject destino = buscarObjeto();

        if (destino == null || destino == origen)
        {
            Destroy(lineaObject);
        }
        else
        {
            linea.SetPosition(1, destino.transform.position);
            arista.destino              = destino;
            arista.terminado            = true;
            arista.aristaNodo.destinoFK = buscarIdNodo(destino);
            arista.aristaNodo.sistemaFK = buscarIdSistema(destino);
            ApiCalls.PostAristaNodo(arista.aristaNodo);

            GameObject.FindGameObjectWithTag("Sistema").GetComponent <SistemaSingleton>().prebabSistema.GetComponent <SistemaplanetarioPrefab>().sistemaPlanetario.grafo.Add(arista.aristaNodo);
        }
    }
Esempio n. 3
0
    public void cargarAristasSistema(List <AristaSistema> grafo, List <GameObject> sistemas)
    {
        foreach (var item in grafo)
        {
            GameObject   lineaP = Instantiate(lineaSistemaPrefab);
            AristaPrefab arista = lineaP.GetComponent <AristaPrefab>();
            foreach (var sistema in sistemas)
            {
                SistemaplanetarioPrefab sp = sistema.GetComponent <SistemaplanetarioPrefab>();

                if (sp.sistemaPlanetario.id == item.origenFK)
                {
                    arista.origen = sistema;
                    item.origen   = sp.sistemaPlanetario;
                }
                if (sp.sistemaPlanetario.id == item.destinoFK)
                {
                    arista.destino = sistema;
                    item.destino   = sp.sistemaPlanetario;
                }
            }
            arista.terminado = true;
        }
    }