unity3d - Get position of object in Grid Layout -


how can actual position of object in grid layout? in current iteration symbolposition keeps returning 0,0,0.

public void onpointerclick (pointereventdata eventdata) {     // instantiate object on click , parent grid     symbolcharacter = instantiate(resources.load ("prefabs/symbols/symbolimage1")) gameobject;     symbolcharacter.transform.setparent(gameobject.findgameobjectwithtag("messagepanel").transform);      // set scale of objects added     symbolcharacter.transform.localscale = symbolscale;      // find position of objects in grid     symbolposition = symbolcharacter.transform.position;     debug.log(symbolposition); } 

the position value wont updated until next frame. in order allow make lot of changes without each 1 of them causing entire recalculation of elements stores items need calculated , updates them @ beginning of next frame.

so option use coroutine wait frame , position

public void onpointerclick (pointereventdata eventdata) {     // instantiate object on click , parent grid     symbolcharacter = instantiate(resources.load ("prefabs/symbols/symbolimage1")) gameobject;     symbolcharacter.transform.setparent(gameobject.findgameobjectwithtag("messagepanel").transform);      // set scale of objects added     symbolcharacter.transform.localscale = symbolscale;      startcoroutine(cowaitforposition()); }  ienumerator cowaitforposition() {     yield return new waitforendofframe();     // find position of objects in grid     symbolposition = symbolcharacter.transform.position;     debug.log(symbolposition); } 

Comments