- namespace Ink.Parsed
- {
- public class Gather : Parsed.Object, IWeavePoint, INamedContent
- {
- public string name
- {
- get { return identifier?.name; }
- }
- public Identifier identifier { get; set; }
- public int indentationDepth { get; protected set; }
- public Runtime.Container runtimeContainer { get { return (Runtime.Container) runtimeObject; } }
- public Gather (Identifier identifier, int indentationDepth)
- {
- this.identifier = identifier;
- this.indentationDepth = indentationDepth;
- }
- public override Runtime.Object GenerateRuntimeObject ()
- {
- var container = new Runtime.Container ();
- container.name = name;
- if (this.story.countAllVisits) {
- container.visitsShouldBeCounted = true;
- }
- container.countingAtStartOnly = true;
-
- if (content != null) {
- foreach (var c in content) {
- container.AddContent (c.runtimeObject);
- }
- }
- return container;
- }
- public override void ResolveReferences (Story context)
- {
- base.ResolveReferences (context);
- if( identifier != null && identifier.name.Length > 0 )
- context.CheckForNamingCollisions (this, identifier, Story.SymbolType.SubFlowAndWeave);
- }
- }
- }