void Start()
 {
     utilItem       = null;
     utilItemPrefab = Resources.Load("Prefabs/UtilItemPrefab", typeof(GameObject)) as GameObject;
     grid           = FindGameObject("Grid");
     StartCoroutine(DelaySetupUtilGrid());
 }
	void SetupUtilGrid(){
		int i = 0;
		foreach(Dictionary<string,string> item in DataManager.Instance.items){
			GameObject instance = NGUITools.AddChild(grid, utilItemPrefab) as GameObject;
			UISprite sprite = instance.transform.FindChild("item").GetComponent<UISprite>();
			UtilItem uItem = instance.GetComponent<UtilItem>();
			sprite.spriteName = item["id"];
			instance.name = "Item_" + item["id"];
			uItem.idx = i;
			if (i==0) utilItem = uItem;
			i ++;
		}
		grid.GetComponent<UIGrid>().Reposition();
	}
    void SetupUtilGrid()
    {
        int i = 0;

        foreach (Dictionary <string, string> item in DataManager.Instance.items)
        {
            GameObject instance = NGUITools.AddChild(grid, utilItemPrefab) as GameObject;
            UISprite   sprite   = instance.transform.FindChild("item").GetComponent <UISprite>();
            UtilItem   uItem    = instance.GetComponent <UtilItem>();
            sprite.spriteName = item["id"];
            instance.name     = "Item_" + item["id"];
            uItem.idx         = i;
            if (i == 0)
            {
                utilItem = uItem;
            }
            i++;
        }
        grid.GetComponent <UIGrid>().Reposition();
    }
	void Start () {
		utilItem = null;
		utilItemPrefab = Resources.Load("Prefabs/UtilItemPrefab", typeof(GameObject)) as GameObject;
		grid = FindGameObject("Grid");
		StartCoroutine( DelaySetupUtilGrid() );
	}