Example #1
0
    public void DeleteTask(uint taskid)
    {
        if (receiveReward != null)
        {
            if (receiveReward.ntaskid == taskid)
            {
                receiveReward = null;
                RefreshUI();
                return;
            }
        }

        for (int i = 0; i < ReleaseRewardList.Count; ++i)
        {
            if (ReleaseRewardList[i].ntaskid == taskid)
            {
                ReleaseRewardList.RemoveAt(i);
                break;
            }
        }
        RefreshUI();
    }
Example #2
0
    /// <summary>
    /// 服务器下发数据初始化
    /// </summary>
    /// <param name="data"></param>
    /// <param name="acceptTaskRemain"></param>
    /// <param name="publicTaskRemain"></param>
    public void InitTask(List <GameCmd.TokenTaskInfo> data, uint acceptTaskRemain, uint publicTaskRemain)
    {
        RewardAcceptTimes  = acceptTaskRemain;//这里应当是已经接受的次数 下面也是
        RewardReleaseTimes = publicTaskRemain;
        ReleaseRewardList.Clear();
        receiveReward = null;
        RewardMisssionInfo missioninfo = null;

        for (int i = 0; i < data.Count; ++i)
        {
            missioninfo = new RewardMisssionInfo();
            //接受任务
            if (data[i].state > (int)GameCmd.TokenTaskState.TOKEN_STATE_FINISH)
            {
                table.AcceptTokenDataBase acceptData = GameTableManager.Instance.GetTableItem <table.AcceptTokenDataBase>(data[i].tokentaskid);
                if (acceptData != null)
                {
                    missioninfo.id      = acceptData.id;
                    missioninfo.strIcon = acceptData.icon;
                    missioninfo.strName = acceptData.title;
                    missioninfo.nType   = 2;
                    missioninfo.ntaskid = acceptData.taskid;
                    table.QuestDataBase quest = GameTableManager.Instance.GetTableItem <table.QuestDataBase>(acceptData.taskid);
                    if (quest != null)
                    {
                        missioninfo.nExp = quest.dwRewardExp;
                        long lpasstime = DateTimeHelper.Instance.Now - data[i].time;
                        missioninfo.nleftTime = quest.dwLimitTime * 60 * 60 - lpasstime;
                    }
                    missioninfo.nstate = (int)data[i].state;

                    QuestTraceInfo squest = QuestTranceManager.Instance.GetQuestTraceInfo(missioninfo.ntaskid);
                    if (squest != null)
                    {
                        missioninfo.nstate = squest.operate == squest.state ? (int)GameCmd.TokenTaskState.TOKEN_STATE_FINISH : (int)GameCmd.TokenTaskState.TOKEN_STATE_ACCEPT;
                    }
                    receiveReward = missioninfo;
                }
                continue;
            }

            table.PublicTokenDataBase reward = GameTableManager.Instance.GetTableItem <table.PublicTokenDataBase>(data[i].tokentaskid);
            if (reward != null)
            {
                missioninfo.id      = reward.id;
                missioninfo.strIcon = reward.smallicon;
                missioninfo.strName = reward.title;
                missioninfo.nType   = 1;
                missioninfo.ntaskid = reward.taskid;
                Engine.Utility.Log.LogGroup("ZCX", "id :" + data[i].tokentaskid);
                table.QuestDataBase quest = GameTableManager.Instance.GetTableItem <table.QuestDataBase>(reward.taskid);
                if (quest != null)
                {
                    missioninfo.nExp = quest.dwRewardExp;
                    long lpasstime = DateTimeHelper.Instance.Now - data[i].time;
                    missioninfo.nleftTime = quest.dwLimitTime * 60 * 60 - lpasstime;
                }
                missioninfo.nstate = (int)data[i].state;
                ReleaseRewardList.Add(missioninfo);
            }
        }
        if (DataManager.Manager <UIPanelManager>().IsShowPanel(PanelID.RewardPanel))
        {
            DataManager.Manager <UIPanelManager>().SendMsg(PanelID.RewardPanel, UIMsgID.eRewardTaskListRefresh, null);
        }
        else
        {
            for (int i = 0; i < ReleaseRewardList.Count; i++)
            {
                if (ReleaseRewardList[i].nstate == (int)GameCmd.TokenTaskState.TOKEN_STATE_FINISH && true == DataManager.Manager <TaskDataManager>().FirstLoginSuccess)
                {
                    DataManager.Manager <FunctionPushManager>().AddSysMsg(new PushMsg()
                    {
                        msgType  = PushMsg.MsgType.TokenTaskReward,
                        senderId = Client.ClientGlobal.Instance().MainPlayer.GetID(), //m_leaderId,
                        //senderId = cmd.dwAnswerUserID,
                        //name = cmd.byTeamName,
                        //sendName = cmd.byAnswerName,
                        sendTime = UnityEngine.Time.realtimeSinceStartup,
                        cd       = 100000,
                    });
                }
            }
        }

        if (DataManager.Manager <UIPanelManager>().IsShowPanel(PanelID.RewardMissionPanel))
        {
            DataManager.Manager <UIPanelManager>().SendMsg(PanelID.RewardMissionPanel, UIMsgID.eRewardTaskListRefresh, null);
        }

        //悬赏任务更新当前显示环数
        UpdateQuestTraceItemInfoByType(GameCmd.TaskType.TaskType_Token);
    }