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(); }
/// <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); }