public void SetParent(MangoSkeleton parent)// stops AddChild() and ClearParent() from looping forever
 {
     ClearParent();
     this.parent = parent;
     if (!(parent.HasChild(this)))
     {
         parent.AddChild(this);
     }
 }