c# - Remove the last child from a gameobject -


i'm creating custom keyboard touchscreen application outputs image when button pressed. these images populate grid layout keep things organized linearly. need backspace button. i'm struggling backspace. i'm having trouble finding problem code attached. when hit deletekey button nothing happens, i'm not sure i'm going wrong want remove last child in messagepanel gameobject.

list<gameobject> msgsymbols = new list<gameobject>(); public string prefabpath; int msglength;  vector3 symbolpos; gameobject symbolchar; gameobject msgpanel; vector3 symbolscale = new vector3(1.0f, 1.0f, 1.0f);  gameobject[] symbolkeys; gameobject deletekey;  void awake() {     msgpanel = gameobject.findgameobjectwithtag("messagepanel");     symbolkeys = gameobject.findgameobjectswithtag("symbolkey");     deletekey = gameobject.findgameobjectwithtag("deletekey"); }  #region ipointerclickhandler implementation  public void onpointerclick (pointereventdata eventdata) {     if (transform.comparetag("symbolkey"))     {          symbolchar = instantiate(resources.load (prefabpath)) gameobject;    // instantiate symbol         symbolchar.transform.setparent(msgpanel.transform);                     // parent grid         symbolchar.transform.localscale = symbolscale;                          // set scale of objects added         symbolpos = symbolchar.transform.position;                              // find position of objects in grid         msglength = msgpanel.transform.childcount;          foreach(transform t in msgpanel.transform)                              // create running list of symbol objects added messagepanel         {             msgsymbols.add(t.gameobject);          }          debug.log (msglength);     }      else if (transform.comparetag("deletekey"))     {         if(msgsymbols.count == 0) return;         destroy(msgsymbols.lastordefault());          // old attempts          // msgsymbols.removeat(msglength - 1);         // destroy(msgsymbols[msgsymbols.count-1]);     }  } #endregion 

check array has @ least 1 value before delete :

else if (transform.comparetag("deletekey")) {     if(messagesymbols.count == 0) return;     destroy(messagesymbols[messagesymbols.count-1]); } 

Comments