示例#1
0
    // 收到回复消息后
    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();
            }
        }
    }
示例#2
0
        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);
        }
示例#3
0
    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
            //{
            // 是否要弹出不能选择的提示
            //}
        }
    }
示例#4
0
    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);
    }