public void SetRecommPrizeData() { RecommRecord record = LogicDataCenter.gamePromotionDataManager.recommRecord; if (record == null) { Trace.Log("GamePromotion: record == null"); return; } SetMyUserListData(); List <SSchemeRecommendPrize> list = RecommendPrizeConfig.Instance.ConfigList; int count = list.Count < m_prizVeiwList.Count ? list.Count : m_prizVeiwList.Count; bool isHavePrize = false; for (int i = 0; i < count; ++i) { m_prizVeiwList[i].SetData(list[i].targetID, list[i].totalNumGames, list[i].prizeList, ref record); m_prizVeiwList[i].gameObject.SetActive(true); } for (int i = count; i < m_prizVeiwList.Count; ++i) { m_prizVeiwList[i].gameObject.SetActive(false); } totalNumGamesIF.text = record.dwMatchNum.ToString(); redPointImage.gameObject.SetActive(IsHavePrize()); }
public void SetData(int targetID, int totalNumber, List <int> prizeIDList, ref RecommRecord record) { m_targetID = targetID; targetText.text = totalNumber.ToString(); int count = 0; if (prizeIDList != null) { count = prizeIDList.Count < m_prizeIDList.Count ? prizeIDList.Count : m_prizeIDList.Count; } for (int i = 0; i < count; ++i) { m_prizeIDList[i].SetData(prizeIDList[i]); m_prizeIDList[i].gameObject.SetActive(true); if (record.dwMatchNum >= totalNumber) { if ((record.nPrizeTaskData & (1 << (targetID - 1))) != 0) { obtainedPrizeText.gameObject.SetActive(true); obtainBtnMaskImage.gameObject.SetActive(false); obtainBtn.gameObject.SetActive(false); } else { obtainedPrizeText.gameObject.SetActive(false); obtainBtnMaskImage.gameObject.SetActive(false); obtainBtn.gameObject.SetActive(true); obtainBtn.enabled = true; } } else { obtainedPrizeText.gameObject.SetActive(false); obtainBtnMaskImage.gameObject.SetActive(true); obtainBtn.gameObject.SetActive(true); obtainBtn.enabled = false; } } for (int i = count; i < m_prizeIDList.Count; ++i) { m_prizeIDList[i].gameObject.SetActive(false); } }
private bool IsHavePrize() { RecommRecord record = LogicDataCenter.gamePromotionDataManager.recommRecord; if (record == null) { Trace.Log("GamePromotion: record == null"); return(false); } List <SSchemeRecommendPrize> list = RecommendPrizeConfig.Instance.ConfigList; int count = list.Count < m_prizVeiwList.Count ? list.Count : m_prizVeiwList.Count; for (int i = 0; i < count; ++i) { if (record.dwMatchNum >= list[i].totalNumGames && // 总局数大于等于奖励要求数 ((1 << (list[i].targetID - 1)) & record.nPrizeTaskData) == 0) // 该目标ID,在任务中的任务ID为0(还未领取) { return(true); } } return(false); }