private void CreateTargets()
        {
            if (!targetsContainer)
            {
                return;
            }
            if (!targetPrefab)
            {
                return;
            }

            GUIObjectTargetHelper[] ts = targetsContainer.GetComponentsInChildren <GUIObjectTargetHelper>();
            foreach (var item in ts)
            {
                Destroy(item.gameObject);
            }

            foreach (var item in MBoard.Targets)
            {
                RectTransform         t  = Instantiate(targetPrefab, targetsContainer).GetComponent <RectTransform>();
                GUIObjectTargetHelper th = t.GetComponent <GUIObjectTargetHelper>();
                th.SetData(item.Value, false, true);
                th.SetIcon(MBoard.GOSet.GetObject(item.Value.ID).GuiImage);
                item.Value.ChangeCountEvent += (td) => { if (this)
                                                         {
                                                             th.SetData(td, false); th.gameObject.SetActive(td.NeedCount > 0);
                                                         }
                };
                th.gameObject.SetActive(item.Value.NeedCount > 0);
            }
        }