Пример #1
0
    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);
         * }*/
    }
Пример #2
0
    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;
        }
        }
    }
Пример #3
0
    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);
        }
    }
Пример #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)
    {
        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);
    }