34 lines
1.0 KiB
C#
34 lines
1.0 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using Yarn.Markup;
|
|
|
|
namespace AibisDream
|
|
{
|
|
public static class YarnUtil
|
|
{
|
|
private const string COMMAND_ATTR = "command";
|
|
|
|
private const string OptionAttr = "options";
|
|
|
|
private const string COMMAND_PROP = "name";
|
|
|
|
public static bool HasCommandAttr(this MarkupParseResult text)
|
|
{
|
|
return text.TryGetAttributeWithName(COMMAND_ATTR, out var attribute1) ||
|
|
text.TryGetAttributeWithName(OptionAttr, out var attribute2);
|
|
}
|
|
|
|
public static bool TryGetCommandAttr(this MarkupParseResult text, out string commandName)
|
|
{
|
|
bool res = text.TryGetAttributeWithName(COMMAND_ATTR, out var attribute);
|
|
commandName = res ? attribute.Properties[COMMAND_PROP].StringValue : null;
|
|
return res;
|
|
}
|
|
|
|
public static bool IsOptionAttrLine(this MarkupParseResult text)
|
|
{
|
|
return text.TryGetAttributeWithName(OptionAttr, out var outStr);
|
|
}
|
|
}
|
|
} |