public ICollideGeometricElement Clone(CollideMeshObject mesh) { CollideSpheresElement sm = (CollideSpheresElement)MemberwiseClone(); sm.Mesh = mesh; sm.Reset(); return(sm); }
public CollideMeshObject Clone() { CollideMeshObject m = (CollideMeshObject)MemberwiseClone(); m.Gao = new GameObject("Collide Set"); m.Gao.tag = "Collide"; m.subblocks = new ICollideGeometricElement[num_subblocks]; for (uint i = 0; i < m.num_subblocks; i++) { if (subblocks[i] != null) { m.subblocks[i] = subblocks[i].Clone(m); } } for (uint i = 0; i < m.num_subblocks; i++) { if (m.subblocks[i] != null) { GameObject child = m.subblocks[i].Gao; child.transform.SetParent(m.Gao.transform); child.transform.localPosition = Vector3.zero; /*if (m.subblocks[i] is CollideMeshElement) { * GameObject child = ((CollideMeshElement)m.subblocks[i]).Gao; * child.transform.SetParent(m.gao.transform); * child.transform.localPosition = Vector3.zero; * } else if (m.subblocks[i] is CollideSpheresElement) { * GameObject child = ((CollideSpheresElement)m.subblocks[i]).Gao; * child.transform.SetParent(m.gao.transform); * child.transform.localPosition = Vector3.zero; * } else if (m.subblocks[i] is CollideAlignedBoxesElement) { * GameObject child = ((CollideAlignedBoxesElement)m.subblocks[i]).Gao; * child.transform.SetParent(m.gao.transform); * child.transform.localPosition = Vector3.zero; * }*/ } } m.SetVisualsActive(false); // Invisible by default //m.gao.SetActive(false); // Invisible by default return(m); }