i am adding a line render to my gameobject as a child which works fine… however there is also an empty gameobject created as well which is not a child and has the name “linerender”. The correctly added linerender children have the name linerender(clone).
This isnt a huge problem but i dont want the scene getting filled with empty gameobjects. is there a way to stop this from happening? I cant see where my code has gone wrong.
any help is much appreciated,
kenneth
here is my code
void Drawbonds()
{
drawbonds = !drawbonds;
if(drawbonds)
{
for(int x=0; x<10; x++)
{
if(bonded[x] != null)
{
GameObject lineobj = Instantiate(new GameObject("linerender"), transform.position, Quaternion.identity) as GameObject;
lineobj.transform.parent = transform;
LineRenderer line = lineobj.AddComponent<LineRenderer>();
line.SetWidth(0.01f,0.01f);
line.renderer.enabled = true;
line.material = bondmaterial;
line.SetPosition(0, transform.position);
line.SetPosition(1, bonded[x].position);
}
}
}
else
{
foreach(Transform children in transform)
Destroy(children.gameObject);
}
}
fixed :
void Drawbonds()
{
drawbonds = !drawbonds;
if(drawbonds)
{
for(int x=0; x<10; x++)
{
if(bonded[x] != null)
{
GameObject lineobj = new GameObject("linerender");
lineobj.transform.position = transform.position;
lineobj.transform.parent = transform;
LineRenderer line = lineobj.AddComponent<LineRenderer>();
line.SetWidth(0.01f,0.01f);
line.renderer.enabled = true;
line.material = bondmaterial;
line.SetPosition(0, transform.position);
line.SetPosition(1, bonded[x].position);
}
}
}
else
{
foreach(Transform children in transform)
Destroy(children.gameObject);
}
}