Exemplo n.º 1
0
    private void SetRewardState(int index, AcitivityRewardState tagData)
    {
        if (GameManager.gameManager.PlayerDataPool.OnActivityRewardTable.ContainsKey(index))
        {
            ActivityRewardData rewardData = GameManager.gameManager.PlayerDataPool.OnActivityRewardTable[index];
            rewardData.State = AcitivityRewardState.RECEIVE;
            GameManager.gameManager.PlayerDataPool.OnActivityRewardTable[index] = rewardData;
        }

        if (m_ItemList.ContainsKey(index))
        {
            if (m_ItemList[index])
            {
                //对应的显示物品详细信息
                SpringRewardItem rewardItem = m_ItemList[index].GetComponent <SpringRewardItem>();
                if (rewardItem != null)
                {
                    rewardItem.SetShowState(tagData);

                    if (tagData == AcitivityRewardState.RECEIVE)
                    {
                        rewardItem.IsChoose = true;
                    }
                    else
                    {
                        rewardItem.IsChoose = false;
                    }
                }
            }
        }
    }
Exemplo n.º 2
0
    /// <summary>
    /// 发送元宝领取
    /// </summary>
    public void SendRewardClick()
    {
        int curIndex = GameManager.gameManager.PlayerDataPool.m_ActivityRewardIndex;

        if (!GameManager.gameManager.PlayerDataPool.OnActivityRewardTable.ContainsKey(curIndex))
        {
            return;
        }
        ActivityRewardData rewardData = GameManager.gameManager.PlayerDataPool.OnActivityRewardTable[curIndex];

        // 弹出提示元宝足或不足
        int nYuanBaoCount = GameManager.gameManager.PlayerDataPool.Money.GetMoney_YuanBao() + GameManager.gameManager.PlayerDataPool.Money.GetMoney_YuanBaoBind();

        if (nYuanBaoCount < rewardData.BindYuanbao)
        {
            // 钱不够,弹,充值
            MessageBoxLogic.OpenOKCancelBox(StrDictionary.GetClientDictionaryString("#{1848}"), "", DoPay, null);
        }
        else
        {
            //发送消息给服务器要求不领
            CG_RECEIVE_ACTIVITYREWARD msg = (CG_RECEIVE_ACTIVITYREWARD)PacketDistributed.CreatePacket(MessageID.PACKET_CG_RECEIVE_ACTIVITYREWARD);
            msg.SetRewardIndex(rewardData.Index);
            msg.SetIsreplacement(1);
            msg.SendPacket();
        }
    }
Exemplo n.º 3
0
    /// <summary>
    /// 请求获取物品
    /// </summary>
    public void OnReceiveClick()
    {
        if (GameManager.gameManager.PlayerDataPool.m_ActivityRewardIndex <= 0)
        {
            //
            GUIData.AddNotifyData("#{5137}");
            return;
        }

        int curIndex = GameManager.gameManager.PlayerDataPool.m_ActivityRewardIndex;

        if (!GameManager.gameManager.PlayerDataPool.OnActivityRewardTable.ContainsKey(curIndex))
        {
            return;
        }
        ActivityRewardData rewardData = GameManager.gameManager.PlayerDataPool.OnActivityRewardTable[curIndex];

        //获取当前物品状态
        if (rewardData.State == AcitivityRewardState.EXPIRED) //已过期状态
        {
            string fortip = StrDictionary.GetClientDictionaryString("#{4703}", rewardData.BindYuanbao);
            MessageBoxLogic.OpenOKCancelBox(fortip, "", SendRewardClick, null);
        }
        else if (rewardData.State == AcitivityRewardState.RECEIVE)
        {
            CG_RECEIVE_ACTIVITYREWARD msg = (CG_RECEIVE_ACTIVITYREWARD)PacketDistributed.CreatePacket(MessageID.PACKET_CG_RECEIVE_ACTIVITYREWARD);
            msg.SetRewardIndex(curIndex);
            msg.SetIsreplacement(0);
            msg.SendPacket();
        }
    }
Exemplo n.º 4
0
        public uint Execute(PacketDistributed ipacket)
        {
            GC_SYNC_ACTIVITYREWARDTABLE packet = (GC_SYNC_ACTIVITYREWARDTABLE )ipacket;

            if (null == packet)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }

            for (int i = 0; i < packet.indexCount; i++)
            {
                ActivityRewardData DataLine = new ActivityRewardData();
                DataLine.Index       = packet.GetIndex(i);
                DataLine.Exp         = packet.GetExp(i);
                DataLine.Money       = packet.GetMoney(i);
                DataLine.BindYuanbao = packet.GetBindyuanbao(i);
                DataLine.Item1DataID = packet.GetItem1dataid(i);
                DataLine.Item1Count  = packet.GetItem1count(i);
                DataLine.Item2DataID = packet.GetItem2dataid(i);
                DataLine.Item2count  = packet.GetItem2count(i);
//     DataLine.State = (AcitivityRewardState)packet.GetState(i);

                GameManager.gameManager.PlayerDataPool.AddActivityRewardTable(DataLine);
            }


            //enter your logic
            return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
        }
Exemplo n.º 5
0
    public void SetRewardInfo(ActivityRewardData rewardData)
    {
        m_RewardData = rewardData;

        if (m_RewardData.Item1DataID > 0)
        {
            Tab_CommonItem curItem = TableManager.GetCommonItemByID(m_RewardData.Item1DataID, 0);
            if (null != curItem)
            {
                m_ItemIcon.spriteName = curItem.Icon;
            }

            m_NumLabel.text = m_RewardData.Item1Count + "";
        }
        else
        {
            if (m_RewardData.Money > 0)
            {
                m_ItemIcon.spriteName = "jinbi";
                m_NumLabel.text       = m_RewardData.Money + "";
            }
        }

        DateTime curDateTime = CurDateTime; //curDateTime.Month + "月" + curDateTime.Day + "日"

        //StrDictionary.GetClientDictionaryString("#{5094}", rewardData.Number.ToString());
        m_TimeLabel.text = StrDictionary.GetClientDictionaryString("#{5208}", curDateTime.Month, curDateTime.Day);

        m_RewardItem = m_RewardData.Item1DataID;

        SetShowState(m_RewardData.State);
        IsChoose = false;
    }
Exemplo n.º 6
0
    /// <summary>
    /// 请求获取奖励物品返回值
    /// </summary>
    /// <param name="index"></param>
    /// <param name="resultTag"></param>
    public void OnReceiveResult(int index, int resultTag)
    {
        if (resultTag == 1)
        {
            //同时修改客户端本地数据
            GameManager.gameManager.PlayerDataPool.ActivityRewardJoinNum++;
            SetShowBar();      //修改参与进度

            SetJoinNumState(); //参加次数状态显示

            if (GameManager.gameManager.PlayerDataPool.OnActivityRewardTable.ContainsKey(index))
            {
                ActivityRewardData rewardData = GameManager.gameManager.PlayerDataPool.OnActivityRewardTable[index];
                rewardData.State = AcitivityRewardState.NORECEIVE;
                GameManager.gameManager.PlayerDataPool.OnActivityRewardTable[index] = rewardData;
            }

            //将状态设置成 已领取状态
            if (m_ItemList != null && m_ItemList.ContainsKey(index))
            {
                GameObject curObject = m_ItemList[index];
                if (curObject == null)
                {
                    return;
                }

                SpringRewardItem rewardItem = curObject.GetComponent <SpringRewardItem>();
                if (rewardItem != null)
                {
                    rewardItem.m_RewardData.State = AcitivityRewardState.NORECEIVE;
                    rewardItem.SetShowState(rewardItem.m_RewardData.State);
                    rewardItem.IsChoose = false;
                }
            }

            GameManager.gameManager.PlayerDataPool.m_ActivityRewardIndex = -1;
            if (CurrentReceiveIndex == index)
            {
                CurrentReceiveIndex = -1;
                GameManager.gameManager.PlayerDataPool.m_IsActivityReward = false;

                if (FestivalController.Instance() != null)
                {
                    FestivalController.Instance().UpdateBaiNianTip();
                }
            }
        }
    }
Exemplo n.º 7
0
    /// <summary>
    /// 显示物品信息
    /// </summary>
    /// <param name="reward"></param>
    /// <param name="posX"></param>
    /// <param name="posY"></param>
    private void ShowActivityReward(ActivityRewardData reward, int posX, int posY)
    {
        if (m_ItemList.ContainsKey(reward.Index))
        {
            return;
        }

        //设置位置
        GameObject curItem = Utils.BindObjToParent(ActivityRewardItem, ShowListGrid);

        if (curItem == null)
        {
            return;
        }

        curItem.name = "Item" + reward.Index;
        curItem.transform.localPosition = new Vector3(posX, posY, 0);

        m_ItemList.Add(reward.Index, curItem);

        //对应的显示物品详细信息
        SpringRewardItem rewardItem = curItem.GetComponent <SpringRewardItem>();

        if (rewardItem != null)
        {
            rewardItem.SetRewardInfo(reward);

            //根据当时时间 进行对不,看有选中状态的物品没
            DateTime rewarDateTime = rewardItem.CurDateTime;
            TimeSpan timeSpan      = CurrentDateTime.Subtract(rewardItem.CurDateTime);
            if (timeSpan.Days == 0)
            {
                if (CurrentDateTime.ToString("yyyy-MM-dd") == rewarDateTime.ToString("yyyy-MM-dd") &&
                    reward.State == AcitivityRewardState.RECEIVE)
                {
                    rewardItem.IsChoose = true;
                    CurrentReceiveIndex = reward.Index;
                    GameManager.gameManager.PlayerDataPool.m_ActivityRewardIndex = reward.Index;
                    GameManager.gameManager.PlayerDataPool.m_IsActivityReward    = true;

                    if (FestivalController.Instance() != null)
                    {
                        FestivalController.Instance().UpdateBaiNianTip();
                    }
                }
            }
        }
    }