private void Ripple() { positions = solutionManager.GetPositions(); for (int i = 0; i < solutionManager.GetAtoms().Count; i++) { centers[i] = new Vector4(positions[i].x, positions[i].y / 14f, 1f - ((positions[i].z + 10f) / -22f), 0f); } Shader.SetGlobalVectorArray("centerss", centers); Shader.SetGlobalInt("nAtoms", solutionManager.GetAtoms().Count); }
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(); } }