コード例 #1
0
    public void ClickButton()
    {
        if (dialogue.Dtype == Dialogue.DialogueType.normal)
        {
            if (dialogue.FinishEvent != null)
            {
                currentQuests.RemoveQuestEvent(dialogue.FinishEvent);
            }
            MoveToNextDialogue();
        }
        else if (dialogue.Dtype == Dialogue.DialogueType.Quit)
        {
            if (dialogue.FinishEvent != null)
            {
                currentQuests.RemoveQuestEvent(dialogue.FinishEvent);
            }
            interaction.QuitPanel();
        }
        else if (dialogue.Dtype == Dialogue.DialogueType.Quest)
        {
            if (dialogue.quest != null)
            {
                currentQuests.AddQuest(dialogue.quest.quest);

                //currentDialogue.Current.dialogues.Remove(currentDialogue.FindPreviousDialogue(dialogue.PreviousID));
            }

            if (dialogue.FinishEvent != null)
            {
                currentQuests.RemoveQuestEvent(dialogue.FinishEvent);
            }
            currentDialogue.Current.dialogues.Remove(currentDialogue.FindRootDialogue(dialogue)[0]);
            MoveToNextDialogue();
        }
    }
コード例 #2
0
    public void AddItems(ItemObj item)
    {
        bool IfRemove = false;

        foreach (QuestEventBase questEvent in currentQuests.GetEvents())
        {
            if (questEvent.eventType == EventType.FindObject)
            {
                FindObjectEvent findObjectEvent = (FindObjectEvent)questEvent;
                if (findObjectEvent.ItemName == item.ItemName)
                {
                    findObjectEvent.FinishedAmount++;
                    if (findObjectEvent.FinishedAmount >= findObjectEvent.Amount)
                    {
                        IfRemove         = true;
                        EventToBeRemoved = findObjectEvent;
                    }
                }
            }
        }
        if (IfRemove)
        {
            currentQuests.RemoveQuestEvent(EventToBeRemoved);
        }

        items.Add(item);
    }
コード例 #3
0
    public void AddAmount(MonsterType monsterType)
    {
        int  value    = dictionary[monsterType];
        bool IfRemove = false;

        value++;
        dictionary[monsterType] = value;
        foreach (QuestEventBase questEvent in currentQuests.GetEvents())
        {
            if (questEvent.eventType == EventType.Combat)
            {
                BattleEvent battle = (BattleEvent)questEvent;
                if (battle.monsterType == monsterType)
                {
                    battle.FinishedNumber++;
                    if (battle.Number <= battle.FinishedNumber)
                    {
                        IfRemove = true;
                        events   = battle;
                    }
                }
            }
        }

        if (IfRemove)
        {
            currentQuests.RemoveQuestEvent(events);
        }
    }