/// <summary> /// 初始化左侧的grid /// </summary> void InitHeartSkillGridList() { if (m_heartSkillList != null) { for (int i = 0; i < m_grid_heartSkillGridContent.transform.childCount; i++) { GameObject gridGo = m_grid_heartSkillGridContent.transform.GetChild(i).gameObject; UIHeartSkillGrid grid = gridGo.GetComponent <UIHeartSkillGrid>(); if (grid == null) { grid = gridGo.AddComponent <UIHeartSkillGrid>(); } grid.SetGridData(m_heartSkillList[i]); bool enableUpgrade = HSManager.IsEnableUpgrade(m_heartSkillList[i]); grid.SetRedPoint(enableUpgrade); if (m_selectItem == i) { SetSelectItem(m_selectItem); } grid.RegisterUIEventDelegate(OnSelectCallback); } } }
/// <summary> /// 设置选中 /// </summary> /// <param name="item"></param> void SetSelectItem(int item) { Transform gridTransf = m_grid_heartSkillGridContent.transform.GetChild(m_selectItem); if (gridTransf != null) { UIHeartSkillGrid grid = gridTransf.GetComponent <UIHeartSkillGrid>(); if (grid != null) { grid.SetSelect(false); } } gridTransf = m_grid_heartSkillGridContent.transform.GetChild(item); if (gridTransf != null) { UIHeartSkillGrid grid = gridTransf.GetComponent <UIHeartSkillGrid>(); if (grid != null) { grid.SetSelect(true); } } m_selectItem = item; InitHeartSkillUpgradeInfo(); }
/// <summary> /// 设置等级 /// </summary> /// <param name="item"></param> void SetItemLv(int item) { Transform gridTransf = m_grid_heartSkillGridContent.transform.GetChild(item); if (gridTransf != null) { UIHeartSkillGrid grid = gridTransf.GetComponent <UIHeartSkillGrid>(); HeartSkillDataBase db = GameTableManager.Instance.GetTableItem <HeartSkillDataBase>(m_heartSkillList[item].skill_id, (int)m_heartSkillList[item].level); if (grid != null && db != null) { grid.SetLv(db.lv); } } }
/// <summary> /// 设置遮罩mask /// </summary> /// <param name="item"></param> void SetItemMask(int item) { Transform gridTransf = m_grid_heartSkillGridContent.transform.GetChild(item); if (gridTransf != null) { UIHeartSkillGrid grid = gridTransf.GetComponent <UIHeartSkillGrid>(); HeartSkillDataBase db = GameTableManager.Instance.GetTableItem <HeartSkillDataBase>(m_heartSkillList[item].skill_id, (int)m_heartSkillList[item].level); if (grid != null) { bool isLock = db.lv == 0 ? true : false; grid.SetMask(isLock); } } }
/// <summary> /// grid点击事件 /// </summary> /// <param name="eventType"></param> /// <param name="data"></param> /// <param name="param"></param> void OnSelectCallback(UIEventType eventType, object data, object param) { if (eventType == UIEventType.Click) { UIHeartSkillGrid grid = data as UIHeartSkillGrid; if (grid == null) { return; } HeartSkillDataBase db = GameTableManager.Instance.GetTableItem <HeartSkillDataBase>(grid.m_heartSkill.skill_id, (int)grid.m_heartSkill.level); if (db != null) { SetSelectItem((int)db.orderId - 1); } } }