コード例 #1
0
    //Weitere Methode, welche beim anklicken des Toggles aufgerufen wird
    //Diese Methode aktualisiert den isSink-Wert der Node in dem entsprechenden Node-Objekt
    public void SetSink()
    {
        //Der aktuelle Tabellenindex der angeklickten Node
        int currentIndex = gameObject.transform.parent.GetSiblingIndex() - 1;

        //Test-Ausgabe
        Debug.Log("Sink Index: " + currentIndex);

        //Node-Liste wird aus dem CController geladen und in lokale Liste gespeichert
        nodes = ccont.GetAllNodes();
        //Senke updaten
        foreach (Node n in nodes)
        {
            if (n != nodes[currentIndex])
            {
                n.setSink(false);
                if (!n.isSource)
                {
                    ccont.GetNodeAsGameObject(n.getName()).transform.GetChild(0).GetChild(0).GetComponent <MeshRenderer>().material = ccont.nodeMaterial;
                }
            }
            else
            {
                n.setSink(true);
                ccont.GetNodeAsGameObject(n.getName()).transform.GetChild(0).GetChild(0).GetComponent <MeshRenderer>().material = ccont.sinkMaterial;
            }
        }

        //Node-Liste im CController aktualisieren
        ccont.SetAllNodes(nodes);
    }
コード例 #2
0
    //Weitere Methode, welche beim Anklicken des Toggles aufgerufen wird
    public void SetSource()
    {
        //Der aktuelle Index des Knotens in der Tabelle
        //Dieser Stimmt mit dem Index des korrepsondierenden Knotens in der Node-Liste überein
        int currentIndex = gameObject.transform.parent.GetSiblingIndex() - 1;

        //Test-Ausgabe um den Index zu überprüfen
        Debug.Log("Source Index: " + currentIndex);

        //Die Node-Liste aus der CController auslesen
        nodes = ccont.GetAllNodes();
        // Quelle einfärben


        //Quelle updaten
        foreach (Node n in nodes)
        {
            if (n != nodes[currentIndex])
            {
                n.setSource(false);
                if (!n.isSink)
                {
                    ccont.GetNodeAsGameObject(n.getName()).transform.GetChild(0).GetChild(0).GetComponent <MeshRenderer>().material = ccont.nodeMaterial;
                }
            }
            else
            {
                n.setSource(true);
                ccont.GetNodeAsGameObject(nodes[currentIndex].getName()).transform.GetChild(0).GetChild(0).GetComponent <MeshRenderer>().material = ccont.sourceMaterial;
            }
        }

        //Die Node-Liste aus dem CController wird aktualisiert
        ccont.SetAllNodes(nodes);
    }