public void Show(SaveableNumberDictionary <int> items, Action <int> selectCallback = null, Func <Jyx2Item, bool> filter = null) { HSUnityTools.DestroyChildren(m_Container); callback = selectCallback; foreach (var kv in items) { string id = kv.Key; int count = kv.Value; var item = ConfigTable.Get <Jyx2Item>(id); if (item == null) { Debug.LogError("调用了错误的物品,id=" + id); continue; } //过滤器逻辑 if (filter != null && filter(item) == false) { continue; } var itemUI = Jyx2ItemUI.Create(int.Parse(id), count); itemUI.transform.SetParent(m_Container); var btn = itemUI.GetComponent <Button>(); btn.onClick.RemoveAllListeners(); btn.onClick.AddListener(() => { SelectItem(itemUI); }); } }
void RefreshSave() { HSUnityTools.DestroyChildren(SaveParent_RectTransform); for (int i = 0; i < GameConst.SAVE_COUNT; i++) { var btn = Instantiate(SaveItem_Button); btn.transform.SetParent(SaveParent_RectTransform); btn.transform.localScale = Vector3.one; btn.name = i.ToString(); Text title = btn.transform.Find("Title").GetComponent <Text>(); title.text = "´æµµ" + GameConst.GetUPNumber(i + 1); var txt = btn.transform.Find("SummaryText").GetComponent <Text>(); var summaryInfoKey = GameRuntimeData.ARCHIVE_SUMMARY_PREFIX + i; if (PlayerPrefs.HasKey(summaryInfoKey)) { txt.text = PlayerPrefs.GetString(summaryInfoKey); } else { txt.text = "¿Õ´æµµÎ»"; } BindListener(btn, () => { OnSaveItemClick(btn); }); } }
void RefreshScroll() { HSUnityTools.DestroyChildren(RoleParent_RectTransform); if (m_params.roleList == null || m_params.roleList.Count <= 0) { return; } for (int i = 0; i < m_params.roleList.Count; i++) { var role = m_params.roleList[i]; var item = RoleUIItem.Create(); item.transform.SetParent(RoleParent_RectTransform); item.transform.localScale = Vector3.one; Button btn = item.GetComponent <Button>(); BindListener(btn, () => { OnItemClick(item); }); bool select = m_params.selectList.Contains(role); item.SetSelect(select); item.ShowRole(role); } }
void RefreshScrollView() { HSUnityTools.DestroyChildren(RoleParent_RectTransform); if (m_roleList == null || m_roleList.Count <= 0) { return; } RoleInstance role; for (int i = 0; i < m_roleList.Count; i++) { role = m_roleList[i]; var item = RoleUIItem.Create(); item.transform.SetParent(RoleParent_RectTransform); item.transform.localScale = Vector3.one; Button btn = item.GetComponent <Button>(); BindListener(btn, () => { OnItemClick(item); }); bool isSelect = (m_currentRole == role); if (isSelect) { m_currentShowItem = item; } item.SetSelect(isSelect); item.ShowRole(role); } }
protected override void OnHidePanel() { base.OnHidePanel(); m_selectItem = null; m_callback = null; m_filter = null; HSUnityTools.DestroyChildren(ItemRoot_RectTransform); }
public void Show(IEnumerable <RoleInstance> roles, Func <RoleInstance, bool> mustRoles, Action <List <RoleInstance> > callback) { HSUnityTools.DestroyChildren(m_Container); _mustRolesFunc = mustRoles; _callback = callback; foreach (var role in roles) { AddRole(role); } }
void RefreshScroll() { HSUnityTools.DestroyChildren(ItemRoot_RectTransform); bool hasSelect = false; foreach (var kv in m_itemDatas) { string id = kv.Key; int count = kv.Value; var item = ConfigTable.Get <Jyx2Item>(id); if (item == null) { Debug.LogError("cannot get item data, id=" + id); continue; } //item filter if (m_filter != null && m_filter(item) == false) { continue; } var itemUI = Jyx2ItemUI.Create(int.Parse(id), count); itemUI.transform.SetParent(ItemRoot_RectTransform); itemUI.transform.localScale = Vector3.one; var btn = itemUI.GetComponent <Button>(); BindListener(btn, () => { OnItemClick(itemUI); }); if (!hasSelect) { m_selectItem = itemUI; hasSelect = true; } itemUI.Select(m_selectItem == itemUI); } ShowItemDes(); }
protected override void OnHidePanel() { base.OnHidePanel(); m_params = null; HSUnityTools.DestroyChildren(RoleParent_RectTransform); }
public void OnChange(Action callback = null) { if (Application.isPlaying) { //销毁所有的孩子 HSUnityTools.DestroyChildren(transform); } else { int childCount = transform.childCount; for (int i = childCount - 1; i >= 0; --i) { var go = transform.GetChild(i).gameObject; go.SetActive(false); DestroyImmediate(go); } transform.DetachChildren(); //适应老的代码。。清理残留的合并Mesh var oldMesh = GetComponent <SkinnedMeshRenderer>(); if (oldMesh != null) { DestroyImmediate(oldMesh); } } string path = ""; if (m_ModelId.StartsWith("@")) { path = m_ModelId.TrimStart('@'); } else { var roleModelSet = RoleModelSetObj.GetByName(m_ModelId); if (roleModelSet == null) { Debug.LogError("找不到模型:" + m_ModelId); return; } var modelPath = roleModelSet.FilePath; path = modelPath.TrimStart('@') + ".prefab"; } Jyx2ResourceHelper.SpawnPrefab(path, (res) => { if (res == null) { Debug.LogError("找不到模型资源:" + path); return; } if (res != null) { res.transform.SetParent(gameObject.transform, false); res.transform.localPosition = Vector3.zero; } var animator = GetComponent <Animator>(); if (animator != null) { animator.enabled = false; } if (callback != null) { callback(); } }); }
protected override void OnHidePanel() { base.OnHidePanel(); HSUnityTools.DestroyChildren(SaveParent_RectTransform); }
public void ClearChildren(Transform transform) { HSUnityTools.DestroyChildren(transform); }