public uint Execute(PacketDistributed ipacket) { GC_RET_ACCUMULATESIGNININFO packet = (GC_RET_ACCUMULATESIGNININFO )ipacket; if (null == packet) { return((uint)PACKET_EXE.PACKET_EXE_ERROR); } //enter your logic GameManager.gameManager.PlayerDataPool.AlreadySingedCount = packet.AlreadySignedCount; if (packet.GetIndex(0) == 1) // 第一个说明重新发送,清理缓存 { GameManager.gameManager.PlayerDataPool.ClearAccuItemListCache(); } for (int i = 0; i < packet.indexCount; i++) { AccumulateSignInfo Item = new AccumulateSignInfo(); Item.ItemIndex = packet.GetIndex(i); Item.ItemStatus = packet.GetStatus(i); Item.Exp = packet.GetExp(i); Item.Money = packet.GetMoney(i); Item.BindYuanbao = packet.GetBindYuanbao(i); //Item.ItemDataID = packet.GetItemDataID(i); //Item.ItemCount = packet.GetItemCount(i); Item.ItemDataID1 = packet.GetItemDataID1(i); Item.ItemCount1 = packet.GetItemCount1(i); Item.ItemDataID2 = packet.GetItemDataID2(i); Item.ItemCount2 = packet.GetItemCount2(i); Item.ItemDataID3 = packet.GetItemDataID3(i); Item.ItemCount3 = packet.GetItemCount3(i); Item.ItemDataID4 = packet.GetItemDataID4(i); Item.ItemCount4 = packet.GetItemCount4(i); Item.ItemDataID5 = packet.GetItemDataID5(i); Item.ItemCount5 = packet.GetItemCount5(i); GameManager.gameManager.PlayerDataPool.AddDaySignInfo(Item); } //GameManager.gameManager.PlayerDataPool.IsHaveNewSignCanDraw (); if (packet.indexCount > 1 && FunctionButtonLogic.Instance() != null) { FunctionButtonLogic.Instance().UpdateButtonAwardTips(); if (AwardLogic.Instance()) { AwardLogic.Instance().RefreshDaySignInUI(); } } return((uint)PACKET_EXE.PACKET_EXE_CONTINUE); }
void OnClickBox() { if (m_bIsOpend) { return; } if (AwardLogic.Instance() != null) { PlayerData.DaySignInInfoData DataSignInInfo = GameManager.gameManager.PlayerDataPool.DaySignInfo; if (DataSignInInfo != null && DataSignInInfo.m_AccumateSignDic != null) { if (DataSignInInfo.m_AccumateSignDic.ContainsKey(m_Index + 1)) { AccumulateSignInfo info = DataSignInInfo.m_AccumateSignDic[m_Index + 1]; AwardLogic.Instance().m_AccSignPopUpBox.UpdateChestRewards(info, m_Index + 1, this); } } //if (OnClickBoxWithIndex != null) //{ // OnClickBoxWithIndex(m_Index); //} } }
/// <summary> /// 判断累计奖励宝箱的状态 /// </summary> /// <param name="boxIndex"></param> /// <returns></returns> bool IsMonthBoxOpen(int boxIndex) { bool res = false; boxIndex += 1; PlayerData.DaySignInInfoData DataSignInInfo = GameManager.gameManager.PlayerDataPool.DaySignInfo; if (DataSignInInfo != null && DataSignInInfo.m_AccumateSignDic != null) { if (DataSignInInfo.m_AccumateSignDic.ContainsKey(boxIndex)) { AccumulateSignInfo info = DataSignInInfo.m_AccumateSignDic[boxIndex]; if (info.ItemStatus == 0) { return(false); } else { return(true); } } } return(res); }
//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) public void UpdateChestRewards(AccumulateSignInfo itemInfo, int awardIndex, MonthRewardItem MRBtn) { int itemIndex = 0; if (itemInfo.Exp > 0) { SetRewardItem(-1, RewardAwardItem.ItemType.ITEM_EXP, itemInfo.Exp, ref itemIndex); itemIndex++; } if (itemInfo.Money > 0) { SetRewardItem(-1, RewardAwardItem.ItemType.ITEM_MONEY, itemInfo.Money, ref itemIndex); itemIndex++; } if (itemInfo.BindYuanbao > 0) { SetRewardItem(-1, RewardAwardItem.ItemType.ITEM_YUANBAO, itemInfo.BindYuanbao, ref itemIndex); itemIndex++; } if (itemInfo.ItemDataID1 > 0) { SetRewardItem(itemInfo.ItemDataID1, RewardAwardItem.ItemType.ITEM_ITEM, itemInfo.ItemCount1, ref itemIndex); itemIndex++; } if (itemIndex < 4) { if (itemInfo.ItemDataID2 > 0) { SetRewardItem(itemInfo.ItemDataID2, RewardAwardItem.ItemType.ITEM_ITEM, itemInfo.ItemCount2, ref itemIndex); itemIndex++; } } if (itemIndex < 4) { if (itemInfo.ItemDataID3 > 0) { SetRewardItem(itemInfo.ItemDataID3, RewardAwardItem.ItemType.ITEM_ITEM, itemInfo.ItemCount3, ref itemIndex); itemIndex++; } } if (itemIndex < 4) { if (itemInfo.ItemDataID4 > 0) { SetRewardItem(itemInfo.ItemDataID4, RewardAwardItem.ItemType.ITEM_ITEM, itemInfo.ItemCount4, ref itemIndex); itemIndex++; } } int count = m_RewardItem.Length; for (int i = 0; i < count; ++i) { if (m_RewardItem[i] != null) { if (i < itemIndex) { m_RewardItem[i].gameObject.SetActive(true); } else { m_RewardItem[i].gameObject.SetActive(false); } } } int signedCount = GameManager.gameManager.PlayerDataPool.AlreadySingedCount; if (signedCount >= awardIndex * 5) { if (itemInfo.ItemStatus == 1) { m_btn.SetActive(false); m_bClose.SetActive(false); m_ConditionStr = StrDictionary.GetClientDictionaryString("#{11288}"); m_lblCondition.text = m_ConditionStr; m_lblCondition.enabled = true; } else { m_btn.SetActive(true); m_bClose.SetActive(false); m_lblCondition.enabled = false; } } else { m_btn.SetActive(false); m_bClose.SetActive(true); int leftDays = awardIndex * 5 - signedCount; m_lblCondition.text = StrDictionary.GetClientDictionaryString("#{11424}", leftDays); m_lblCondition.enabled = true; } m_lbltitle.text = StrDictionary.GetClientDictionaryString("#{4641}", signedCount); m_MRBtn = MRBtn; rewardGrid.repositionNow = true; gameObject.SetActive(true); }