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);
         //}
     }
 }
Beispiel #3
0
    /// <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);
    }
Beispiel #4
0
    //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);
    }