public void SetUI(TransferData data, Action <int, Transform> OnClickGameLevelHandler, Transform container) { m_uIGameLevelMapItemViews.Clear(); m_chapterNameText.text = data.GetValue <string>("ChapterName"); m_chapterId = data.GetValue <int>("ChapterId"); m_mapImage.texture = GameObjectUtil.LoadGameLevelMapPic(data.GetValue <string>("ChapterMapBg")); //设置章节所属的关卡信息 gameLevelEntities = data.GetValue <List <GameLevelEntity> >("GameLevelList"); if (gameLevelEntities.Count <= 0) { return; } GameObject gameLevelMapItemObj = null; UIGameLevelMapItemView uIGameLevelMapItemView = null; foreach (GameLevelEntity item in gameLevelEntities) { gameLevelMapItemObj = ResourcesMgr.Instance.Load(ResourcesMgr.ResourceType.UIWindowsChild, "GameLevel/GameLevelMapItem", false); uIGameLevelMapItemView = gameLevelMapItemObj.GetComponent <UIGameLevelMapItemView>(); gameLevelMapItemObj.transform.SetParent(m_mapImage.transform); gameLevelMapItemObj.SetGameObjNormalTransfor(0.8f); gameLevelMapItemObj.transform.localPosition = item.GetGameLevelPosition; TransferData transfer = new TransferData(); { transfer.SetValue <string>("GameLevelItemName", item.Name); transfer.SetValue <string>("GameLevelItemIcon", item.Ico); transfer.SetValue <int>("GameLevelItemId", item.Id); }; uIGameLevelMapItemView.SetUI(transfer, OnClickGameLevelHandler, container); m_uIGameLevelMapItemViews.Add(uIGameLevelMapItemView); } }
private IEnumerator LoadItem(GameObject obj) { for (int i = 0; i < m_lstData.Count; i++) { obj = Instantiate(obj); obj.SetParent(imgMap.transform); Vector2 pos = m_lstData[i].GetValue <Vector2>(ConstDefine.GameLevelPostion); obj.transform.localPosition = new Vector3(pos.x, pos.y, 0); UIGameLevelMapItemView view = obj.GetComponent <UIGameLevelMapItemView>(); view.SetUI(m_lstData[i], OnGameLevelItemClick); m_GameLevelItems.Add(obj.transform); yield return(null); } AssetBundleMgr.Instance.LoadOrDownload("Download/Prefab/UIPrefab/UIWindowsChild/GameLevel/GameLevelMapPoint.assetbundle", "GameLevelMapPoint", (GameObject gameObject1) => { StartCoroutine(LoadPoint(gameObject1)); }); }