コード例 #1
0
ファイル: Story.cs プロジェクト: Chtuga/Project-Mistery-Mine
    public List <Story> nonConsequences = new List <Story>(); //Какие события становятся невозможными, если приведётся в исполнение данный журнальный скрипт?

    #endregion                                                //fields

    /// <summary>
    /// Обработать событие "Причинно-следственная связь"
    /// </summary>
    public void HandleStoryEvent(object sender, StoryEventArgs e)
    {
        History history = SpecialFunctions.history;

        if (!storyCondition.storyCondition(storyCondition, e))
        {
            return;
        }

        foreach (StoryAction _action in storyActions)
        {
            _action.storyAction.Invoke(_action);
        }

        history.RemoveCompletedStory(this);
        foreach (Story _script in consequences)
        {
            history.AddStory(_script);
        }
        foreach (Story _script in nonConsequences)
        {
            history.RemoveStory(_script);
        }
    }