private void CutElements() { int destroyed = 0; Debug.Log("Cutting Elements"); /*Pour chaque élément, compare chaque voisin avec chaque élément dans la liste * S'ils sont identiques, !alors détruire le joint qui relie l'élément et le voisin! * Ensuite, vider l'index de l'array de joint * Finalement vider la liste */ for (int i = 0; i < this.Elements.Count; i++) { ElementPhysics elementPhysics = this.Elements[i].GetComponent <ElementPhysics>(); for (int j = 0; j < elementPhysics.neighbors.Length; j++) { if (this.Elements.Contains(elementPhysics.neighbors[j])) { for (int k = 0; k < elementPhysics.jointsRigidbodys.Length; k++) { if (this.Elements.Contains(elementPhysics.jointsRigidbodys[k])) { Destroy(elementPhysics.joints[k]); elementPhysics.jointsRigidbodys[k] = null; elementPhysics.joints[k] = null; destroyed += 1; print("destroyed : " + destroyed); } } } } } this.Elements.Clear(); }
public Element(ElementCommon common, ElementPhysics physics) { this.common = common; this.physics = physics; }