Newer
Older
TheVengeance-Project-IADE-Unity2D / Assets / Ink / InkLibs / InkCompiler / Plugins / Plugin.cs
@Rackday Rackday on 29 Oct 804 bytes Major Update
using System;

namespace Ink
{
    public interface IPlugin
    {  
        // Hooks: if in doubt use PostExport, since the parsedStory is in a more finalised state.

        void PreParse(ref string storyContent);
        
        // Hook for immediately after the story has been parsed into its basic Parsed hierarchy.
        // Could be useful for modifying the story before it's exported.
        void PostParse(ref Parsed.Story parsedStory);

        // Hook for after parsed story has been converted into its runtime equivalent. Note that
        // during this process the parsed story will have changed structure too, to take into 
        // account analysis of the structure of Weave, for example.
        void PostExport(Parsed.Story parsedStory, ref Runtime.Story runtimeStory);
    }
}