예제 #1
0
 public void AddFinishQuestList(QuestItemUI questui)
 {
     FinishQuestList.Add(questui);
     if (questui.Quest.Questtype == Quest.QuestType.Talk)
     {
         RemoveStartQuestList(questui);
     }
     else
     {
         RemoveAcceptQuestList(questui);
     }
     if (questui.Quest.Questtype == Quest.QuestType.Talk)
     {
         foreach (NPCUI npc in NPCManager.Instance.QuestNPCList)
         {
             if (questui.Quest.StartNPCID == npc.ID)
             {
                 npc.ShowFinishIcon(questui);
             }
         }
         questui.UpdateShowDes("找到" + NPCManager.Instance.GetNPCByID(questui.Quest.StartNPCID).Name + "并拿到报酬");
     }
     else
     {
         foreach (NPCUI npc in NPCManager.Instance.QuestNPCList)
         {
             if (questui.Quest.NPCID == npc.ID)
             {
                 npc.ShowFinishIcon(questui);
             }
         }
         questui.UpdateShowDes("找到" + NPCManager.Instance.GetNPCByID(questui.Quest.NPCID).Name + "并拿到报酬");
     }
 }
예제 #2
0
    public void AddAcceptQuestList(QuestItemUI questui)
    {
        AcceptQuestList.Add(questui);
        switch (questui.Quest.Questtype)
        {
        case Quest.QuestType.Combat:
            IsKillEnemyQuest = true;
            KillEnemyList.Add(questui);
            foreach (NPCUI npc in NPCManager.Instance.QuestNPCList)
            {
                if (questui.Quest.NPCID == npc.ID)
                {
                    npc.ShowQuestStatusIcon(questui);
                }
            }
            questui.UpdateShowDes(questui.CurrentKillCount);
            break;

        case Quest.QuestType.Talk:
            foreach (NPCUI npc in NPCManager.Instance.QuestNPCList)
            {
                if (questui.Quest.StartNPCID == npc.ID)
                {
                    npc.ShowQuestStatusIcon(questui);
                }
            }
            questui.UpdateShowDes("找到" + NPCManager.Instance.GetNPCByID(questui.Quest.StartNPCID).Name);
            break;

        case Quest.QuestType.GetItem:
            IsItemQuest = true;
            InventoryManager.Instance.GetItemQuest(questui);

            if (QuestItemUIList.Contains(questui) == false)
            {
                QuestItemUIList.Add(questui);
            }
            foreach (NPCUI npc in NPCManager.Instance.QuestNPCList)
            {
                if (questui.Quest.NPCID == npc.ID)
                {
                    if (questui.CurrentCount >= questui.Quest.Count)
                    {
                        AddFinishQuestList(questui);
                    }
                    else
                    {
                        npc.ShowQuestStatusIcon(questui);
                    }
                }
            }
            questui.UpdateShowDes(questui.CurrentCount);
            break;

        case Quest.QuestType.Work:
            break;
        }
    }
예제 #3
0
 public void AddStartQuestList(QuestItemUI questui)
 {
     StartQuestList.Add(questui);
     RemoveAcceptQuestList(questui);
     foreach (NPCUI npc in NPCManager.Instance.QuestNPCList)
     {
         if (questui.Quest.NPCID == npc.ID)
         {
             npc.ShowQuestStatusIcon(questui);
         }
     }
     questui.UpdateShowDes("找到" + NPCManager.Instance.GetNPCByID(questui.Quest.NPCID).Name);
 }