private void UpdateTaskItemInfos() { DailyTaskManager.Instance.GetTaskLogList().ApplyAllItem(p => { if (!m_taskItemDict.Any(item => item.Key == p.LogUpdate.nTaskID)) { var config = DailyTaskConfig._dataTable.SingleOrDefault(data => data._taskID == p.LogUpdate.nTaskID); if (config == null) { TraceUtil.Log(SystemModel.Common, TraceLevel.Error, "[this DailyTaskConfig is null]"); return; } GameObject taskItem = (GameObject)Instantiate(DailyTaskItemPrefab); taskItem.transform.parent = Grid.transform; taskItem.transform.localPosition = Vector3.zero; taskItem.transform.localScale = Vector3.one; DailyTaskItem itemBehaviour = taskItem.GetComponent <DailyTaskItem>(); itemBehaviour.Init(config, p.LogUpdate, p.LogContext); m_taskItemDict.Add(p.LogUpdate.nTaskID, itemBehaviour); } else { m_taskItemDict[p.LogUpdate.nTaskID].UpdateView(p.LogUpdate, p.LogContext); } }); DraggablePanel.ResetPosition(); Grid.Reposition(); //更新任务数量 var completeList = m_taskItemDict.Values.Where(p => p.Status == 2).ToArray(); Label_Title_TaskNum.text = completeList.Length.ToString() + "/" + m_taskItemDict.Count.ToString(); }
private DailyTaskItem CreateItem(DailyTask data, DailyTaskType type) { DailyTaskItem dailyTaskItem = this.mItems.Find((DailyTaskItem e) => e.get_gameObject().get_name() == "Unused"); if (dailyTaskItem == null) { GameObject instantiate2Prefab = ResourceManager.GetInstantiate2Prefab("DailyTaskItem"); UGUITools.SetParent(this.mItemList.get_gameObject(), instantiate2Prefab, false); dailyTaskItem = instantiate2Prefab.GetComponent <DailyTaskItem>(); this.mItems.Add(dailyTaskItem); } dailyTaskItem.get_gameObject().SetActive(true); dailyTaskItem.get_gameObject().set_name(data.taskId.ToString()); dailyTaskItem.SetData(data, type, this.mTogGold.get_isOn(), new Action <DailyTaskItem>(this.OnClickButton)); return(dailyTaskItem); }
private void OnClickButton(DailyTaskItem item) { if (item.Type == DailyTaskType.DAILY) { if (item.CanShowBuy) { switch (item.DailyData.system) { case 3: DefendFightManager.Instance.OnBuyDefendTimes(SpecialFightMode.Protect); goto IL_E4; case 4: DefendFightManager.Instance.OnBuyDefendTimes(SpecialFightMode.Save); goto IL_E4; case 5: DefendFightManager.Instance.OnBuyDefendTimes(SpecialFightMode.Hold); goto IL_E4; case 9: SpecialFightManager.Instance.OnBuyExperienceTimes(); goto IL_E4; case 12: MemCollabManager.Instance.BuyExtentTimes(); goto IL_E4; } LinkNavigationManager.SystemLink(item.DailyData.sysId, true, null); IL_E4 :; } else if (item.DailyData.id == 12040) { if (MainTaskManager.Instance.GuildTaskId > 0) { this.ExecuteGuildTask(); } else if (SystemOpenManager.IsSystemClickOpen(45, 0, true)) { if (GuildManager.Instance.MyGuildnfo == null) { return; } if (GuildManager.Instance.GuildTaskTotalTimes <= GuildManager.Instance.MyGuildnfo.taskedCount) { UIManagerControl.Instance.ShowToastText(GuildManager.Instance.GetTipContentByKey("BuildWord")); return; } GuildManager.Instance.SendGuildBuildReq(GuildBuildType.GBT.GUILD_TASK); } } else { LinkNavigationManager.SystemLink(item.DailyData.sysId, true, null); } } else if (item.Type == DailyTaskType.FIND) { if (item.Task.canFindTimes > 0) { FindTaskUI uibase = UIManagerControl.Instance.OpenUI("FindTaskUI", UINodesManager.MiddleUIRoot, false, UIType.NonPush) as FindTaskUI; uibase.OnOpen("找回任务", (float)item.Task.canFindTimes, (float)((!this.mTogGold.get_isOn()) ? item.DiamondPrice : item.GoldPrice), item.TaskName, this.mTogGold.get_isOn(), delegate(float value) { uibase.SetDetailFindTask(); }, delegate(int value) { this.mLastFindItem = item; this.mLastFindTimes = value; DailyTaskManager.Instance.SendDailyTaskPrizeReq(item.Task.taskId, (!this.mTogGold.get_isOn()) ? 1 : 2, value); }); } } else if (item.Type == DailyTaskType.LIMIT) { switch (item.CurrentLimit) { case 10001: InstanceManagerUI.OpenGangFightUI(); break; case 10002: MultiPlayerManager.Instance.OpenMultiPlayerUI(10002, "多人活动"); break; case 10003: LinkNavigationManager.OpenMushroomHitUI(); break; case 10006: LinkNavigationManager.OpenMultiPVPUI(); break; } if (item.DailyData.id == 12030) { if (!GuildManager.Instance.IsJoinInGuild()) { UIManagerControl.Instance.ShowToastText(GameDataUtils.GetChineseContent(34157, false)); return; } if (!GuildManager.Instance.IsGuildFieldOpen) { UIManagerControl.Instance.ShowToastText(GameDataUtils.GetChineseContent(513118, false)); return; } if (!SystemOpenManager.IsSystemClickOpen(45, 0, true)) { return; } UIManagerControl.Instance.OpenUI("GuildUI", null, false, UIType.FullScreen); UIManagerControl.Instance.OpenUI("GuildActivityCenterUI", UINodesManager.MiddleUIRoot, false, UIType.NonPush); } else if (item.DailyData.id == 12050) { if (!GuildManager.Instance.IsJoinInGuild()) { UIManagerControl.Instance.ShowToastText(GameDataUtils.GetChineseContent(34157, false)); return; } if (!item.GuildWarOpen) { UIManagerControl.Instance.ShowToastText(GameDataUtils.GetChineseContent(513118, false)); return; } if (!SystemOpenManager.IsSystemClickOpen(45, 0, true)) { return; } UIManagerControl.Instance.OpenUI("GuildUI", null, false, UIType.FullScreen); UIManagerControl.Instance.OpenUI("GuildWarVSInfoUI", UINodesManager.NormalUIRoot, false, UIType.NonPush); } } }