Esempio n. 1
0
    //这样写有点扯 该写个类的
    public override void Info(object obj)
    {
        //关闭按钮
        if (int.Parse(((string[])obj)[0]) == -1)
        {
            contont.text = "路过而已";
            btn.onClick  = OnClose;
            taskstate.gameObject.SetActive(false);
        }
        else
        {
            switch (int.Parse(((string[])obj)[2]))
            {
            case 0:
                taskstate.spriteName = "kelignqu";
                break;

            case 1:
                taskstate.spriteName = "kelignqu";
                break;

            case 2:
                taskstate.spriteName = "kelignqu";
                break;

            case 3:
                taskstate.spriteName = "kewanchneg";
                break;

            case 4:
                taskstate.spriteName = "kewanchneg";
                break;

            case 5:
                taskstate.spriteName = "";
                break;

            default:
                break;
            }
            btn.onClick  = BtnOnClick;
            currentindex = int.Parse(((string[])obj)[0]);

            //主线
            if (int.Parse(((string[])obj)[3]) == 1)
            {
                contont.text = "[主]" + ((string[])obj)[1];
            }
            else
            {
                contont.text = "[支]" + ((string[])obj)[1];
            }
            taskstate.MakePixelPerfect();
        }
    }
Esempio n. 2
0
    private void ShowTaskInfo()
    {
        if (clickTaskItem.tasknode.Type == 0)
        {
            taskstatespr.spriteName = "zhu";
        }
        else
        {
            taskstatespr.spriteName = "zhi";
        }
        taskstatespr.MakePixelPerfect();
        tasknamelab.text    = clickTaskItem.tasknode.Taskname;
        taskcontontlab.text = clickTaskItem.tasknode.Taskinfo;
        tasktargetlab1.text = clickTaskItem.tasknode.Require.Replace("c1", GameLibrary.C1).Replace("c2", GameLibrary.C2).Replace("c3", GameLibrary.C3).Replace("c4", GameLibrary.C4).Replace("c5", GameLibrary.C5).Replace("c6", GameLibrary.C6).Replace("%d", TaskManager.Single().caijiCount.ToString());
        if (clickTaskItem.tasknode.Requiretype == 3)//采集数量显示
        {
            long collectID1 = 0;
            long collectID2 = 0;
            if (TaskManager.Single().TaskToCaijiDic.ContainsKey(clickTaskItem.missionid))
            {
                collectID1 = TaskManager.Single().TaskToCaijiDic[clickTaskItem.missionid].opt4;
                collectID2 = TaskManager.Single().TaskToCaijiDic[clickTaskItem.missionid].opt6;
                //if (TaskManager.Single().TaskItemCountsDic.ContainsKey(collectID))
                //{
                //    if (TaskManager.Single().TaskItemCountsDic[collectID] < TaskManager.Single().TaskToCaijiDic[_taskItem.missionid].opt5)
                //    {
                //        caijiCount = TaskManager.Single().TaskItemCountsDic[collectID];
                //    }
                //    else
                //    {
                //        caijiCount = (int)TaskManager.Single().TaskToCaijiDic[_taskItem.missionid].opt5;
                //    }
                //}
                //else
                //{
                //    caijiCount = 0;
                //}
            }
            else//后端给我的信息是在 接收任务之后。这就导致未接的时候找不到ID,没法替换追踪显示中的数量。这时候我自己去读表
            {
                if (clickTaskItem.tasknode.Opt5.Length > 0)
                {
                    long trackingIndex = clickTaskItem.tasknode.Opt5[0];
                    if (FSDataNodeTable <CollectNode> .GetSingleton().DataNodeList.ContainsKey(trackingIndex))
                    {
                        collectID1 = FSDataNodeTable <CollectNode> .GetSingleton().DataNodeList[trackingIndex].collectid[0, 0];
                    }
                }
                if (clickTaskItem.tasknode.Opt5.Length > 1)
                {
                    long trackingIndex = clickTaskItem.tasknode.Opt5[1];
                    if (FSDataNodeTable <CollectNode> .GetSingleton().DataNodeList.ContainsKey(trackingIndex))
                    {
                        collectID2 = FSDataNodeTable <CollectNode> .GetSingleton().DataNodeList[trackingIndex].collectid[0, 0];
                    }
                }
            }
            tasktargetlab1.text = clickTaskItem.tasknode.Require.Replace("c1", GameLibrary.C1)
                                  .Replace("c2", GameLibrary.C2)
                                  .Replace("c3", GameLibrary.C3)
                                  .Replace("c4", GameLibrary.C4)
                                  .Replace("c5", GameLibrary.C5)
                                  .Replace("c6", GameLibrary.C6)
                                  .Replace("%d" + collectID1, GetTaskGoodsCount(clickTaskItem.tasknode.Requiretype, collectID1, clickTaskItem).ToString())
                                  .Replace("%d" + collectID2, GetTaskGoodsCount(clickTaskItem.tasknode.Requiretype, collectID2, clickTaskItem).ToString());
        }
        else if (clickTaskItem.tasknode.Requiretype == 6)//杀怪数量显示
        {
            long monsterId1 = 0;
            long monsterId2 = 0;
            if (TaskManager.Single().TaskToSkillMonsterDic.ContainsKey(clickTaskItem.missionid))
            {
                //暂时杀怪是两种 最多三种
                monsterId1 = TaskManager.Single().TaskToSkillMonsterDic[clickTaskItem.missionid].opt4;
                monsterId2 = TaskManager.Single().TaskToSkillMonsterDic[clickTaskItem.missionid].opt6;
                //if (TaskManager.Single().TaskSkillMonsterCountsDic.ContainsKey(monsterId1))
                //{
                //    if (TaskManager.Single().TaskSkillMonsterCountsDic[monsterId1] < TaskManager.Single().TaskToSkillMonsterDic[_taskItem.missionid].opt5)
                //    {
                //        monster1Count = TaskManager.Single().TaskSkillMonsterCountsDic[monsterId1];
                //    }
                //    else
                //    {
                //        monster1Count = (int)TaskManager.Single().TaskToSkillMonsterDic[_taskItem.missionid].opt5;
                //    }
                //}
                //if (TaskManager.Single().TaskSkillMonsterCountsDic.ContainsKey(monsterId2))
                //{
                //    if (TaskManager.Single().TaskSkillMonsterCountsDic[monsterId2] < TaskManager.Single().TaskToSkillMonsterDic[_taskItem.missionid].opt7)
                //    {
                //        monster2Count = TaskManager.Single().TaskSkillMonsterCountsDic[monsterId2];
                //    }
                //    else
                //    {
                //        monster2Count = (int)TaskManager.Single().TaskToSkillMonsterDic[_taskItem.missionid].opt7;
                //    }
                //}
            }
            else
            {
                Dictionary <long, int> idAndcountDic = clickTaskItem.tasknode.IdAndcountDic;
                List <long>            idArr         = new List <long>();
                foreach (long id in idAndcountDic.Keys)
                {
                    idArr.Add(id);
                }
                if (idArr.Count >= 2)
                {
                    monsterId1 = idArr[0];
                    monsterId2 = idArr[1];
                }
                else if (idArr.Count == 1)
                {
                    monsterId1 = idArr[0];
                }
            }
            tasktargetlab1.text = clickTaskItem.tasknode.Require.Replace("c1", GameLibrary.C1)
                                  .Replace("c2", GameLibrary.C2)
                                  .Replace("c3", GameLibrary.C3)
                                  .Replace("c4", GameLibrary.C4)
                                  .Replace("c5", GameLibrary.C5)
                                  .Replace("c6", GameLibrary.C6)
                                  .Replace("%d" + monsterId1, GetTaskGoodsCount(clickTaskItem.tasknode.Requiretype, monsterId1, clickTaskItem).ToString())
                                  .Replace("%d" + monsterId2, GetTaskGoodsCount(clickTaskItem.tasknode.Requiretype, monsterId2, clickTaskItem).ToString());
        }
        else if (clickTaskItem.tasknode.Requiretype == 7)//杀怪掉落物显示
        {
            long itemId1 = 0;
            long itemId2 = 0;
            if (TaskManager.Single().TaskToSMGoodsDic.ContainsKey(clickTaskItem.missionid))
            {
                itemId1 = TaskManager.Single().TaskToSMGoodsDic[clickTaskItem.missionid].opt4;
                itemId2 = TaskManager.Single().TaskToSMGoodsDic[clickTaskItem.missionid].opt6;
            }

            long trackingIndex = clickTaskItem.tasknode.Opt2;
            if (FSDataNodeTable <CollectNode> .GetSingleton().DataNodeList.ContainsKey(trackingIndex))
            {
                if (FSDataNodeTable <CollectNode> .GetSingleton().DataNodeList[trackingIndex].collectid.GetLength(0) >= 2)
                {
                    itemId1 = FSDataNodeTable <CollectNode> .GetSingleton().DataNodeList[trackingIndex].collectid[0, 0];

                    itemId2 = FSDataNodeTable <CollectNode> .GetSingleton().DataNodeList[trackingIndex].collectid[1, 0];
                }
                else if (FSDataNodeTable <CollectNode> .GetSingleton().DataNodeList[trackingIndex].collectid.GetLength(0) == 1)
                {
                    itemId1 = FSDataNodeTable <CollectNode> .GetSingleton().DataNodeList[trackingIndex].collectid[0, 0];
                }
            }

            tasktargetlab1.text = clickTaskItem.tasknode.Require.Replace("c1", GameLibrary.C1)
                                  .Replace("c2", GameLibrary.C2)
                                  .Replace("c3", GameLibrary.C3)
                                  .Replace("c4", GameLibrary.C4)
                                  .Replace("c5", GameLibrary.C5)
                                  .Replace("c6", GameLibrary.C6)
                                  .Replace("%d" + itemId1, GetTaskGoodsCount(clickTaskItem.tasknode.Requiretype, itemId1, clickTaskItem).ToString())
                                  .Replace("%d" + itemId2, GetTaskGoodsCount(clickTaskItem.tasknode.Requiretype, itemId2, clickTaskItem).ToString());
            //long smonsterId1 = 0;
            //long itemId = 0;//任务详情表中是掉落物的id,但是后端告诉我的是 物品掉落的怪物id
            //if (TaskManager.Single().TaskToSMGoodsDic.ContainsKey(clickTaskItem.missionid))
            //{
            //    smonsterId1 = TaskManager.Single().TaskToSMGoodsDic[clickTaskItem.missionid].opt6;
            //    //杀怪掉落物 后端没有告诉我 需要去获得几个  只告诉我已经获得的数量
            //    //if (TaskManager.Single().TaskSMGoodsCountDic.ContainsKey(smonsterId1))
            //    //{
            //    //    smGoodsCount = TaskManager.Single().TaskSMGoodsCountDic[smonsterId1];
            //    //}
            //}

            //long trackingIndex = clickTaskItem.tasknode.Opt2;
            //if (FSDataNodeTable<CollectNode>.GetSingleton().DataNodeList.ContainsKey(trackingIndex))
            //{
            //    itemId = FSDataNodeTable<CollectNode>.GetSingleton().DataNodeList[trackingIndex].collectid[0, 0];
            //}

            //tasktargetlab1.text = clickTaskItem.tasknode.Require.Replace("c1", GameLibrary.C1)
            //                                             .Replace("c2", GameLibrary.C2)
            //                                             .Replace("c3", GameLibrary.C3)
            //                                             .Replace("c4", GameLibrary.C4)
            //                                             .Replace("c5", GameLibrary.C5)
            //                                             .Replace("c6", GameLibrary.C6)
            //                                             .Replace("%d" + itemId, GetTaskGoodsCount(clickTaskItem.tasknode.Requiretype, itemId, clickTaskItem).ToString());
        }
        else if (clickTaskItem.tasknode.Requiretype == 8)//背包物品数量显示
        {
            long itemId1 = 0;
            long itemId2 = 0;

            Dictionary <long, int> idAndcountDic = clickTaskItem.tasknode.IdAndcountDic;
            List <long>            idArr         = new List <long>();
            foreach (long id in idAndcountDic.Keys)
            {
                idArr.Add(id);
            }
            if (idArr.Count >= 1)
            {
                itemId1 = idArr[0];
            }
            if (idArr.Count >= 2)
            {
                itemId1 = idArr[0];
                itemId2 = idArr[1];
            }
            tasktargetlab1.text = clickTaskItem.tasknode.Require.Replace("c1", GameLibrary.C1)
                                  .Replace("c2", GameLibrary.C2)
                                  .Replace("c3", GameLibrary.C3)
                                  .Replace("c4", GameLibrary.C4)
                                  .Replace("c5", GameLibrary.C5)
                                  .Replace("c6", GameLibrary.C6)
                                  .Replace("c6", GameLibrary.C6)
                                  .Replace("%d" + itemId1, GetTaskGoodsCount(clickTaskItem.tasknode.Requiretype, itemId1, clickTaskItem).ToString())
                                  .Replace("%d" + itemId2, GetTaskGoodsCount(clickTaskItem.tasknode.Requiretype, itemId2, clickTaskItem).ToString());
        }

        tasktargetlab2.text = "";
        tasktargetlab3.text = "";
        //List<ItemData> itemlist = TaskManager.Single().GetItemList(clickTaskItem.tasknode.Reward_prop);
        List <ItemData> itemlist = TaskManager.Single().GetItemList(clickTaskItem.tasknode.Taskid);

        mulitlist.InSize(itemlist.Count, itemlist.Count);
        mulitlist.Info(itemlist.ToArray());
        scrollView.ResetPosition();
    }