using System.Threading.Tasks; using UnityEngine; namespace Rokojori { [CreateAssetMenu( menuName = "Rokojori/Dialog/Dialog Branch" )] public class DialogBranch : DialogBlock { public GameStateCondition condition = null; public DialogBlock branch = null; // no display involved - branching is resolved purely from game state public override Task Run( IDialogDisplay display ) { return Task.FromResult( condition.Evaluate() ? branch : next ); } } }