示例#1
0
    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();
    }
示例#2
0
    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);
    }
示例#3
0
    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);
            }
        }
    }