コード例 #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
ファイル: QuestListUI.cs プロジェクト: ClaytonBlack/RPG
 private void Redraw()
 {
     transform.DetachChildren();
     foreach (QuestStatus status in questList.GetStatuses())
     {
         QuestItemUI uiInstance = Instantiate <QuestItemUI>(questPrefab, transform);
         uiInstance.Setup(status);
     }
 }
コード例 #4
0
 private void Redraw()
 {
     foreach (Transform item in transform)
     {
         Destroy(item.gameObject);
     }
     foreach (QuestStatus status in _questList.GetStatuses())
     {
         QuestItemUI uiInstance = Instantiate(questPrefab, transform);
         uiInstance.Setup(status);
     }
 }
コード例 #5
0
    void OnEnable()
    {
        transform.DetachChildren();



        foreach (QuestStatus status in questList.GetStatuses())
        {
            QuestItemUI questUI = Instantiate(questPrefab, this.transform);
            questUI.Setup(status);
        }
    }
コード例 #6
0
 public void ShowFinishIcon(QuestItemUI questui)
 {
     FinishQuestuiList.Add(questui);
     if (questui.Quest.Questtype == Quest.QuestType.Combat || questui.Quest.Questtype == Quest.QuestType.GetItem)
     {
         NPCQuestuis.Remove(questui);
         IsQuestTarget = false;
     }
     IsFinishQuest = true;
     HideQuestIcon();
     GameObject questIconPrefab = Resources.Load <GameObject>("Quest/TargetFinish");
     GameObject go = Instantiate(questIconPrefab, transform, false);
 }
コード例 #7
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);
 }
コード例 #8
0
    void Redraw()
    {
        ClearQuests();

        if (questList.GetStatuses() == null)
        {
            return;
        }
        foreach (QuestStatus status in questList.GetStatuses())
        {
            QuestItemUI instance = Instantiate <QuestItemUI>(questItemPrefab, transform);
            instance.Setup(status);
        }
    }
コード例 #9
0
    public void ShowQuestStatusIcon(QuestItemUI questui)
    {
        if (questui.Quest.Questtype == Quest.QuestType.Talk && questui.Quest.StartNPCID == ID)
        {
            NPCTaklQuest.Add(questui);
            IsStartNPC = true;
        }
        else
        {
            NPCQuestuis.Add(questui);
            IsQuestTarget = true;
        }
        GameObject questIconPrefab = Resources.Load <GameObject>("Quest/QuestStatusIcon");
        GameObject go = Instantiate(questIconPrefab, transform, false);

        go.transform.localPosition = Vector3.zero + Vector3.up;
    }
コード例 #10
0
    public void GetItemQuest(QuestItemUI questItemUI)
    {
        switch (GetItemById(questItemUI.Quest.ItemID).Type)
        {
        case Item.ItemType.Consumable:
            FindQuestItem(ConsumablePanel.Instance.slotList);
            break;

        case Item.ItemType.Equipment:
            FindQuestItem(EquipmentPanel.Instance.slotList);
            break;

        case Item.ItemType.Materials:
            FindQuestItem(MaterialsPanel.Instance.slotList);
            break;

        case Item.ItemType.OtherItem:
            FindQuestItem(OtherItemPanel.Instance.slotList);
            break;
        }
    }
コード例 #11
0
    public void AddCanDeleteQuestList(QuestItemUI questui)
    {
        if (QuestItemUIList.Contains(questui))
        {
            if (QuestItemUIList.Count <= 1)
            {
                IsItemQuest = false;
            }
            QuestItemUIList.Remove(questui);
        }
        if (KillEnemyList.Contains(questui))
        {
            if (KillEnemyList.Count <= 1)
            {
                IsKillEnemyQuest = false;
            }
            KillEnemyList.Remove(questui);
        }

        CanDeleteQuestList.Add(questui);
        RemoveFinishQuestList(questui);
    }
コード例 #12
0
 private void Start()
 {
     questItem = GetComponent <QuestItemUI>();
 }
コード例 #13
0
 // Start is called before the first frame update
 void Start()
 {
     questItem = questContainerPrefab.GetComponent <QuestItemUI>();
     UIEventHandler.OnQuestAddedToPlayer += QuestAdded;
 }
コード例 #14
0
 public void RemoveCanDeleteQuestList(QuestItemUI questui)
 {
     CanDeleteQuestList.Remove(questui);
 }
コード例 #15
0
 public void RemoveFinishQuestList(QuestItemUI questui)
 {
     FinishQuestList.Remove(questui);
 }
コード例 #16
0
 public void RemoveStartQuestList(QuestItemUI questui)
 {
     StartQuestList.Remove(questui);
 }
コード例 #17
0
 public void RemoveAcceptQuestList(QuestItemUI questui)
 {
     AcceptQuestList.Remove(questui);
 }