public void UpdateData(Tab_NewServerAward pAward, int dayIndex, IChooseItem agent, string strDicId, int loginDays = 0) { gameObject.name = dayIndex.ToString(); m_nDayIndex = dayIndex; m_chooseAgent = agent; m_lblDay.text = StrDictionary.GetClientDictionaryString(strDicId, m_nDayIndex + 1); int addedItem = 0; //这个现在代表 if (pAward.GetShowIdbyIndex(0) != -1) { if (pAward.GetShowIdbyIndex(0) > 0) { m_aryRewardItem[addedItem].AddItem(RewardAwardItem.ItemType.ITEM_ITEM, pAward.GetShowIdbyIndex(0), 1); m_aryRewardItem[addedItem].UpdateItemState(RewardAwardItem.AwardState.AWARD_IDLE); ++addedItem; } } else { if (pAward.Exp > 0) { m_aryRewardItem[addedItem].AddItem(RewardAwardItem.ItemType.ITEM_EXP, -1, pAward.Exp); m_aryRewardItem[addedItem].UpdateItemState(RewardAwardItem.AwardState.AWARD_IDLE); addedItem++; } if (pAward.Money > 0) { m_aryRewardItem[addedItem].AddItem(RewardAwardItem.ItemType.ITEM_MONEY, -1, pAward.Money); m_aryRewardItem[addedItem].UpdateItemState(RewardAwardItem.AwardState.AWARD_IDLE); addedItem++; } if (pAward.BindYuanbao > 0) { m_aryRewardItem[addedItem].AddItem(RewardAwardItem.ItemType.ITEM_YUANBAO, -1, pAward.BindYuanbao); m_aryRewardItem[addedItem].UpdateItemState(RewardAwardItem.AwardState.AWARD_IDLE); addedItem++; } for (int itemIndex = 0; itemIndex < pAward.getItemCountCount(); ++itemIndex) { if (pAward.GetItemDataIDbyIndex(itemIndex) > 0 && addedItem < MAXSIGNNUMPERGRID) { m_aryRewardItem[addedItem].AddItem(RewardAwardItem.ItemType.ITEM_ITEM, pAward.GetItemDataIDbyIndex(itemIndex), pAward.GetItemCountbyIndex(itemIndex)); m_aryRewardItem[addedItem].UpdateItemState(RewardAwardItem.AwardState.AWARD_IDLE); addedItem++; } } } if (m_ContinueSignDay != null) { SetContinueDay(loginDays, dayIndex + 1); } for (; addedItem < m_aryRewardItem.Length; ++addedItem) { m_aryRewardItem[addedItem].m_ItemGrid[0].SetActive(false); } /* if (pAward.ItemDataID >= 0 && pAward.ItemCount > 0) * { * m_aryRewardItem[i].AddItem(RewardAwardItem.ItemType.ITEM_ITEM, pAward.ItemDataID, pAward.ItemCount); * }*/ }
public void DealWithSignInItem(int itemIndex, int itemStatus, int vipLevel, IChooseItem ins) { signAwardLogicInstance = ins; m_ItemIndex = itemIndex; if (vipLevel > 0 && GameManager.gameManager.PlayerDataPool.IsServerFlagOpen(SERVER_FLAGS_ENUM.FLAG_VIP)) { vipChooseSpriteInstead = true; //m_ChooseVipSprite.gameObject.SetActive(true); if (m_VipDoubleSprite != null) { m_VipDoubleSprite.gameObject.SetActive(true); } if (m_vipDoubleLable != null) { m_vipDoubleLable.text = StrDictionary.GetClientDictionaryString("#{11508}", vipLevel); } } else { vipChooseSpriteInstead = false; //m_ChooseVipSprite.gameObject.SetActive(false); if (m_VipDoubleSprite != null) { m_VipDoubleSprite.gameObject.SetActive(false); } //m_vipDoubleLable.gameObject.SetActive(false); } m_HaveAwardSprite.gameObject.SetActive(false); SetSignInItemHalfVipRewarded(false); m_ItemStatus = (DaySignInStates)itemStatus; SetOtherMask(m_ItemIndex, (DaySignInStates)itemStatus); switch ((DaySignInStates)itemStatus) { case DaySignInStates.NORMALSIGNED: { m_HaveAwardSprite.gameObject.SetActive(true); if (m_lblBuQian != null) { m_lblBuQian.SetActive(false); } //if (vipChooseSpriteInstead)//有vip双倍奖励。 //{ // m_bInFrozenState = false; // ChangeAllWidgetsToColor(m_NormalColor); //} //else//无VIP双倍奖励并且已经领过,说明这个签到ITEM没有其他可以操作的了。 { m_bInFrozenState = true; ChangeAllWidgetsToColor(m_GrayColor); } if (m_vipBuQian != null) { m_vipBuQian.SetActive(vipChooseSpriteInstead); } break; } case DaySignInStates.NOTSIGNEN: { ChangeAllWidgetsToColor(m_NormalColor); if (m_vipBuQian != null) { m_vipBuQian.SetActive(false); } m_bCanBuQian = CanSupply(itemIndex); m_bCanDoNormalSign = CanDoSign(itemIndex); int nowday = GameManager.gameManager.PlayerDataPool.DaySignInfo.m_nowDayIndex; if (nowday > m_ItemIndex) { bool sign = true; System.Collections.Generic.Dictionary <int, Games.AwardActivity.DaySignInItem> m_DaySignInfoList = GameManager.gameManager.PlayerDataPool.DaySignInfo.m_DaySignInfoList; Games.AwardActivity.DaySignInItem daysignitem; for (int i = 1; i < m_ItemIndex; ++i) { if (m_DaySignInfoList.TryGetValue(i, out daysignitem) && daysignitem.ItemStatus == (int)DaySignInStates.NOTSIGNEN) { sign = false; break; } } if (m_lblBuQian != null) { m_lblBuQian.SetActive(sign); } } break; } case DaySignInStates.VIPSIGNED: { ChangeAllWidgetsToColor(m_GrayColor); if (m_vipBuQian != null) { m_vipBuQian.SetActive(false); } if (m_lblBuQian != null) { m_lblBuQian.SetActive(false); } break; } case DaySignInStates.VIPSIGNEDHALF: { ChangeAllWidgetsToColor(m_NormalColor); if (m_vipBuQian != null) { m_vipBuQian.SetActive(true); } if (m_lblBuQian != null) { m_lblBuQian.SetActive(false); } SetSignInItemHalfVipRewarded(true); break; } case DaySignInStates.INVALID: { m_bInFrozenState = true; ChangeAllWidgetsToColor(m_NormalColor); if (m_vipBuQian != null) { m_vipBuQian.SetActive(false); } if (m_lblBuQian != null) { m_lblBuQian.SetActive(false); } SetSignInItemHalfVipRewarded(false); } break; default: { ChangeAllWidgetsToColor(m_NormalColor); break; } } }
public override void AddItem(ItemType nItemType, int nItemID, int nItemCount, int itemIndex = 0, int itemStatus = 0, int vipLevel = 0, IChooseItem ins = null, bool needTips = true) { // if (m_listWidgets.Count == 0) // { // UIWidget[] widgets = gameObject.GetComponentsInChildren<UIWidget>(true); // foreach (UIWidget wd in widgets) // { // m_listWidgets.Add(wd); // } // } if (nItemType < ItemType.ITEM_MONEY || nItemType > ItemType.ITEM_ITEM || nItemCount <= 0) { return; } if (m_ShowItemIndex < 0 || m_ShowItemIndex >= m_ItemGrid.Length || m_ShowItemIndex >= m_ItemIcon.Length || m_ShowItemIndex >= m_ItemLabel.Length || m_ShowItemIndex >= m_ItemType.Length || m_ShowItemIndex >= m_ItemDataID.Length || m_ShowItemIndex >= m_ItemCount.Length) { return; } m_nVipLevel = vipLevel; if (m_ItemGrid[m_ShowItemIndex] && m_ItemIcon[m_ShowItemIndex] && m_ItemLabel[m_ShowItemIndex]) { m_ItemGrid[m_ShowItemIndex].SetActive(true); m_ItemType[m_ShowItemIndex] = (int)nItemType; m_ItemCount[m_ShowItemIndex] = nItemCount; switch (nItemType) { case ItemType.ITEM_MONEY: m_ItemIcon[m_ShowItemIndex].spriteName = "jinbi"; m_ItemLabel[m_ShowItemIndex].text = nItemCount.ToString(); break; case ItemType.ITEM_EXP: m_ItemIcon[m_ShowItemIndex].spriteName = "jingyan"; m_ItemLabel[m_ShowItemIndex].text = nItemCount.ToString(); break; case ItemType.ITEM_YUANBAO: m_ItemIcon[m_ShowItemIndex].spriteName = "bdyuanbao"; m_ItemLabel[m_ShowItemIndex].text = nItemCount.ToString(); break; case ItemType.ITEM_ITEM: Tab_CommonItem cItem = TableManager.GetCommonItemByID(nItemID, 0); if (cItem != null) { m_ItemDataID[m_ShowItemIndex] = nItemID; m_ItemIcon[m_ShowItemIndex].spriteName = cItem.Icon; m_ItemLabel[m_ShowItemIndex].text = nItemCount.ToString(); m_FrameSprite[m_ShowItemIndex].spriteName = Games.GlobeDefine.GlobeVar.QualityColorGrid[cItem.Quality - 1]; } break; } if (needTips) { UIEventListener.Get(m_ItemGrid[m_ShowItemIndex]).onClick = ShowRewardDetail; } m_ShowItemIndex += 1; } if (itemIndex > 0) { DealWithSignInItem(itemIndex, itemStatus, vipLevel, ins); } }
public void AddItem(RewardAwardItem.ItemType nItemType, int nItemID, int nItemCount, int itemIndex = 0, int itemStatus = 0, int vipLevel = 0, IChooseItem ins = null, Action sureAction = null, bool isDefaultCanDoSign = false) { m_RewardItem.AddItem(nItemType, nItemID, nItemCount, itemIndex, (int)DaySignInStates.NOTSIGNEN, vipLevel); if (sureAction != null) { m_SureAction = sureAction; } Tab_CommonItem tabItem = TableManager.GetCommonItemByID(nItemID, 0); if (tabItem != null) { m_lblItemName.text = tabItem.Name; } else { switch (nItemType) { case RewardAwardItem.ItemType.ITEM_MONEY: m_lblItemName.text = StrDictionary.GetClientDictionaryString("#{10921}"); break; case RewardAwardItem.ItemType.ITEM_EXP: m_lblItemName.text = StrDictionary.GetClientDictionaryString("#{10849}"); break; case RewardAwardItem.ItemType.ITEM_YUANBAO: m_lblItemName.text = StrDictionary.GetClientDictionaryString("#{2913}"); break; default: m_lblItemName.text = ""; break; } } if (AwardLogic.Instance() == null || AwardLogic.Instance().m_DaySignInAwardRoot == null) { return; } DaySignInItem Signitem = AwardLogic.Instance().m_DaySignInAwardRoot.GetDaySignInItemWithIndex(itemIndex); if (vipLevel > 0) { //达到VIP{0}可补领额外奖励 if ((DaySignInStates)itemStatus == DaySignInStates.NOTSIGNEN) { m_ConditionStr = StrDictionary.GetClientDictionaryString("#{11239}", vipLevel); m_BtnStr = StrDictionary.GetClientDictionaryString("#{4638}"); } //显示达到vipxx 奖励翻倍 else if ((DaySignInStates)itemStatus == DaySignInStates.NORMALSIGNED || (DaySignInStates)itemStatus == DaySignInStates.VIPSIGNEDHALF) { m_ConditionStr = StrDictionary.GetClientDictionaryString("#{11240}", Signitem.vipLimit); m_BtnStr = StrDictionary.GetClientDictionaryString("#{4638}"); } } //消费xxx点券可以补签 else { //当前是默认可签到的第一个 if (isDefaultCanDoSign) { m_ConditionStr = ""; } else { m_ConditionStr = StrDictionary.GetClientDictionaryString("#{4703}", Signitem.SupplyCost); } m_BtnStr = StrDictionary.GetClientDictionaryString("#{4638}"); } ShowUIDuePopUpType(); gameObject.SetActive(true); }