UIGrid grid = GetComponent<UIGrid>();
UIWidget widget = transform.parent.GetComponent<UIWidget>();
foreach(TileRecord rec in tileRecords){
GameObject panel = NGUITools.AddChild(grid.gameObject);
//UITexture nguiTexture = panel.AddComponent<UITexture>();
UITexture nguiTexture = NGUITools.AddWidget<UITexture>(panel);
nguiTexture.mainTexture = rec.tilePreviewImage;
nguiTexture.depth = widget.depth+1;
//nguiTexture.transform.localScale = new Vector3(0.5f,0.5f,1);
panel.transform.parent = transform;
panel.transform.localPosition = Vector3.zero;
nguiTexture.MarkAsChanged();
NGUITools.AddWidgetCollider(panel);
//UIDragScrollView dsv = panel.AddComponent<UIDragScrollView>();
UIDragScrollView dsv = NGUITools.AddMissingComponent<UIDragScrollView>(panel);
dsv.scrollView = grid.transform.parent.GetComponent<UIScrollView>();
//TileClickManager tcm = panel.AddComponent<TileClickManager>();
TileClickManager tcm = NGUITools.AddMissingComponent<TileClickManager>(panel);
tcm.tileRec = rec;
tcm.mapCursor = cursor;
}
grid.Reposition();
transform.parent.GetComponent<UIWidget>().MarkAsChanged();