Ejemplo n.º 1
0
    private void MoleculeActivation()
    {
        if (firstActivation)
        {
            atoms    = new GameObject[AtomsManager.GetN()];
            atoms[0] = AtomsManager.GetPivot();

            for (int i = 0; i < AtomsManager.GetAtoms().Count; i++)
            {
                atoms[i + 1] = AtomsManager.GetAtoms()[i].gameObject;
            }

            solutionAtoms    = new GameObject[AtomsManager.GetN()];
            solutionAtoms[0] = SolutionManager.GetPivot();

            for (int i = 0; i < SolutionManager.GetAtoms().Count; i++)
            {
                solutionAtoms[i + 1] = SolutionManager.GetAtoms()[i].gameObject;
            }

            CreateSolutionMST();
            atomsMST = VertexListToAdjencyList(solutionMST);
            Dfs(solutionMST[0]);

            DisplayMoleculeBonds();
            // IMPOSTA PARENTELE MOLECOLE
            ParentingMolecule();
            firstActivation = false;
        }
        else
        {
            Debug.Log("second");
            Dfs(solutionMST[0]);
            DisplayMoleculeBonds();
        }
    }