// 收到回复消息后 public void TryMoveToNextDay(int destIndex) { // if(destIndex > GameManager.gameManager.PlayerDataPool.NowDayIndex) // { // return; // } // 签到完之后如果后面有可以补的,光标后移,并且,上一个奖励播放已领取动画 if (destIndex < 1 || destIndex > m_AwardItem.Count) { return; } // 下一个改为选中状态 // 如果下一个可领或者可以补签,就让其变为选中状态 if (DataSignInInfoList.ContainsKey(destIndex)) { DaySignInItem Signitem; DataSignInInfoList.TryGetValue(destIndex, out Signitem); //if(Signitem.ItemStatus == (int)DaySignInStates.NOTSIGNEN || Signitem.ItemStatus == (int)DaySignInStates.VIPSIGNEDHALF) { m_AwardItem [destIndex - 1].SetChooseState(true); currentSelectedItem = Signitem; m_currentSelectedIndex = destIndex; GameManager.gameManager.PlayerDataPool.CurSelectedDayIndex = m_currentSelectedIndex; DealWithButtonStates(); } } }
public uint Execute(PacketDistributed ipacket) { GC_RET_SIGNININFO packet = (GC_RET_SIGNININFO )ipacket; if (null == packet) { return((uint)PACKET_EXE.PACKET_EXE_ERROR); } //enter your logic GameManager.gameManager.PlayerDataPool.NowDayIndex = packet.CurNaturalIndex; GameManager.gameManager.PlayerDataPool.DefaultFirstSignIndex = packet.FirstCanSignIndex; GameManager.gameManager.PlayerDataPool.CurSelectedDayIndex = packet.FirstCanSignIndex; GameManager.gameManager.PlayerDataPool.CurMounthId = packet.CurMounthIndex; if (packet.GetIndex(0) == 1) // 第一个说明重新发送,清理缓存 { GameManager.gameManager.PlayerDataPool.ClearSignInItemListInCache(); } for (int i = 0; i < packet.indexCount; i++) { DaySignInItem Item = new DaySignInItem(); Item.ItemIndex = packet.GetIndex(i); Item.ItemStatus = packet.GetStatus(i); Item.vipLimit = packet.GetRequiredVip(i); Item.Exp = packet.GetExp(i); Item.Money = packet.GetMoney(i); Item.BindYuanbao = packet.GetBindYuanbao(i); Item.Item1DataID = packet.GetItem1DataID(i); Item.Item1Count = packet.GetItem1Count(i); Item.Item2DataID = packet.GetItem2DataID(i); Item.Item2count = packet.GetItem2count(i); Item.SupplyCost = packet.GetSupplySignCost(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); }
public void ChangeChooseItem(int index) { if (isNowWaitingforRewardResult) { return; } if (index < 1) { return; } if (index > GameManager.gameManager.PlayerDataPool.DaySignInfo.m_DaySignInfoList.Count) { return; } //TryMoveToNextDay (index); if (DataSignInInfoList.ContainsKey(index)) { DaySignInItem Signitem; DataSignInInfoList.TryGetValue(index, out Signitem); //if(Signitem.ItemStatus == (int)DaySignInStates.VIPSIGNEDHALF || GameManager.gameManager.PlayerDataPool.DefaultFirstSignIndex == Signitem.ItemIndex) { if (m_currentSelectedIndex >= 1) { m_AwardItem [m_currentSelectedIndex - 1].SetChooseState(false); } m_AwardItem [index - 1].SetChooseState(true); currentSelectedItem = Signitem; m_currentSelectedIndex = index; GameManager.gameManager.PlayerDataPool.CurSelectedDayIndex = m_currentSelectedIndex; DealWithButtonStates(); OnClickGetReWard(); } //else //{ // 是否要弹出不能选择的提示 //} } }
public void InitAllItems() { m_AwardItem.Clear(); int begin = m_grid.transform.childCount; int end = GameManager.gameManager.PlayerDataPool.DaySignInfo.m_DaySignInfoList.Count; if (ItemObj != null && m_grid != null) { for (int m = begin; m < end; ++m) { GameObject go = GameObject.Instantiate(ItemObj) as GameObject; if (go != null) { go.transform.parent = m_grid.transform; go.transform.localScale = Vector3.one; } } m_grid.repositionNow = true; } for (int i = 0; i < m_grid.transform.childCount; i++) { Transform t = m_grid.transform.GetChild(i); if (t != null) { if (t.GetComponent <RewardAwardItem>() != null) { m_AwardItem.Add(t.GetComponent <RewardAwardItem>()); t.name = i.ToString(); t.gameObject.SetActive(false); } } } PlayerData.DaySignInInfoData DataSignInInfo = GameManager.gameManager.PlayerDataPool.DaySignInfo; DataSignInInfoList = DataSignInInfo.m_DaySignInfoList; NAlreadySignedCount = DataSignInInfo.m_nAlreadSignedCount; //UpdateMonthSlider(); // int curDay = DataSignInInfo.m_nowDayIndex; if (DataSignInInfoList.Count == 0) { return; } //ButtonRewardTipsDetail.text = StrDictionary.GetClientDictionaryString ("#{4639}"); CurMounthIndex.text = StrDictionary.GetClientDictionaryString("#{4640}", GameManager.gameManager.PlayerDataPool.CurMounthId); // int totalCounts = GameManager.gameManager.PlayerDataPool.GetTotalSignedCountThisMounth (); //AllSignedCountsMounth.text = StrDictionary.GetClientDictionaryString("#{4641}",totalCounts,GameManager.gameManager.PlayerDataPool.NowDayIndex); // int itemsCount = DataSignInInfoList.Count; DaySignInItem item; int count = 0; foreach (var itemPair in DataSignInInfoList) { if (count >= m_AwardItem.Count) { continue; } item = itemPair.Value; m_AwardItem[count].CleanUp(); if (item.Exp > 0) { m_AwardItem[count].AddItem(RewardAwardItem.ItemType.ITEM_EXP, -1, item.Exp, item.ItemIndex, item.ItemStatus, item.vipLimit, this, false); } if (item.Money > 0) { m_AwardItem[count].AddItem(RewardAwardItem.ItemType.ITEM_MONEY, -1, item.Money, item.ItemIndex, item.ItemStatus, item.vipLimit, this, false); } if (item.BindYuanbao > 0) { m_AwardItem[count].AddItem(RewardAwardItem.ItemType.ITEM_YUANBAO, -1, item.BindYuanbao, item.ItemIndex, item.ItemStatus, item.vipLimit, this, false); } // 物品 int nItem1DataID = item.Item1DataID; int nItem1Count = item.Item1Count; if (nItem1DataID >= 0 && nItem1Count > 0) { m_AwardItem[count].AddItem(RewardAwardItem.ItemType.ITEM_ITEM, nItem1DataID, nItem1Count, item.ItemIndex, item.ItemStatus, item.vipLimit, this, false); } int nItem2DataID = item.Item2DataID; int nItem2Count = item.Item2count; if (nItem2DataID >= 0 && nItem2Count > 0) { m_AwardItem[count].AddItem(RewardAwardItem.ItemType.ITEM_ITEM, nItem2DataID, nItem2Count, item.ItemIndex, item.ItemStatus, item.vipLimit, this, false); } m_AwardItem[count].gameObject.SetActive(true); count++; } // 默认显示服务器给定的可领元素 m_currentSelectedIndex = GameManager.gameManager.PlayerDataPool.CurSelectedDayIndex; if (m_currentSelectedIndex >= 1 && m_currentSelectedIndex <= m_AwardItem.Count) { m_AwardItem [m_currentSelectedIndex - 1].SetChooseState(true); DaySignInItem Signitem; DataSignInInfoList.TryGetValue(m_currentSelectedIndex, out Signitem); currentSelectedItem = Signitem; } int nowdayindex = GameManager.gameManager.PlayerDataPool.NowDayIndex; if (nowdayindex >= 1 && nowdayindex <= m_AwardItem.Count && DataSignInInfoList.ContainsKey(nowdayindex) && DataSignInInfoList[nowdayindex].ItemStatus == (int)DaySignInStates.NOTSIGNEN) { m_AwardItem[GameManager.gameManager.PlayerDataPool.NowDayIndex - 1].PlayEffect(); } DealWithButtonStates(); InitBox(); //setMonthBelle (); }
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); }