コード例 #1
0
    static public void QuestAccept(string questName)
    {
        if (!database.AcceptableQuest.ContainsKey(questName))
        {
            Debug.LogError(questName + "が受注可能クエスト内に見つかりません");
            return;
        }
        Quest_Behaviour quest = database.AcceptableQuest[questName];

        database.AcceptableQuest.Remove(questName);
        //quest.WhenQuestAccepted?.Invoke();
        var obj = GameObject.Instantiate(quest);

        obj.name = questName;//名前から(Clone)を除く
        OrderedQuest.Add(questName, obj);
        QuestHeaderGenerator.Generate(database.questHeaderPrefab, quest.info.displayName);
        QuestDetailGenerator.Generate(database.questDetailPrefab, quest.info);
        questTab.LinkTabHeader();
    }
コード例 #2
0
    static public void QuestClear(string questName)
    {
        if (OrderedQuest.ContainsKey(questName))
        {
            OrderedQuest[questName].WhenQuestCleared?.Invoke();
            var quest = OrderedQuest[questName];

            OrderedQuest.Remove(questName);
            ClearedQuest.Add(questName, quest);

            GameObject.Destroy(quest);
            QuestHeaderGenerator.EnCleared(quest.info.displayName);
        }
        else
        {
            Debug.LogError("受注済みクエストに" + questName + "がない状態でQuestClearが呼ばれました");
            return;
        }
    }
コード例 #3
0
 DS.UI.Tab questTab = null;          //HeaderとDetailを動的生成した後にLinkTabHeaderを呼ぶため QuestManagerの初期化用
 private void Start()
 {
     QuestManager.Init(questHeaderParent, questTab);
     QuestHeaderGenerator.Init(questHeaderParent);
     QuestDetailGenerator.Init(questDetailParent);
 }