コード例 #1
0
    //這方法將會在可委託任務的NPC對話完成之後[調用]

    public void DelegateQuest()
    {
        if (isFinished == false)
        {
            if (quest.questStatus == Quest.QuestStatus.Waitting)
            {
                //人物將會被委派一個任務
                Player.instance.questList.Add(quest);
                quest.questStatus = Quest.QuestStatus.Accepted;

                //我們人物將會被委托,委派一個任務
                //判斷此任務是否完成
                if (quest.questType == Quest.QuestType.Gathering)
                {
                    questTarget.QuestComplete();
                }
            }
            else
            {
                //已經有這任務 不能重複領取
                Debug.Log(string.Format("QUEST : {0} has accepted already!", quest.questName));
                //Debug.Log("Quest : " + quest.questName + "has accepted already!");
            }
        }
    }
コード例 #2
0
    public void DelegateQuest()
    {
        if (isFinished == false)
        {
            if (quest.questStatus == Quest.QuestStatus.Waitting)
            {
                PlayerQuest.instance.questList.Add(quest);
                quest.questStatus = Quest.QuestStatus.Accepted;

                if (quest.questType == Quest.QuestType.Gathering)
                {
                    questTarget.QuestComplete();
                }
            }
            else
            {
                Debug.Log(string.Format("Quest : {0} is been taken away!", quest.questName));
                //Debug.Log("Object: " + quest.questName + "is been taken away!");
            }
        }
    }
コード例 #3
0
    private void Update()
    {
        if (dialogueBox != null)
        {
            if (dialogueBox.activeInHierarchy)
            {
                if (Input.GetMouseButtonUp(0) && dialogueText.text == dialogueLines[currentLine])
                {
                    if (isScrolling == false)
                    {
                        currentLine++;

                        if (currentLine < dialogueLines.Length)
                        {
                            CheckName();
                            //dialogueText.text = dialogueLines[currentLine];
                            StartCoroutine(ScrollingText());
                        }
                        else
                        {
                            //CheckQuestIsComplete();
                            print(CheckQuestIsComplete());

                            if (CheckQuestIsComplete() && currentQuestable.isFinished == false)//如果NPC說完話以後,我們的任務完成了,開啟祝賀的對話
                            {
                                ShowDialogue(talkable.congratslines, talkable.hasName);
                                currentQuestable.isFinished = true;
                            }
                            else //說完對話,沒有任務沒有完成,返回值為false情況下,關閉對話窗口
                            {
                                dialogueBox.SetActive(false);
                                FindObjectOfType <basemove>().isTalking = true;


                                if (currentQuestable == null)//並不是所有npc都有委派的能力
                                {
                                    Debug.Log("There is no Quest in this person");
                                }
                                else
                                {
                                    currentQuestable.DelegateQuest();
                                    //更新任務ui列表
                                    QuestManager.instance.UpdateQuestList();
                                    //
                                    //
                                    //
                                    if (CheckQuestIsComplete() && currentQuestable.isFinished == false)
                                    {
                                        ShowDialogue(talkable.congratslines, talkable.hasName);
                                        currentQuestable.isFinished = true;
                                    }
                                }

                                if (questTarget != null)
                                {
                                    for (int i = 0; i < Player.instance.questList.Count; i++)
                                    {
                                        if (Player.instance.questList[i].questName == questTarget.questName)
                                        {
                                            //玩家和隱藏人物說話完了,任務完成
                                            questTarget.hasTalked = true;
                                            questTarget.QuestComplete();
                                        }
                                    }
                                }
                                else
                                {
                                    return;
                                }
                            }
                            #region BACKUP

                            /*dialogueBox.SetActive(false);
                             * FindObjectOfType<basemove>().isTalking = true;
                             *
                             *
                             * if (currentQuestable == null)//並不是所有npc都有委派的能力
                             * {
                             *  Debug.Log("There is no Quest in this person");
                             * }
                             * else
                             * {
                             *  currentQuestable.DelegateQuest();
                             *  //更新任務ui列表
                             *  QuestManager.instance.UpdateQuestList();
                             * }
                             *
                             * if (questTarget != null)
                             * {
                             *  //玩家和隱藏人物說話完了,任務完成
                             *  questTarget.hasTalked = true;
                             *  questTarget.QuestComplete();
                             * }
                             * else
                             * {
                             *  return;
                             * }
                             * }*/
                            #endregion
                        }
                    }
                }
            }
        }
    }